Vba 是否将另一个常量/列添加到此宏?
它现在做的是将A:E列中输入的内容添加到F列中的任何内容,并将A:E保持不变。这比复制和粘贴要容易得多,但我想添加另一行,以便A:F是常量,将列表切换到G列 对于ex,一旦输出Vba 是否将另一个常量/列添加到此宏?,vba,excel,Vba,Excel,它现在做的是将A:E列中输入的内容添加到F列中的任何内容,并将A:E保持不变。这比复制和粘贴要容易得多,但我想添加另一行,以便A:F是常量,将列表切换到G列 对于ex,一旦输出 A1,B1,C1,D1,E1,F1 A1,B1,C1,D1,E1,F2 A1,B1,C1,D1,E1,F3 etc. 我只想添加另一个列,使它 A1,B1,C1,D1,E1,F1,G1 A1,B1,C1,D1,E1,F1,G2 A1,B1,C1,D1,E1,F1,G3 这就是我目前所拥有的 Dim LastRowIp
A1,B1,C1,D1,E1,F1
A1,B1,C1,D1,E1,F2
A1,B1,C1,D1,E1,F3
etc.
我只想添加另一个列,使它
A1,B1,C1,D1,E1,F1,G1
A1,B1,C1,D1,E1,F1,G2
A1,B1,C1,D1,E1,F1,G3
这就是我目前所拥有的
Dim LastRowIput As String
With Sheets("Input")
LastRowInput = .Cells(.Rows.Count, "C").End(xlUp).Row
End With
For I = 2 To LastRowInput
Dim LastRowLoc As String
With Sheets("Output")
LastRowLoc = .Cells(.Rows.Count, "F").End(xlUp).Row + 1
End With
Sheets("Input").Select
Range("F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Output").Select
Range("F" & LastRowLoc).Select
ActiveSheet.Paste
Sheets("Input").Select
Range("A" & I & ":" & "E" & I).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Output").Select
Dim LastRow As String
With ActiveSheet
LastRow = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
End With
Range("A" & LastRow).Select
ActiveSheet.Paste
Dim LastRowLoc2 As String
With Sheets("Output")
LastRowLoc2 = .Cells(.Rows.Count, "F").End(xlUp).Row
End With
Application.CutCopyMode = False
Range("A" & LastRow & ":" & "E" & LastRowLoc2).Select
Selection.FillDown
Sheets("Input").Select
Next I
似乎您希望将A:G中的行从输入复制到输出,在输出中为G中的每一行扩展A:F
Dim i As Long, lastRowInput As Long, nextRowOutput As Long
Dim wso As Worksheet
Set wso = Worksheets("Output")
With Sheets("Input")
lastRowInput = .Cells(.Rows.Count, "C").End(xlUp).Row
For i = 2 To lastRowInput
nextRowOutput = wso.Cells(.Rows.Count, "G").End(xlUp).Row + 1
.Range(.Cells(2, "G"), .Cells(2, "G").End(xlDown)).Copy _
Destination:=wso.Cells(nextRowOutput, "G")
.Range("A" & i & ":" & "F" & i).Copy _
Destination:=wso.Range(wso.Cells(nextRowOutput, "A"), _
wso.Cells(wso.Cells(.Rows.Count, "G").End(xlUp).Row, "F"))
Next i
End With
我删除了所有涉及和方法的方法,支持直接引用
输入工作表中的样本数据
输出工作表的示例结果您似乎希望将A:G中的行从输入复制到输出,并在输出中为G中的每一行展开A:F
Dim i As Long, lastRowInput As Long, nextRowOutput As Long
Dim wso As Worksheet
Set wso = Worksheets("Output")
With Sheets("Input")
lastRowInput = .Cells(.Rows.Count, "C").End(xlUp).Row
For i = 2 To lastRowInput
nextRowOutput = wso.Cells(.Rows.Count, "G").End(xlUp).Row + 1
.Range(.Cells(2, "G"), .Cells(2, "G").End(xlDown)).Copy _
Destination:=wso.Cells(nextRowOutput, "G")
.Range("A" & i & ":" & "F" & i).Copy _
Destination:=wso.Range(wso.Cells(nextRowOutput, "A"), _
wso.Cells(wso.Cells(.Rows.Count, "G").End(xlUp).Row, "F"))
Next i
End With
我删除了所有涉及和方法的方法,支持直接引用
输入工作表中的样本数据
输出工作表的示例结果一个可以帮助您了解其工作原理的快速说明是。
将LastRowI设置为字符串大小
或将LastRowInput设置为字符串大小
?(注意拼写和变量类型)查找/替换所有F
到G
,然后查找/替换所有E
到F
,这就是我尝试的。不起作用,它只是用F作为变量,我不理解循环。从输入中获取所有F,并从第一行开始将其放入输出。然后你复制a:E的一行,做同样的事情,然后填充到F的范围。但是你循环,对下一行做同样的事情。循环的原因对我来说毫无意义。一个可能有助于您了解其工作原理的简要说明是。Dim LastRowIput As String
或Dim LastRowIput As Long
?(注意拼写和变量类型)查找/替换所有F
到G
,然后查找/替换所有E
到F
,这就是我尝试的。不起作用,它只是用F作为变量,我不理解循环。从输入中获取所有F,并从第一行开始将其放入输出。然后你复制a:E的一行,做同样的事情,然后填充到F的范围。但是你循环,对下一行做同样的事情。你为什么循环对我来说毫无意义。