我正在编写一个Excel宏,从一个工作表复制信息并粘贴到另一个工作表中。它必须搜索特定的文本字符串以识别正确的列进行复制,并使用switch语句遍历各个列。它一直到
以下是代码摘录:
Z
,因此宏非常长。我还需要将其用于多个搜索术语,这使得宏太大。以下是代码摘录:
Select Case True
Case Range("A1").Value = "SearchTerm1"
Sheets("ExportSheet").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Template").Select
Range("L2").Select
ActiveSheet.Paste
Case Range("B1").Value = "SearchTerm1"
Sheets("ExportSheet").Select
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Template").Select
Range("L2").Select
ActiveSheet.Paste
Case Range("C1").Value = "SearchTerm1"
Sheets("ExportSheet").Select
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Template").Select
Range("L2").Select
ActiveSheet.Paste
Case Range("D1").Value = "SearchTerm1"
Sheets("ExportSheet").Select
Range("D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Template").Select
Range("L2").Select
ActiveSheet.Paste
Case Range("E1").Value = "SearchTerm1"
Sheets("ExportSheet").Select
Range("E2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Template").Select
Range("L2").Select
ActiveSheet.Paste
这段代码逐一检查每一列,看是否包含特定的搜索词。如果是,它会将该列下方的所有内容复制并粘贴在另一个工作表中的单元格 L2
开始处。这只是一个非常长的宏,我正在尝试简化它。使用 For 循环可以吗?