我正在复制一个VBA脚本,用于将4个类似数据的标签整合到一个标签中。在复制/粘贴部分遇到一点麻烦,因为此代码忽略了Col A上的空白单元格。我试图通过使用代码来找到基于Col C的范围,然后抵消结果范围以添加回Col A和Col B.虽然它并没有真正起作用,但我不确定如何继续。
coopy + paste的原始脚本:
'Data range in worksheet - starts from second row as first rows are the header rows in all worksheets
Set rng = sht.Range(sht.Cells(2, 1), sht.Cells(65536, 1).End(xlUp).Resize(, colCount))
我的修改:
'Data range in worksheet - starts from second row as first rows are the header rows in all worksheets
Set rng = sht.Range(sht.Cells(2, 3), sht.Cells(65536, 3).End(xlUp).Resize(, colCount))
Set rng = rng.Offset(-2,).Resize(,2)
数据看起来像这样。我想要复制到C24,但由于Col A中的空白单元格,脚本仅复制到C15。
答案 0 :(得分:0)
你有:
Set rng = sht.Range(sht.Cells(2, 3), sht.Cells(65536, 3).End(xlUp).Resize(, colCount))
Set rng = rng.Offset(-2,).Resize(,2)
rng
的左上角单元格为(2,3)或A1表示法中的C2,然后偏移(-2,0),左上角单元格为(0,3) 。整个工作表中的左上角单元格始终为(1,1),因此任何小于1的行或列索引都是错误。
当你试图按列偏移时,你可能想要(假设colCount设置正确 - 它看起来应该等于3):
Set rng = sht.Range(sht.Cells(2, 3), sht.Cells(65536, 3).End(xlUp))
Set rng = rng.Offset(0, -2).Resize(, colCount)
我已将行偏移量指定为0而不是将其留空,因为对我来说,它更容易阅读,但其他人可能更喜欢Offset(, -2)
。调整大小的方式不同,因此我们需要将行参数留空一个