【问题标题】:Copy merged cells from other sheets into one cell in summary sheet将其他工作表中的合并单元格复制到摘要工作表中的一个单元格中
【发布时间】:2018-04-03 11:37:01
【问题描述】:

我有一个工作簿,其中有一个摘要表,并根据命令更新了新工作表(更改名称,从指定路径导入)。在摘要表中,我想收集其他表中存在的特定信息(它们都有相同的模板,填写了不同的信息)。

例如,我想将工作表X、工作表Y 和工作表Z 中的合并范围B3:O3 复制到汇总表中的单元格A2, B2, C2 中。

问题:

A) 我如何复制信息?

B) 如何将命令链接到现有的“刷新工作表”命令,该命令使用指定文件夹中的更新信息填充工作簿?

对 VBA 来说相对较新,如果问题是基本的,请见谅。谢谢!

【问题讨论】:

  • 你取每个合并区域的左上角单元格。
  • 欢迎来到 Stack Overflow!如果您可以发布单独的问题而不是将您的问题合并为一个,则最好。这样,它可以帮助人们回答您的问题,也可以帮助其他人至少寻找您的一个问题。谢谢!
  • 你能提供你用来刷新工作表的代码吗?
  • 录制宏,看看VBA代码长什么样。

标签: vba excel copy


【解决方案1】:

假设B3:O3 是一个合并范围,您可以从每个范围中获取左上角的单元格。 Sub RefreshSheets 代表您现有的命令,然后在该代码中调用新的子 GetInfo

像这样

Option Explicit

Public Sub RefreshSheets()

    'Your current refresh code
     GetInfo  'call to other sub

End Sub

Public Sub GetInfo()

Dim wb As Workbook
Set wb = ThisWorkbook

With wb.Worksheets("Summary Sheet")

   .Range("A2") = wb.Worksheets("X").Range("B3")
   .Range("B2") = wb.Worksheets("Y").Range("B3")
   .Range("C2") = wb.Worksheets("Z").Range("B3")

End With


End Sub

如果使用可变工作表名称,您可以按位置分配,例如

Sheets(Sheets.Count) 

或者使用变量

Dim X As String
X = "X"

Sheets(X) 

【讨论】:

  • 欣赏它。限制是工作表名称在刷新时不断变化(取决于预先指定的文件夹中的内容)。因此,我无法将复制命令与工作表名称联系起来,并且正在寻找替代方法。
  • 你可以按表索引吗? IE。新添加的工作表的位置?
  • Sheets(Sheet.Count) 例如最后一张?
  • 不知道如何回答。如前所述,我是新手。你能重新发送整个代码来帮忙吗?
  • 您的代码是否添加了新工作表?或者重命名现有的工作表?您是否总是使用 3 张新添加的工作表中的值更新范围 A2:C2?
猜你喜欢
  • 1970-01-01
  • 2018-04-20
  • 2022-12-11
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多