宏根据单元格值查找和删除列

时间:2016-08-19 17:16:32

标签: vba excel-vba macros excel

我在Excel工作簿中有两张纸。我想要一个VBA代码来搜索Sheet2中单元格J19的内容,并删除Sheet1中匹配单元格的列。我一直在谷歌周围寻找一些VBA代码,但我还没有发现任何有用的东西。

这里有人知道怎么做吗?我对VBA没有经验。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此代码执行此类任务。

Sub FindMatchAndThenDeleteColumn()

    FindContent = Worksheets("Sheet2").Range("J19")

    For Each Cell In Worksheets("Sheet1").UsedRange.Cells
        If Cell.Value = FindContent Then Columns(Cell.Column).Delete
    Next

End Sub

将上面的代码放在workbook's module中。请注意,此处随机选择FindContentCell,您可以使用任何名称。我用

   For Each Cell In Worksheets("Sheet1").UsedRange.Cells 

循环遍历 Sheet1 中使用的每个单元格。它将检查从单元格A1到具有数据的最后一个单元格(最右下角的单元格)范围内的所有内容。如果单元格J19的内容是文本,则可以将变量FindContent声明为String类型,即Dim FindContent As String。如果是数字,您可以将其声明为Long类型或Single类型或适合内容的任何数字类型。这里我没有声明它意味着它默认为Variant类型。既然你是VBA的初学者,你可以从Excel Easy学习它。希望这会有所帮助。