Товарищи форумчане, подскажите код, пожалуйста. Требуется оставить столбцы по условию, а остальные удалить. Мне , к примеру, нужно оставить стоблец2,4, 8 и 10. Т.е. я знаю какие столбцы будут в файле. которые мне нужны, но я не знаю в какой позиции они будут.
Товарищи форумчане, подскажите код, пожалуйста. Требуется оставить столбцы по условию, а остальные удалить. Мне , к примеру, нужно оставить стоблец2,4, 8 и 10. Т.е. я знаю какие столбцы будут в файле. которые мне нужны, но я не знаю в какой позиции они будут.monstr_ork
К примеру, как разместить столбец 2 на 25 позиции? В файле это заголовки... Тогда удаление столбцов по условию ничем не отличается от удаления строк по условию. То, что удалять будем столбцы, а не строки - не в счет.
К примеру, как разместить столбец 2 на 25 позиции? В файле это заголовки... Тогда удаление столбцов по условию ничем не отличается от удаления строк по условию. То, что удалять будем столбцы, а не строки - не в счет. RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Вторник, 10.07.2018, 20:43
К примеру, как разместить столбец 2 на 25 позиции?
Не понял вопроса. мне в таблице нужно оставить только определенные столбцы, а остальные удалить. Я раньше через запись макроса, поставил какие столбцы нужно удалить, но оказалось это не очень хороший метод, т.к. под каждый файл нужно редактировать макрос.
Вы уже изменили свой ответ... Я с вами согласен, только я не понял, как несколько условий задать
К примеру, как разместить столбец 2 на 25 позиции?
Не понял вопроса. мне в таблице нужно оставить только определенные столбцы, а остальные удалить. Я раньше через запись макроса, поставил какие столбцы нужно удалить, но оказалось это не очень хороший метод, т.к. под каждый файл нужно редактировать макрос.
Вы уже изменили свой ответ... Я с вами согласен, только я не понял, как несколько условий задатьmonstr_ork
Сообщение отредактировал monstr_ork - Вторник, 10.07.2018, 20:47
Не давало вставлять код VBA почему-то Два макроса. Выбирайте [vba]
Код
Sub tt() t_ = "@Столбец2@Столбец4@Столбец8@Столбец10@" c1_ = Cells(1, Columns.Count).End(1).Column ar = Cells(1).Resize(1, c1_) Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual For i = c1_ To 1 Step -1 If InStr(t_, "@" & ar(1, i) & "@") = 0 Then Columns(i).Delete Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
Sub ttt() Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual Set slov = CreateObject("Scripting.Dictionary") With slov aaa = .Item("СТОЛБЕЦ2") aaa = .Item("СТОЛБЕЦ4") aaa = .Item("СТОЛБЕЦ8") aaa = .Item("СТОЛБЕЦ10") c1_ = Cells(1, Columns.Count).End(1).Column ar = Cells(1).Resize(1, c1_) For i = c1_ To 1 Step -1 If Not .Exists(UCase(ar(1, i))) Then Columns(i).Delete Next i End With Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
[/vba]
Не давало вставлять код VBA почему-то Два макроса. Выбирайте [vba]
Код
Sub tt() t_ = "@Столбец2@Столбец4@Столбец8@Столбец10@" c1_ = Cells(1, Columns.Count).End(1).Column ar = Cells(1).Resize(1, c1_) Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual For i = c1_ To 1 Step -1 If InStr(t_, "@" & ar(1, i) & "@") = 0 Then Columns(i).Delete Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub
Sub ttt() Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual Set slov = CreateObject("Scripting.Dictionary") With slov aaa = .Item("СТОЛБЕЦ2") aaa = .Item("СТОЛБЕЦ4") aaa = .Item("СТОЛБЕЦ8") aaa = .Item("СТОЛБЕЦ10") c1_ = Cells(1, Columns.Count).End(1).Column ar = Cells(1).Resize(1, c1_) For i = c1_ To 1 Step -1 If Not .Exists(UCase(ar(1, i))) Then Columns(i).Delete Next i End With Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 1 End Sub