簡體   English   中英

如何在多個工作表中的相同位置插入行?

[英]How do I insert rows in the same place across multiple sheets?

我有一張excel表,在一個主選項卡上我有公司名稱列表,然后由34張表引用,其中包含有關公司的各種詳細信息。 在34個特定工作表中輸入數據,然后將其拉回主選項卡。

參考流程圖:

Master(名稱) - > 34子表子表(信息) - > Mastersheet

根據我如何解決這個問題,我無法找到將公司添加到主列表的方法,因為子表上引用的單元格不會自動向下移動。 這會導致錯誤引用。

我感興趣但不知道該怎么做的解決方案是在VBA中創建一個始終運行的宏,並將新行添加/刪除到添加到主工作表的完全相同位置的所有子表。

例如,如果在主工作表上在行50和51之間添加了一個新行,那么在所有子工作表上也會添加一個新行。

我完全迷失了如何做到這一點,所以任何和所有的幫助將不勝感激。 謝謝你,祝你有美好的一天!

我甚至不確定從哪里開始我道歉。

編輯:我已經提出了解決這個問題的方法。 如果其他人稍后有同樣的問題,請在下面發布。

Option Explicit

Public Sub Worksheet_Change(ByVal Target As Range)

    Dim ws
    Dim trgtRow
    Dim NewRowCount As Long
    Dim OldRowCount As Long

    trgtRow = Target.Row

    OldRowCount = Sheet3.UsedRange.Rows.Count
    NewRowCount = Sheet2.UsedRange.Rows.Count

    If Not Application.Intersect(Range("A2:A100"), Target) Is Nothing Then
        For Each ws In ThisWorkbook.Worksheets
            ElseIf ws.Name <> Sheet2.Name Then
                If OldRowCount < NewRowCount Then
                    ws.Rows(trgtRow).Insert Shift:=xlDown
                ElseIf OldRowCount > NewRowCount Then
                    ws.Rows(trgtRow).Delete Shift:=xlUp
                End If
            End If
        Next ws
    End If

End Sub

此代碼只是一個起點:當您在Master工作表中插入一行時,它將在每個工作表中的同一位置插入一行。 將代碼放在工作表對象中。

在下方,您對目標范圍內的單元格進行任何更改,它將插入一個新行。

Public Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet, trgtRow As Long
trgtRow = Target.Row

    If Not Application.Intersect(Range("A2:A100"), Target) Is Nothing Then
        For Each ws In ThisWorkbook.Worksheets
            If ws.Name <> "Master" Then ws.Rows(trgtRow).Insert Shift:=xlDown
        Next ws
    End If

End Sub 

另一種實現這一目標的方法是: 在vba窗口中,在ThisWorkbookSheet("Master")插入以下宏,然后在Master工作表上添加一個按鈕,右鍵單擊該按鈕並將宏指定給該按鈕。 將光標放在單元格上並選擇按鈕時,宏將在每個工作表中插入一個新行。

Sub InsertRowsInAllWS()
Dim ws As Worksheet, trgtRow As Long
trgtRow = ActiveCell.Row

    For Each ws In ThisWorkbook.Worksheets
        ws.Rows(trgtRow).Insert Shift:=xlDown
    Next ws

End Sub  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM