如何在Excel项目中创build一个macros

我对VBA比较陌生。
我将不胜感激,如果有人可以帮我一个macros,可以解决我的问题在下面:

1)我有一个Web应用程序生成两个不同数量的叶子和不同数量的Excel报告,见下文。

报告1
Sheet1有四列C11,C12,C13,C14
Sheet2有三列C21,C22,C23

报告2
Sheet1有四列C11,C12,C13,C14(与报告1相同)
Sheet2有三列C21,C22,C23(与报告1相同)
Sheet3有三列C31,C32,C33,C34,C35,…

2)我想能够删除我应该input的两个级别的报告中的一些列,如下所示:

级别1 :searchSheet1并删除C12然后
searchSheet2并删除C22,然后searchSheet3并删除C32

等级2 :searchSheet1,然后删除C11和C13
searchSheet2并删除C21和C22,然后删除Search3并删除C33,C34,C35

3)我希望macros先要求级别,然后search每个表单,并期待每列,并删除它如上所述。

希望有人能帮助我这个macros。
非常感谢提前和圣诞快乐。

使用下面的代码。 运行macros'select'来select级别。 此代码删除条件为真的整个列

Sub Choose() l = InputBox(Prompt:="Enter the level you want", Title:="Level Selection") If l = 1 Then Call Level1 ElseIf l = 2 Then Level2 ElseIf l = "" Then Else MsgBox "Incorrect entry.", vbInformation, "Incorrect" End If End Sub Sub Level1() Application.ScreenUpdating = False On Error Resume Next Blad1.Activate Blad1.Cells.Find(What:="C12", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad1.Columns(i).Delete Blad2.Activate Blad2.Cells.Find(What:="C22", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad2.Columns(i).Delete Blad3.Activate Blad3.Cells.Find(What:="C32", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad3.Columns(i).Delete Blad1.Activate Application.ScreenUpdating = True End Sub Sub Level2() Application.ScreenUpdating = False On Error Resume Next Blad1.Activate Blad1.Cells.Find(What:="C11", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad1.Columns(i).Delete Blad1.Cells.Find(What:="C13", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad1.Columns(i).Delete Blad2.Activate Blad2.Cells.Find(What:="C21", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad2.Columns(i).Delete Blad2.Cells.Find(What:="C22", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad2.Columns(i).Delete Blad3.Activate Blad3.Cells.Find(What:="C33", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad3.Columns(i).Delete Blad3.Cells.Find(What:="C34", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad3.Columns(i).Delete Blad3.Cells.Find(What:="C35", After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate i = ActiveCell.Column Blad3.Columns(i).Delete Blad1.Activate Application.ScreenUpdating = True End Sub 

请看包含macros的文件