【问题标题】:First Empty cell in row行中的第一个空单元格
【发布时间】: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) 工作正常,但由于合并单元格,这会将范围复制到下一个单元格

标签: excel vba range cell rows


【解决方案1】:

我猜,你的问题会在这一行:

rng3.Value = Round(rng3.Value / 1000, 0)

但是这里抛出了错误

Set rng3 = Workbooks(fname).Worksheets("UK monthly dashboard").Cells(1, Columns.Count).End(xlToRight).Select

这是因为select。

Select,选择,它不会返回一个范围对象。

改用这个

Set rng3 = Workbooks(fname).Worksheets("UK monthly dashboard").Cells(1, Columns.Count).End(xlToRight)

但是,我不确定这是否是您想要的,因为您可能只是说

Set rng3 = Workbooks(fname).Worksheets("UK monthly dashboard").Range("IV1")

因为这就是你得到的——至少,如果你只使用.xlsx

【讨论】:

  • 这已经停止了错误但数据没有出现在工作表上
  • 我可能没有很好地沟通,我所拥有的是 2012 年每个月的一排数据,当代码运行时,我希望它查找下一个空白单元格(这将是下个月)并将数据放在那里。如果每个月的单元格都一样,这会很好,但它会不断变化
  • @JamesDev - 请查看我的编辑,使用调试器 - 我有一种强烈的感觉,你现在不知道你正在引用/使用什么。说出你想要达到的目标,否则很难猜出你的目标;)
  • @JamesDev - 好的,我确实在您最初的帖子中解决了您唯一的问题,但是,正如我所怀疑的,您正在处理将两个文件的数据合并到每月仪表板的整个任务,好吧,通过解决这个问题你会学到很多东西,SO 和 SU 会为你提供很多类似的例子——只要把它们应用到你的情况中。
  • 您解决了非常感谢的错误,但整体问题仍然没有进一步
猜你喜欢
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多