使用VBA将数据传输到工作表

时间:2017-07-14 12:50:26

标签: excel vba excel-vba

Sub Consume_RoundedRectangle111_Click()
Dim i As Long, lastrow As Long, n As Long
Dim vResult()
Dim myWs As Worksheet

Set myWs = ThisWorkbook.Sheets(Range("B9").Text)

If ActiveSheet.Range("b4") = "" Or ActiveSheet.Range("b5") = "" Or ActiveSheet.Range("b6") = "" Or ActiveSheet.Range("b7") = "" Or ActiveSheet.Range("b8") = "" Or ActiveSheet.Range("b9") = "" Or ActiveSheet.Range("d4") = "" Or ActiveSheet.Range("d6") = "" Or ActiveSheet.Range("d7") = "" Or ActiveSheet.Range("d8") = "" Then
    MsgBox "Please complete all fields!"
Exit Sub
End If

'lastrow = Sheets("database").Cells(Cells.Rows.Count, 2).End(xlUp).Row + 1
i = 10
Do While Cells(i, 3) <> "" And i < 30
    n = n + 1
    ReDim Preserve vResult(1 To 9, 1 To n)
    vResult(1, n) = ActiveSheet.Range("E7") ' Consumer
    vResult(2, n) = ActiveSheet.Range("B4") ' Date
    vResult(3, n) = ActiveSheet.Range("E4") ' Ref
    vResult(4, n) = ActiveSheet.Range("B5") ' Code
    vResult(5, n) = ActiveSheet.Range("B6") ' Description
    vResult(6, n) = ActiveSheet.Range("E6") ' U/M
    vResult(7, n) = ActiveSheet.Range("B7") ' Qty
    vResult(8, n) = ActiveSheet.Range("B8") ' Price
    vResult(9, n) = ActiveSheet.Range("E8") ' Transaction
    i = i + 1

Loop

myWs.Range("a" & Rows.Count).End(xlUp)(2).Resize(n, 9) = WorksheetFunction.Transpose(vResult)

MsgBox "Saved Succesfully!"
ThisWorkbook.Save
End Sub

这是我所知道的代码,它将数据从一个工作表复制到另一个名为database的工作表。但我现在想要的是将数据传输或复制到由单元格确定的工作表。假设我有一个数据要复制到另一个工作表中,而在单元格A5中它包含&#34; NBB&#34;,当我运行宏时,数据将被复制到名为&#34;的工作表中。 NBB&#34 ;.对不起,我只是很难用英语解释这个......

1 个答案:

答案 0 :(得分:0)

我觉得你要求的不仅仅是我要提供的,所以如果这不能完全回答你的需求,请在下面评论,我会更新我的答案。

如果单元格A5具有您要导航到的工作表名称,则将数据复制到该工作表很容易。做一些像:

ThisWorkbook.ActiveSheet.Range("A1:A20").Copy Destination:=Worksheets(Range("A5").Text).Range("A1:A20")

这将使用您正在处理的ActiveSheet,使用范围A1:A20,将其复制并粘贴到从A1:A20拉出的工作表名称上的范围Range("A5").Text。我希望其中一些需要进行编辑以提取您想要的数据(您希望从哪个范围提取数据)并将其粘贴到您想要的范围内。

有关其他信息,请查看MSDN Range.Copy Method,因为它可能包含使用Range.Copy时的提示或有用信息。这也显示了Destination参数的工作原理,这就是我用来显示您将数据粘贴到哪个工作表和范围的内容。

如果有帮助,请告诉我。