Excel 如何从第3行开始选择整个列-vba
嘿,伙计们,这是我的代码,它正在工作,但不是选择整个列,而是选择第3行之后的所有列buter, 例如,我想选择所有b列,但在B3之后 我希望这是有道理的 有什么想法吗Excel 如何从第3行开始选择整个列-vba,excel,vba,if-statement,for-loop,Excel,Vba,If Statement,For Loop,嘿,伙计们,这是我的代码,它正在工作,但不是选择整个列,而是选择第3行之后的所有列buter, 例如,我想选择所有b列,但在B3之后 我希望这是有道理的 有什么想法吗 Sub HorizontalLoop() Dim lCol As Long Sheets("output").Select For lCol = 1 To 100 Dim inputrange As String If Not IsEmpty(Cells(lCol).Value) Then inputrange = Cells
Sub HorizontalLoop()
Dim lCol As Long
Sheets("output").Select
For lCol = 1 To 100
Dim inputrange As String
If Not IsEmpty(Cells(lCol).Value) Then
inputrange = Cells(1, lCol).Value
Cells(1, lCol).EntireColumn.Select
Selection.Copy
Sheets("input").Select
ActiveSheet.range(inputrange).Select
ActiveSheet.Paste
Sheets("output").Select
End If
Next lCol
End Sub
任何帮助都将不胜感激:)
谢谢
H将A1更改为您的目的地范围
Sub test()
Sheets("input").Range(Cells(3, "B") _
, Cells(Sheets("input").Cells.Rows.Count, "B")).Copy Sheets("output").Range("A1")
End Sub
@芬德温多的权利——已经被问了很多次了
thiswook.Worksheets(“output”).Cells(1,lcol).entireclumn.Resize(Rows.Count-3).Offset(3).选择
不过,无需选择图纸:
创建一张新图纸并选中该图纸,然后使用以下代码:
ThisWorkbook.Worksheets("output").Cells(1, lcol).EntireColumn.Resize(Rows.Count - 3).Offset(3).Copy _
Destination:=ThisWorkbook.Worksheets("input").Cells(4, 2)
它将从输出复制到输入,而无需选择工作表-只需参考代码中的工作表即可。以下是您的代码(以及您的答案):
Sub HorizontalLoop()
Dim lCol As Long
Dim inputrange As String
With Sheets("output")
For lCol = 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column
If Not IsEmpty(.Cells(1, lCol).Value) Then
inputrange = .Cells(1, lCol).Value
.Range(.Cells(3, lCol), .Cells(.Rows.Count, lCol)).Copy Sheets("input").Range(inputrange)
End If
Next lCol
End With
End Sub
尽量避免使用
此外,使用两张床单时,最好确保正确的亲子关系。With块及其相应的
允许此操作。这已被多次询问。或者你可以在谷歌XDI道歉上找到它,如果它被问了这么多次,但当你刚接触VBA时,有时在别人的代码中很难理解!很抱歉这么烦人!但是谢谢所有帮助过你的人