【发布时间】:2012-10-13 06:03:53
【问题描述】:
我正在将一个范围复制到另一个工作簿的下一个空单元格中。以下代码;
Public Sub InvoicedInstallments()
Dim rng1 As Range
Dim rng2 As Range
Dim rng3 As Range
Dim fname As String
Dim mt As String, yr As String
mt = MonthBox.Value
yr = YearBox.Value
fname = yr & mt & "DB" & ".xlsx"
Set rng1 = Workbooks("201209TB.xlsx").Worksheets("excel").Range("E348")
Set rng2 = Workbooks("201209TB.xlsx").Worksheets("excel").Range("E295")
Set rng3 = Workbooks(fname).Worksheets("UK monthly dashboard").Cells(1, Columns.Count).End(xlToRight).Select
rng3.Value = (rng1.Value + rng2.Value)
rng3.Value = rng3.Value * -1
rng3.Value = Round(rng3.Value / 1000, 0)
End Sub
已经上线了
Set rng3 = Workbooks(fname).Worksheets("UK monthly dashboard").Cells(1, Columns.Count).End(xlToRight).Select
改为
Set rng3 = Workbooks(fname).Worksheets("UK monthly dashboard").Range("AA49").End(xlToRight).Offset(0, 1)
现在这会将数据放入下一个空单元格(这是我想要的),但如果您再次运行代码,它不会将信息放入下一个空单元格。
我想这只是一些简单的事情,但我无法发现它
它正在复制到我怀疑存在很多问题的合并单元格中 (请参阅下面的 cmets 以确认这一点)
【问题讨论】:
-
范围是201209TB中单元格E348 + E295的总和,它进入第49行的下一个空白单元格
-
Range("AA49") -> 这就是为什么,你总是从同一个位置开始
-
那么我如何将其更改为该行中的下一个空白单元格?
-
好的,所以我对其进行排序并粘贴到下一个空单元格中设置 rng2 = Workbooks(fname).Worksheets("UK Monthly dashboard").Cells(55, Columns.Count)。 End(xlToLeft).Offset(0, 1) 工作正常,但由于合并单元格,这会将范围复制到下一个单元格