|
楼主 |
发表于 2015-11-29 00:18
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
Sub 按钮1_Click()
Dim DetailArr As Variant, ResultArr() As Variant
Dim lngrow As Long
Dim IntCount As Integer, TemNum As Integer
DetailArr = Worksheets("收支明细").Range("A3").CurrentRegion
With Worksheets("银行存款日记账")
.UsedRange.Offset(2, 0).Clear
For lngrow = LBound(DetailArr) To UBound(DetailArr)
If DetailArr(lngrow, 7) = .Range("b1").Value And DetailArr(lngrow, 1) = .Range("f1") Then
IntCount = IntCount + 1
ReDim Preserve ResultArr(1 To 23, 1 To IntCount)
ResultArr(1, IntCount) = .Range("p1")
ResultArr(2, IntCount) = "RMB|人民币"
ResultArr(4, IntCount) = DetailArr(lngrow, 1)
ResultArr(5, IntCount) = DetailArr(lngrow, 1)
ResultArr(10, IntCount) = DetailArr(lngrow, 5)
If DetailArr(lngrow, 8) > 0 Then
ResultArr(14, IntCount) = DetailArr(lngrow, 8)
ElseIf DetailArr(lngrow, 8) < 0 Then
ResultArr(15, IntCount) = DetailArr(lngrow, 8) * -1
End If
If DetailArr(lngrow, 9) > 0 Then
ResultArr(15, IntCount) = DetailArr(lngrow, 9)
ElseIf DetailArr(lngrow, 9) < 0 Then
ResultArr(14, IntCount) = DetailArr(lngrow, 9) * -1
End If
ResultArr(16, IntCount) = "1"
ResultArr(17, IntCount) = "0"
ResultArr(18, IntCount) = "01|公司汇率"
ResultArr(21, IntCount) = "0"
End If
Next
If IntCount = 0 Then MsgBox "未查找到符合要求的数据": Exit Sub
.Range("A3").Resize(IntCount, 23) = Application.WorksheetFunction.Transpose(ResultArr)
End With
End Sub
网上找的代码,修改了一下,现在唯一的问题是DetailArr(lngrow, 1) = .Range("f1") 直接加month()提示错误,求指教,多谢 |
|