Excel VBA - 链接来自不同工作表的行

标签 excel vba copy selection

场景:由于敏感 Material ,我无法发布实际的工作簿,但我会尽可能地解释它。

每个工作表都分为分支,即:Sheet2 是分支 2,Sheet3 是分支 3,依此类推。
对于每张纸,列是相同的。
A 列中包含分支编号。
B 列有不相关的信息,所以我只是隐藏该列。
C 列有一个系统编号(特定于每个帐户。

意图:我想创建另一个名为 CallOuts 的工作表.
我想复制一些行(来自各个分支)并将它们粘贴到“主表”(CallOuts)我可以在 CallOuts 上工作表而不是去每个分支。因此,每当我编辑一个单元格时,它也会更新/更改分支表中完全相同的单元格,反之亦然。

问题:我知道 MS Exccel 有一个“选择性粘贴”功能,它可以在其中添加单元格。问题在于它链接了单元格#,因此如果我对主表进行排序,它将将该行替换为错误的分支表。

例如:如果 System# J112 在分支 2 表的第 2 行中,并且我将链接粘贴在主表的第 4 行中,如果我在主表上进行更新然后重新排序并且系统#现在移动到行2(在主表上)第 4 行(在主表上)中的任何内容现在都将在第 2 行,第 2 行表中。

我在想也许是一个宏,我可以在其中复制和粘贴主表中的整行。进行某种类型的案例选择以检查 A 列中的哪个分支,然后在分支表上找到相同的系统 #,然后粘贴整行。

我的 VBA 水平充其量只是新手,因此将不胜感激。

最佳答案

好的,所以我在下面看到了您的尝试。我不确定您的代码是如何工作的,但似乎您走在了正确的轨道上。但是,我认为 Case 语法不适合这种情况。您只需要一个宏来读取“CallOuts”表中的内容并使用该数据更新您的各个分支表。这个宏应该适合你:

Sub UpdateRecordsFromMasterSheet()

Dim wksht As Worksheet
Dim wkb As Workbook
Dim row As Range
Dim Row_to_Update As Range

Dim sysnum As Variant

Set wbk = ThisWorkbook

Application.ScreenUpdating = False

For Each row In Sheets("CallOuts").UsedRange.Rows
    row.EntireRow.Copy
    sysnum = row.Cells(1, 3).Value
    For Each wksht In ActiveWorkbook.Worksheets
        For Each Row_to_Update In wksht.UsedRange.Rows
            If Row_to_Update.Cells(1, 3).Value = sysnum Then
                Row_to_Update.PasteSpecial
            End If
        Next Row_to_Update
    Next wksht
Next row

Application.ScreenUpdating = True

End Sub

这假设您在“C”列中有您的系统编号。所以这就是我的想象:每次您为员工分配一堆行时 - 您的员工会更新这些行 - 然后您将这些数据粘贴回“CallOuts”表中。然后运行此宏,它将根据“CallOuts”表中的内容更新各个分支表。

如果你是一个有视觉的人,它会是这样的:

这是更新的标注表:
CallOutsSheet

以下是分支在宏之前的外观:
BeforeMacro

这是宏运行后更新的分支:
AfterMacro

试试看,让我知道它是如何工作的。注意:这只是向您展示如何执行此类操作的开始 - 您可以通过使宏循环通过员工提交给您的实际工作簿来提高此过程的效率,这样您就不必复制和粘贴每次都将数据放入您的“CallOuts”表中。祝你好运。

关于Excel VBA - 链接来自不同工作表的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807198/

相关文章:

vb.net - Excel VBA 到 VB (DCOM)

vba - 仅当用户修改现有值时禁用消息框弹出

vba - Excel VBA : Run-time error (Method 'Value' of object 'Range' failed), 但仅限连续运行

arrays - 无法将数组从多维数组传递给函数

msbuild - Copy 任务的输出参数 'CopiedFiles' 返回指定要复制的所有文件,即使它在给定 SkipUnchangedFiles ="true"的情况下不复制任何内容

Stream.SaveToFile 上的 VBA 错误

vba - 使用 VBA 复制粘贴数据顺序数据 block

vba - Excel VBA : Why is API better than SendKeys?

python - 导入 csv 时 Cassandra 错误 'NoneType' 对象没有属性 'datacenter'

objective-c - 自定义类副本的 NSMutableArray