【问题标题】:Transfer Data to specific Excel Sheet将数据传输到特定的 Excel 工作表
【发布时间】:2020-05-31 15:02:23
【问题描述】:

我正在尝试将数据传输到最后一行的特定工作表,但无法进行数据传输,但是在工作表 b c d e 中的一些空单元格之后,解决数据所需的帮助正在每个工作表中传输,但不能在下一个空单元格中传输:

 Sub transferData()
      Application.ScreenUpdating = False
      'Dim myData As Worksheet, ItemA As Worksheet, ItemB As Worksheet, ItemC As Worksheet, ItemD As 
       Worksheet, ItemE As Worksheet
      Dim ItemName As String
      Dim price As Long, qty As Long

      Dim r1 As Long, r2 As Long, erow As Long, lastrow As Long
      r1 = 2
      r2 = 2
      Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6")).Select
      Sheets("Sheet2").Activate
      Cells.Select
      Selection.ClearContents
      Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6")).Select
      Sheets("Sheet2").Activate
      range("A1").Select
      ActiveCell.Value = "Item"
      range("B1").Select
      ActiveCell.Value = "Price"
      range("C1").Select
      ActiveCell.Value = "Quantity"

       MYDATA.Activate

      Do While Cells(r2, 1) <> ""
      ItemName = Cells(r2, 1).Value
      price = Cells(r2, 2).Value

      qty = Cells(r2, 3).Value

       p = Worksheets.Count
       For q = 1 To p
       If ActiveWorkbook.Worksheets(q).CodeName = UCase(ItemName) Then
       Worksheets(q).Activate
       erow = Worksheets(q).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
       Cells(r2, 1).Value = ItemName
      Cells(r2, 2).Value = price
       Cells(r2, 3).Value = qty
       r2 = r2 + 1


        enter code here

       End If
       Next q
       MYDATA.Activate
        Loop
       Application.ScreenUpdating = True
    End Sub

【问题讨论】:

  • 先生,我想将“a1”范围内的所有数据行传输到一个名为“a1”范围内的工作表,这意味着“a1”范围内我有一些与工作表名称相同的数据名称是单元格名称带有工作表名称的数学我想复制行并粘贴到特定的工作表中请建议
  • 这是一个新问题。为确保数据完整性,请发新帖。

标签: excel vba transfer


【解决方案1】:

几点评论:

  1. 添加一些缩进将使您的代码更易于理解
  2. 避免使用Range().Select 然后ActiveCell.Value=xxx,它会很慢。只需使用Range().Value = xxx。这适用于其他实体,例如工作表、单元格等。
  3. 在您的 For...Next 循环中,r2 应替换为 erow,以便将您的值复制到其他工作表。

【讨论】:

  • 非常感谢它的工作,我是 vba 的新手,还在学习
  • 非常感谢它的工作,我是 vba 的新手,还在学习
  • 先生,我想将“a1”范围内的所有数据行传输到一个名为“a1”范围内的工作表,这意味着“a1”范围内我有一些与工作表名称相同的数据名称是单元格名称带有工作表名称的数学我想复制行并粘贴到特定工作表中请建议
猜你喜欢
  • 1970-01-01
  • 2019-05-29
  • 2021-05-11
  • 2019-03-30
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多