Я хотел бы выбрать столбцы multiple.
Eg. Я хочу select column a, b, d, e, g, h
Я пробовал:
Columns("A, B, D, E, G, H").select
Я получаю сообщение error: Type mismatch
.
Я хотел бы выбрать столбцы multiple.
Eg. Я хочу select column a, b, d, e, g, h
Я пробовал:
Columns("A, B, D, E, G, H").select
Я получаю сообщение error: Type mismatch
.
Range("A:B,D:E,G:H").Select
может помочь
Отредактируйте примечание: я только видел, что вы использовали различную последовательность столбцов, я обновил свой ответ
Некоторые вещи в моей голове.
Метод 1.
Application.Union(Range("a1"), Range("b1"), Range("d1"), Range("e1"), Range("g1"), Range("h1")).EntireColumn.Select
Способ 2.
Range("a1,b1,d1,e1,g1,h1").EntireColumn.Select
Способ 3.
Application.Union(Columns("a"), Columns("b"), Columns("d"), Columns("e"), Columns("g"), Columns("h")).Select
Некоторые из кода для меня немного сложны. Это очень простой код для выбора только используемых строк в двух несогласованных столбцах D и H. Предполагается, что столбцы имеют неравную длину и, следовательно, более гибкие vs, если столбцы имеют одинаковую длину.
Как вы, скорее всего, предположили 4 = столбец D и 8 = столбец H
Dim dlastRow As Long
Dim hlastRow As Long
dlastRow = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
hlastRow = ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row
Range("D2:D" & dlastRow & ",H2:H" & hlastRow).Select
Надеюсь, что вы сочтете полезным - НЕ ЗАБЫВАЙТЕ, ЧТО COMMA ПЕРЕД ВТОРОЙ КОЛОНКОЙ, КАК Я ДОЛЖЕН, ИЛИ ЭТО БОМБ!
Работая над проектом, я некоторое время придерживался этой концепции - в итоге я получил аналогичный ответ на метод 1 от @GSerg, который отлично работал. По сути, я определил два диапазона формул (используя несколько переменных), а затем использовал концепцию Союза. Мой пример - из более крупного проекта, над которым я работаю, но, надеюсь, часть кода ниже может помочь некоторым другим людям, которые могут не знать, как использовать концепцию Союза в сочетании с определенными диапазонами и переменными. Я не включил весь код, потому что на данный момент он довольно длинный - если кто-то хочет больше понимания, не стесняйтесь, дайте мне знать.
Сначала я объявил все мои переменные как Public
Затем я определил/установил каждую переменную
Наконец, я установил новую переменную "SelectRanges" как союз между двумя другими FormulaRanges
Public r As Long
Public c As Long
Public d As Long
Public FormulaRange3 As Range
Public FormulaRange4 As Range
Public SelectRanges As Range
With Sheet8
c = pvt.DataBodyRange.Columns.Count + 1
d = 3
r = .Cells(.Rows.Count, 1).End(xlUp).Row
Set FormulaRange3 = .Range(.Cells(d, c + 2), .Cells(r - 1, c + 2))
FormulaRange3.NumberFormat = "0"
Set FormulaRange4 = .Range(.Cells(d, c + c + 2), .Cells(r - 1, c + c + 2))
FormulaRange4.NumberFormat = "0"
Set SelectRanges = Union(FormulaRange3, FormulaRange4)