根据主工作表中的列在Excel中创建多个工作表

问题描述

我有一个excel文件,其中有记录,我想根据特定的列条件过滤这些记录。这些记录应根据标准复制到其他多个表中。而且,随着数据在主表中得到更新,数据也应在相应的标准表中得到更新。

我尝试使用“获取数据” =>“来自其他来源” =>“来自Microsoft Query”来尝试使用excel。下面我附上了图片。但是随着数据点的增加,它无法正常运行。如果在MACRO或VBA的帮助下还有其他可能的方法,请提供帮助。据我所知,以上内容的工作原理类似于SQL查询并使用WHERE子句。

下面我附加了条件列为“位置”的图像,并为示例创建了基于位置的图纸

enter image description here

enter image description here

enter image description here

下面是错误消息:

enter image description here

解决方法

这是我最近创建的具有大约结果:

Private Sub CommandButton1_Click()
Dim i As Integer
Dim wn As String,col As String,col1 As Integer
Worksheets("Master").Columns("A:A").Replace What:="",Replacement:=" ",LookAt:=xlPart,SearchOrder:=xlByRows,MatchCase:=False,SearchFormat:=False,ReplaceFormat:=False
Worksheets("mod").Visible = True
Worksheets("Master").Rows(1).Copy
Worksheets("mod").Activate
Worksheets("mod").Cells(1,1).Select
ActiveSheet.Paste
Worksheets("Master").Select
wn = InputBox("Criteria","Criteria")
col = InputBox("Specify column","Main sheet")
col1 = Columns(col).Column
lastrow = Worksheets("Master").Cells(Rows.Count,1).End(xlUp).Row
With ThisWorkbook
.Worksheets("mod").Copy after:=.Sheets(.Sheets.Count)
ActiveSheet.Name = wn
End With
For i = 2 To lastrow
If Worksheets("Master").Cells(i,col1) Like "*" & wn & "*" Then
Worksheets("Master").Rows(i).Copy
Worksheets(wn).Activate
erow = Worksheets(wn).Cells(Rows.Count,1).End(xlUp).Offset(1,0).Row
Worksheets(wn).Cells(erow,1).Select
ActiveSheet.Paste
Worksheets(wn).Columns("A:ZZ").AutoFit
Worksheets("Master").Activate
End If
Next i
Application.CutCopyMode = False
Worksheets("mod").Visible = False
Worksheets("Master").Columns("A:A").Replace What:=" ",Replacement:="",ReplaceFormat:=False
On Error Resume Next
End Sub

希望它会有所帮助,并等待您的反馈!如果需要更多信息,请随时与我联系!

,

@Spandan Rout 嗨,您只需在第一张纸上创建一个按钮,然后在VBA窗口中复制此代码 创建一个名为“ mod”的工作表(无数据的空白工作表) 确保工作表“主”也可用...就是这样! 对于“标准”,请使用位置名称(波士顿,新德里,...) 对于(A,B,C,...)列中的“指定列”类型,在此条件中(在这种情况下为D)