Excel VBA выделяет только один столбец с переменными - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь выделить весь столбец, используя код vba, подобный следующему:

Columns("A:A").select

, но я хотел бы заменить «A» на переменную I, которая содержит числовое значение столбцов, поэтомуA = 1, B = 2 и т. Д.

Другая проблема заключается в том, что на моем листе также есть много объединенных ячеек.поэтому, если я использую код вроде:

I=2
Columns(i).select

, тогда он также выделяет все столбцы объединенной ячейки, которые попадают в один столбец.Я хотел бы, чтобы он просто выделил одну колонку, столбец I (переменная).Что-то вроде человека, просто щелкающего по столбцу, чтобы выделить весь выбранный столбец в таблице Excel.

Код не обязательно должен быть кодом «Столбцы», это был просто пример, и я знаю, что он работаеткак мне и нужно.

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

, если вы хотите закрасить используемые ячейки в данном столбце, за исключением объединенных:

Dim i As Long

i = 4
Dim cell As Range
For Each cell In Intersect(Columns(i), ActiveSheet.UsedRange)
    If Not cell.MergeCells Then cell.Interior.Color = vbGreen
Next
0 голосов
/ 25 октября 2018

Слитые клетки - зло, не используйте их!Существует альтернатива объединенным ячейкам: Центр по всему выделению .В противном случае вы всегда будете сталкиваться с такими проблемами с VBA.

В любом случае это хорошая идея, чтобы избегать использования Select в Excel VBA .

Для "выделения" столбца, например.измените цвет фона.

Columns(5).Interior.Color = vbRed

Будет окрашен только столбец 5, за исключением объединенных ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...