Excel VBA用于范围A中的每个单元格,将单元格B中的值复制到新工作表
我在表1中有如下值: A1=23,B1=M,C1=256 对于范围A中的每个值,我需要将值从单元格B1和C1复制到表2的单元格A6和D7中 非常感谢你的帮助 你好,是的。我试着让它像:Excel VBA用于范围A中的每个单元格,将单元格B中的值复制到新工作表,excel,vba,Excel,Vba,我在表1中有如下值: A1=23,B1=M,C1=256 对于范围A中的每个值,我需要将值从单元格B1和C1复制到表2的单元格A6和D7中 非常感谢你的帮助 你好,是的。我试着让它像: Sub Get_Data() Dim lastrowDB As Long, lastrow As Long Dim arr1, arr2, i As Integer With Sheets("Hárok2") lastrowDB = .Cells(.Rows
Sub Get_Data()
Dim lastrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
With Sheets("Hárok2")
lastrowDB = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With
Sheets("Hárok1").Select
arr1 = Array("B", "C", "D")
Sheets("Hárok2").Select
arr2 = Array("B3:C3", "B7:C7", "E7:F7")
For i = LBound(arr1) To UBound(arr1)
With Sheets("Hárok1")
lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(3, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("Hárok2").Range(arr2(i) & lastrowDB).PasteSpecial xlPasteValues
End With
'Sheets("Hárok2").Select
'Range("A1:L5").PrintOut
Next
Application.CutCopyMode = False
End Sub
但是它给了我一个错误:Sheets(“Hárok2”).Range(arr2(i)和lastrowDB)。粘贴特殊的xlPasteValues数组在这里我认为太过了。我猜你希望它从A6和D7继续向下。显然,根据需要更改工作表。这是从ws1(源)拉到ws2(目标)
请看,你有实际问题吗?
Sub denn()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Long
Set ws1 = WorkSheets("Sheet4")
Set ws2 = WorkSheets("Sheet5")
lastRow = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow
ws2.Cells(i + 5, 1) = ws1.Cells(i, 2).Value
ws2.Cells(i + 6, 4).Value = ws1.Cells(i, 3).Value
Next
End Sub