Выяснение проблемы формата последних столбцов - PullRequest
0 голосов
/ 15 марта 2020

Можете ли вы помочь мне отредактировать этот код, чтобы сделать это возможным. Я думаю, что это проблема формата. Но я не знаю, как это решить. Мой код, чтобы узнать, сколько столбцов у нас есть.

Range("m4").Value = Range(""A" & Columns.Count, 1").End(xlToLeft).Column

Ответы [ 2 ]

0 голосов
/ 15 марта 2020

Узнайте, как обращаться к ячейкам. Ячейка определяется своими координатами, номерами строк и столбцов, например Cells([Row], [Column]). Ячейка является членом коллекции Cells, которая представляет собой все ячейки в диапазоне. Обычная Cells относится к совокупности всех клеток в ActiveSheet. Следовательно, Cells(4, 1) определяет Range("A4"). Ячейка является объектом диапазона.

Cells(2, Columns.Count) указывает последнюю ячейку в строке 2. Cells(2, Columns.Count).End(xlToLeft) дает указание двигаться влево от этой последней ячейки, пока не будет обнаружена используемая ячейка. Возврат является объектом диапазона, очевидно, одной ячейкой.

Этот объект диапазона имеет свойства Column и Row, а также свойство Value. Поэтому вы можете запросить

Cells(2, Columns.Count).End(xlToLeft).Value
' or
Cells(2, Columns.Count).End(xlToLeft).Row
' or
Cells(2, Columns.Count).End(xlToLeft).Column
' or
Cells(2, Columns.Count).End(xlToLeft).Address

Вы также можете использовать ячейку в качестве конечной точки диапазона.

Set Rng = Range(Cells(2, 1), Cells(2, Columns.Count).End(xlToLeft))
0 голосов
/ 15 марта 2020

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

Range("m4").Value = Cells(1, Columns.Count).End(xlToLeft).Column

Чтобы использовать ваш подход, вам понадобится следующая функция

Function colLetter(col As Long) As String
    colLetter = Split(Columns(col).Address(, 0), ":")(0)
End Function

, а затем

Range("m4").Value = Range(colLetter(Columns.Count) & "1").End(xlToLeft).Column
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...