Excel 更正宏以选择第n列而不是第n行

Excel 更正宏以选择第n列而不是第n行,excel,vba,Excel,Vba,请帮助编辑此代码以处理列而不是行。我尝试在VBA“行”->“列”中搜索和替换,但代码仅选择第一列。下面是原始代码。谢谢 Sub EveryOtherRow() Dim rng As Range Dim InputRng As Range Dim OutRng As Range Dim xInterval As Integer xTitleId = "KutoolsforExcel" Set InputRng = Application.Selection Set InputRng = Appli

请帮助编辑此代码以处理列而不是行。我尝试在VBA“行”->“列”中搜索和替换,但代码仅选择第一列。下面是原始代码。谢谢

Sub EveryOtherRow()
Dim rng As Range
Dim InputRng As Range
Dim OutRng As Range
Dim xInterval As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xInterval = Application.InputBox("Enter row interval", xTitleId, Type:=1)
For i = 1 To InputRng.Rows.Count Step xInterval + 1
Set rng = InputRng.Cells(i, 1)
If OutRng Is Nothing Then
    Set OutRng = rng
Else
    Set OutRng = Application.Union(OutRng, rng)
End If
Next
OutRng.EntireRow.Select
End Sub
试试这个:

Sub EveryOtherColumn()
变暗rng As范围
变暗输入范围
变暗范围
朦胧的时光一样长,我一样长
Dim xTitleId作为字符串
xTitleId=“KutoolsforExcel”
设置输入=应用程序。选择
设置inputng=Application.InputBox(“范围:”,xTitleId,inputng.Address,类型:=8)
xInterval=Application.InputBox(“输入行间隔”,xTitleId,类型:=1)
对于i=1到inputng.Columns.Count步骤xInterval+1
设置rng=输入单元格(1,i)
如果OutRng不算什么,那么
放线rng=rng
其他的
Set-OutRng=Application.Union(OutRng,rng)
如果结束
下一个
OutRng.EntireRow.Select
端接头

@BigBen谢谢!你是对的!我编辑了代码,还声明了
I
。我知道你在那里做了什么,谢谢。(1,i)表示列和行,对吗?@PavloKobzar
Cells
接受两个参数,第一个表示行,第二个表示列(将其视为矩阵)。还可以循环使用
inputng.Columns.Count
而不是
inputng.Rows.Count