2016-08-19 4 views
0

У меня есть два листа в книге Excel. Мне нужен код VBA для поиска содержимого ячейки J19 в Sheet2 и удаления столбца с соответствующей ячейкой в ​​Sheet1. Я искал все вокруг Google для поиска некоторых кодов VBA, но я еще ничего не нашел, что работает.Макро для поиска и удаления столбца на основе значения ячейки

Кто-нибудь здесь знает, как это сделать? У меня нет опыта в VBA.

+2

Добро пожаловать в S.O! Вы что-то пробовали? Если да, пожалуйста, предоставьте код, посмотрите на [tour] (http://stackoverflow.com/tour) и [как спросить] (http://stackoverflow.com/help/how-to-ask). Дружественное напоминание: StackOverflow не является поставщиком услуг «мы для вас». [Введение в VBA] (https://blog.udemy.com/excel-macros-tutorial/) Подсказка: вы никогда не найдете решения для своей конкретной проблемы, сломайте ее маленькими кусочками, сначала [«Найдите слово excel vba "] (http://www.ozgrid.com/VBA/find-method.htm), затем адаптируйте его к вашим потребностям. – Sgdva

ответ

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. Обратите внимание, что и Cell выбираются случайным образом, вы можете использовать любые имена. Я использую

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

к петле через каждую ячейку, которая используется в Лист1. Он проверит все в диапазоне от ячейки A1 до последней ячейки с данными (нижняя правая ячейка). Если содержимое ячейки J19 является текстом, вы можете объявить переменную FindContent как тип String, то есть Dim FindContent As String. Если это число, вы можете объявить его как тип Long или тип Single или любой тип номера, который соответствует содержимому. Здесь я не объявляю это, что означает, что он по умолчанию не соответствует типу Variant. И поскольку вы новичок в VBA, вы можете узнать его с Excel Easy. Надеюсь это поможет.

Смежные вопросы