我正在尝试在宏中向右移动一个单元格。
if(x1 - x2 > 0){
$(id).children('a[data-slide="next"]').click();
} else {
$(id).children('a[data-slide="prev"]').click();
}
SendKeys似乎不是这个问题的答案,因为它将TAB或RIGHT箭头直接放入下一行宏代码中,仅模拟键盘敲击。还有另一种方法可以将我的细胞选择从Bn的末尾移动到Cn到Cn,其中n是未知的吗?
答案 0 :(得分:2)
我认为你正在遵循以下代码,代码注释中的解释:
Dim LastRow As Long
Dim LastCellColC As Range
' find last row with data in column "B"
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Set LastCellColC = Range("B" & LastRow).Offset(0, 1)
' if you realy need to use Select
LastCellColC.Select
我认为这就是你真正追求的,将公式从“C5”复制到列“C”中的最后一个单元格(根据“B”栏中数据的最后一行)
Dim LastRow As Long
' find last row with data in column "B"
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
' copying the formula from "C5" all the way to the last cell
Range("C5").AutoFill Destination:=Range("C5:C" & LastRow), Type:=xlFillDefault
答案 1 :(得分:2)
引用活动单元格右侧的一个单元格:
ActiveCell.Offset(0, 1)
要将单元格的地址返回到右侧:
MsgBox ActiveCell.Offset(0, 1).Address
向右移动选择一次:
ActiveCell.Offset(0, 1).Select
您的答案中的代码,但整理了一下:
Range("C5").Copy
Range("B5").End(xlDown).Offset(columnoffset:=1).Activate
Range(Selection, Selection.End(xlUp)).Select
它并没有做任何事情。它复制但不粘贴。
答案 2 :(得分:2)
您的代码可以归结为:
range("B5").End(xlDown).Offset(columnoffset:=1).value = range("C5").value
或者,如果您只需要粘贴值:
MAX(CAST(REPLACE(REPLACE(name, 'CA', ''),'-S','') AS INT)) + 1
答案 3 :(得分:1)
这是我的问题的解决方法。
Range("C5").Select
Selection.Copy
Range("B5").Select
Selection.End(xlDown).Select
ActiveCell.Offset(columnoffset:=1).Activate
Range(Selection, Selection.End(xlUp)).Select