使用偏移量查找空单元格并粘贴值的范围
我有一个excel工作表(XYZ)中的值的向量(C8:AM8)。 使用VBA代码,我需要做的是复制和粘贴从C11开始的那些单元格,但是如果C11有一个值,那么我需要偏移1行并在C12中粘贴上面的值(C8:AM8),或者如果C12有一个值,那么下一个空行。
基本上,现在,我有这样的东西….
Dim CellName As String Dim CheckCell As Range Dim RowA As Range CellName = "C8:AM8" For Each CheckCell In Sheets("XYZ").Range("C11:C50") If Not IsEmpty(CheckCell.Value) Then Set RowC = CheckCell.Offset(1, 0) Else Range(CellName).Copy Range("C11" + RowC) End If Next CheckCell
我知道最小的问题在这里:
Range(CellName).Copy Range("C11" + RowC)
我是VBA的新手,所以我不确定使用正确的语法。 我已经尝试了括号内的RowC,括号外,引号内,外引号等多个排列组合,我似乎无法指定它。 我认为这个问题很简单,但我显然缺less重要的东西,似乎无法find我需要的在线。
任何帮助将非常感激。
谢谢!
我会去:
With Sheets("XYZ") .Range("C8:AM8").Copy .Range("C" & WorksheetFunction.Max(11, .Cells(.Rows.count, "C").End(xlUp).Offset(1).Row)) End With
以下行复制您的范围在行C
的最后一个非空单元格之后:
Worksheets("XYZ").Range("C8:AM8").Copy Worksheets("XYZ").Range("C1000000").End(xlUp).Offset(1)
你需要把这一行代码:
Range(CellName).Copy Range("C11" + RowC)
喜欢这个:
Dim my_row as integer my_row=11 Range(CellName).Copy Range("C" & (my_row + RowC))