每个选定单元格的Excel VBA循环macros
我有一个macros只是改变了一个选定的行中的单元格的值。
Cells(Application.ActiveCell.Row, 20).Select ActiveCell.Value = "withdraw"
不过,我希望能够select一些行,不一定是连续的,例如从下面的例子中selectA1,A3和A4,并为每个select单元格设置macros改变列B,
AB 1 Brian 2 James 3 Jenny 4 Frank 5 Tim
变
AB 1 Brian Withdraw 2 James 3 Jenny Withdraw 4 Frank Withdraw 5 Tim
我将如何去从选定的范围获取活动行,并循环每行的macros?
以下是您可能的解决scheme:
Private Sub a() Dim sSel As String Dim aSel As Variant Dim rX As Range Dim i As Integer Dim j As Integer sSel = Selection.Address aSel = Split(sSel, ",") For i = 0 To UBound(aSel) Set rX = Application.ActiveCell.Parent.Range(CStr(aSel(i))) For j = 1 To rX.Rows.Count rX.Rows(j).EntireRow.Cells(1, 2) = "withdraw" Next Next End Sub
请不要这样,您可以select任何地方和任何行的任何数量的单元格。
这个简单的代码应该为你工作:
Sub Button1_Click() Dim r As Range Set r = Selection r.Offset(, 1) = "Withdraw" End Sub