使用VBA将数据传输到图纸 Sub-consum\u RoundedRectangle111\u Click() 昏暗的i一样长,最后一排一样长,n一样长 Dim vResult() 将myWs设置为工作表 设置myWs=ThisWorkbook.Sheets(范围(“B9”).Text) 如果ActiveSheet.Range(“b4”)或ActiveSheet.Range(“b5”)或ActiveSheet.Range(“b6”)或ActiveSheet.Range(“b7”)或ActiveSheet.Range(“b8”)或ActiveSheet.Range(“b9”)或ActiveSheet.Range(“d4”)或ActiveSheet.Range(“d6”)或ActiveSheet.Range(“d7”)或ActiveSheet.Range(“d8”),则 MsgBox“请填写所有字段!” 出口接头 如果结束 'lastrow=Sheets(“数据库”)。单元格(Cells.Rows.Count,2)。结束(xlUp)。行+1 i=10 当细胞(i,3)“、i

使用VBA将数据传输到图纸 Sub-consum\u RoundedRectangle111\u Click() 昏暗的i一样长,最后一排一样长,n一样长 Dim vResult() 将myWs设置为工作表 设置myWs=ThisWorkbook.Sheets(范围(“B9”).Text) 如果ActiveSheet.Range(“b4”)或ActiveSheet.Range(“b5”)或ActiveSheet.Range(“b6”)或ActiveSheet.Range(“b7”)或ActiveSheet.Range(“b8”)或ActiveSheet.Range(“b9”)或ActiveSheet.Range(“d4”)或ActiveSheet.Range(“d6”)或ActiveSheet.Range(“d7”)或ActiveSheet.Range(“d8”),则 MsgBox“请填写所有字段!” 出口接头 如果结束 'lastrow=Sheets(“数据库”)。单元格(Cells.Rows.Count,2)。结束(xlUp)。行+1 i=10 当细胞(i,3)“、i,vba,excel,Vba,Excel,这就是我所知道的代码,它将数据从一张表复制到另一张表,称为数据库。但我现在想要的是将数据传输或复制到由单元格确定的工作表中。假设我有一个数据要复制到另一个工作表中,在单元格A5中它包含“NBB”,当我运行宏时,数据将复制到名为“NBB”的工作表中。很抱歉,我只是很难用英语解释这一点…我觉得你要求的比我将要提供的更多,因此如果这不能完全满足你的需要,请在下面发表评论,我将更新我的答案 如果单元格A5具有要导航到的工作表名称,那么将数据复制到该工作表就足够容易了。只需做如下操作: Sub Consu

这就是我所知道的代码,它将数据从一张表复制到另一张表,称为数据库。但我现在想要的是将数据传输或复制到由单元格确定的工作表中。假设我有一个数据要复制到另一个工作表中,在单元格A5中它包含“NBB”,当我运行宏时,数据将复制到名为“NBB”的工作表中。很抱歉,我只是很难用英语解释这一点…

我觉得你要求的比我将要提供的更多,因此如果这不能完全满足你的需要,请在下面发表评论,我将更新我的答案

如果单元格
A5
具有要导航到的工作表名称,那么将数据复制到该工作表就足够容易了。只需做如下操作:

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
这将获取您正在处理的活动工作表,获取范围
A1:A20
,将它们复制并粘贴到从
Range(“A5”)提取的工作表名称上的范围
A1:A20
。文本
。我希望需要对其中一些内容进行编辑,以提取所需的数据(从哪个范围提取数据)并将其粘贴到所需的范围

有关更多信息,请查看,因为它可能包含使用
范围时的提示或有用信息。请复制
。这还显示了
Destination
parameter是如何工作的,这就是我用来显示要将数据粘贴到哪个工作表和范围的


如果这有帮助,请告诉我。

您遇到了什么错误,在哪一行?您能否提供有关您问题的更多详细信息?你的标题很不真实,应该更具描述性。你的问题也是。你还没有确切地问自己想要完成什么。请阅读和获取有关如何正确提问的提示,这些问题有助于更好地获得积极和有用的答案。如果没有关于您的问题的任何详细信息,这里没有人能够真正帮助您。我已经编辑了它,很抱歉造成混淆。@braX我已经更新了上面的代码,并且在“循环”之后的行中出现了一个错误“无效的过程调用或参数”,我不是100%确定,但我认为您不能这样做:
End(xlUp)(2)
-删除
(2)
,看看这是否会使错误消失,即使它不符合您的要求,然后找出一种方法以正确的方式执行您的要求。遗憾的是,这不起作用,我已经更新了上面的代码,在“循环”之后的行中出现了一个错误“无效的过程调用或参数”
ThisWorkbook.ActiveSheet.Range("A1:A20").Copy Destination:=Worksheets(Range("A5").Text).Range("A1:A20")