Excel VBA用于范围A中的每个单元格,将单元格B中的值复制到新工作表

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

我在表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.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