用于通过条件公式将数据从一张图纸复制到另一张图纸的宏



我正在做一个项目,其中excel中有大量数据。每个数据都有行和列的编号。我想按条件将这些数据移动到相应的工作表中。

Excel工作簿:

第一个工作表名称为Shortage Report,它包含所有应按状态移动到相应工作表的数据。

示例:

Shortage ReportA具有城市名称:

Mumbai
Bangalore
Hyderabad
Kochi
Chennai
..... so on.

列CCD_ 4具有位置短名称。即

Mumbai - MU
Bangalore - BU 
etc.

我想使用条件公式移动数据

  • 如果列A = Mumbai和列D = MU,则移动到工作表MU
  • 如果列A = Bangalore和列D = BU,则移动到图纸BU
  • 如果列A = Chennai和列D = CH,则移动到工作表CH

你能帮我创建VB脚本,把这些数据在运行中移动到相应的表中吗。

这将对我有很大帮助。我花了将近3个小时来完成这项任务。

如果您有这样的数据:

    A           B   C  
1   Mumbai      MU  Some1
2   Bangalore   BU  Some2
3   Hyderabad   HY  Some3
4   Kochi       KO  Some4
5   Chennai     CH  Some5
6   Mumbai      MU  Some6
7   Bangalore   BU  Some7
8   Chennai     CH  Some8
9   Hyderabad   HY  Some9
10  Mumbai      MU  Some10
11  Mumbai      MU  Some11
12  Chennai     CH  Some12
13  Mumbai      MU  Some13
14  Bangalore   BU  Some14
15  Hyderabad   HY  Some15
16  Bangalore   BU  Some16
17  Chennai     CH  Some17
18  Bangalore   BU  Some18
19  Kochi       KO  Some19
20  Kochi       KO  Some20
21  Bangalore   BU  Some21

在一张名为Shortage Report的图纸上。然后你可以使用这个代码:

Sub qwerty()
    Dim i, Lastrow, j
    Dim SheetName As String
    Dim wb As Workbook
    Set sr = Worksheets("Shortage Report")
    Lastrow = sr.Range("B" & Rows.Count).End(xlUp).Row
    If wb Is Nothing Then Set wb = ThisWorkbook
    For j = 1 To Lastrow
        SheetName = sr.Range("B" & j).Value
        Application.DisplayAlerts = False
        On Error Resume Next
        If wb.Sheets(SheetName) Is Nothing Then
            With ThisWorkbook
                .Sheets.Add(After:=.Sheets(.Sheets.Count)).name = SheetName
            End With
        End If
        Application.DisplayAlerts = True
        sr.Range("A" & j & ":C" & j).Copy
        i = wb.Sheets(SheetName).Range("A" & Rows.Count).End(xlUp).Row + 1
        wb.Sheets(SheetName).Range("A" & i & ":C" & i).PasteSpecial Paste:=xlValues
    Next j
End Sub

制作5张包含以下数据的表格:

    A       B   C  
1   Mumbai  MU  Some1
2   Mumbai  MU  Some6
3   Mumbai  MU  Some10
4   Mumbai  MU  Some11
5   Mumbai  MU  Some13

在名为MU 的图纸上

    A           B   C  
1   Bangalore   BU  Some2
2   Bangalore   BU  Some7
3   Bangalore   BU  Some14
4   Bangalore   BU  Some16
5   Bangalore   BU  Some18
6   Bangalore   BU  Some21

在名为BU 的图纸上

等等。

相关内容

最新更新