vba 自动复制单元格,如何只对某一列有效?
本帖最后由 denga9502 于 2022-3-28 16:28 编辑Private Sub CommandButton1_Click()
r = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
If Sheet1.Cells(r, 2) <> "" Then r = r + 1
Sheet1.Cells(r, 2) = ActiveCell
ActiveCell.Activate
End Sub
range().EntireRow这个吧 看不太明白你想达到的效果,我先猜你代码的意思
第一步取有内容最后一行的行号
然后判断最后一行的最后一列是否为空,不为空就行数加一
没有endif没法判断下面两句是否包含在判断过程之内
最后两句应该是将当前激活单元格的内容复制到整个工作表最后一行的第二列吧,
如果你是想针对激活单元格只对某一列有效,
可以加一个判断语句的
If ActiveCell.Column = 2 Then
Sheet1.Cells(r, 2) = ActiveCell
End If 本帖最后由 denga9502 于 2022-3-28 16:12 编辑
dutyzqly 发表于 2022-3-28 11:31
看不太明白你想达到的效果,我先猜你代码的意思
第一步取有内容最后一行的行号
然后判断最后一行的最后一 ...
就是想在某一列中实现对选中的不为空单元格自动复制到同列最近一个空单元格并加上自定后缀。 ActiveCell.Copy ActiveCell.End(4).Offset(1) 如果知道如何弄以后请教一下我 Private Sub CommandButton1_Click()
r = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
If Sheet1.Cells(r, 2).value <> "" Then r = r + 1
Sheet1.Cells(r, 2) = ActiveCell
Sheet1.Cells(r, 2).Activate
End Sub Sub copyCell()
If ActiveCell Is Nothing Or ActiveCell.Text = "" Then
Exit Sub
End If
Dim r As Integer, c As Integer
r = ActiveCell.Row
c = ActiveCell.Column
Do While True
r = r + 1
If Cells(r, c).Text = "" Then
Cells(r, c) = ActiveCell
Exit Do
End If
Loop
End Sub
denga9502 发表于 2022-3-28 12:10
就是想在某一列中实现对选中的不为空单元格自动复制到同列最近一个空单元格并加上自定后缀。
可以了,前面位置没放对{:1_907:}
页:
[1]
2