Excel количество столбцов в макросе

Here’s a completely over the top answer — will give you the details of all separate regions in your workbook (a region being separated by a blank row and column).

You didn’t state if there’d be more than one table on a sheet — so this gives it all.

Sub Test()

    Dim aLists  As Variant
    Dim x As Long
    Dim rng As Range

    '//Find lists in the this workbook.
    aLists = FindRegionsInWorkbook(ThisWorkbook)

    For x = LBound(aLists) To UBound(aLists)
        Set rng = Range(aLists(x))
        Debug.Print rng.Parent.Name & "!" & rng.Address & _
            " | FirstCol: " & rng.Column & _
            " | LastCol: " & rng.Column + rng.Columns.Count - 1 & _
            " | TopRow: " & rng.Row & _
            " | BottomRow: " & rng.Row + rng.Rows.Count - 1 & _
            " | TotalRows: " & rng.Rows.Count & _
            " | TotalColumns: " & rng.Columns.Count
    Next x

    Debug.Assert False
End Sub

'---------------------------------------------------------------------------------------
' Procedure : FindRegionsInWorkbook
' Author    : Zack Barresse (MVP), Oregon, USA. (http://www.mrexcel.com/forum/showthread.php?t=309052)
' Date      : 20/03/2008
' Purpose   : Returns each region in each worksheet within the workbook in the 'sRegion' variable.
'---------------------------------------------------------------------------------------
Public Function FindRegionsInWorkbook(wrkBk As Workbook) As Variant
    Dim ws As Worksheet, rRegion As Range, sRegion As String, sCheck As String
    Dim sAddys As String, arrAddys() As String, aRegions() As Variant
    Dim iCnt As Long, i As Long, j As Long
    '//Cycle through each worksheet in workbook.
    j = 0
    For Each ws In wrkBk.Worksheets
        sAddys = vbNullString
        sRegion = vbNullString
        On Error Resume Next
        '//Find all ranges of constant & formula valies in worksheet.
        sAddys = ws.Cells.SpecialCells(xlCellTypeConstants, 23).Address(0, 0) & ","
        sAddys = sAddys & ws.Cells.SpecialCells(xlCellTypeFormulas, 23).Address(0, 0)
        If Right(sAddys, 1) = "," Then sAddys = Left(sAddys, Len(sAddys) - 1)
        On Error GoTo 0
        If sAddys = vbNullString Then GoTo SkipWs
        '//Put each seperate range into an array.
        If InStr(1, sAddys, ",") = 0 Then
            ReDim arrAddys(0 To 0)
            arrAddys(0) = "'" & ws.Name & "'!" & sAddys
        Else
            arrAddys = Split(sAddys, ",")
            For i = LBound(arrAddys) To UBound(arrAddys)
                arrAddys(i) = "'" & ws.Name & "'!" & arrAddys(i)
            Next i
        End If
        '//Place region that range sits in into sRegion (if not already in there).
        For i = LBound(arrAddys) To UBound(arrAddys)
            If InStr(1, sRegion, ws.Range(arrAddys(i)).CurrentRegion.Address(0, 0)) = 0 Then
                sRegion = sRegion & ws.Range(arrAddys(i)).CurrentRegion.Address(0, 0) & "," '*** no sheet
                sCheck = Right(arrAddys(i), Len(arrAddys(i)) - InStr(1, arrAddys(i), "!"))
                ReDim Preserve aRegions(0 To j)
                aRegions(j) = Left(arrAddys(i), InStr(1, arrAddys(i), "!") - 1) & "!" & ws.Range(sCheck).CurrentRegion.Address(0, 0)
                j = j + 1
            End If
        Next i
SkipWs:
    Next ws
    On Error GoTo ErrHandle
    FindRegionsInWorkbook = aRegions
    Exit Function
ErrHandle:
    'things you might want done if no lists were found...
End Function

Как узнать количество используемых столбцов на листе Excel с помощью VBA?

Dim lastRow As Long
lastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
MsgBox lastRow

Используя приведенный выше VBA, я могу найти количество строк. Но как мне узнать количество столбцов в моем файле Excel?

5 ответов

Лучший ответ

Ваш примерный код получает номер строки последней непустой ячейки в текущем столбце и может быть переписан следующим образом:

Dim lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lastRow

Тогда легко увидеть, что эквивалентный код для получения номера столбца последней непустой ячейки в текущей строке:

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn

Это также может быть полезно для вас:

With Sheet1.UsedRange
    MsgBox .Rows.Count & " rows and " & .Columns.Count & " columns"
End With

Но имейте в виду, что если столбец A и / или строка 1 пусты, это не даст такого же результата, как в других примерах выше. Чтобы узнать больше, прочтите о свойстве UsedRange.


47

Jean-François Corbett
1 Авг 2011 в 16:36

Ответ Жана-Франсуа Корбетта идеален. Чтобы быть исчерпывающим, я просто хотел бы добавить, что с некоторыми ограничениями вы также можете использовать UsedRange.Columns.Count или UsedRange.Rows.Count.
Проблема в том, что UsedRange не всегда обновляется при удалении строк / столбцов (по крайней мере, пока вы снова не откроете книгу).


8

Patrick Honorez
1 Авг 2011 в 15:51

Возможно, вы забыли sheet1 каждый раз где-то перед columns.count, или он будет считать столбцы activesheet, а не sheet1.

Кроме того, не следует ли использовать xltoleft вместо xltoright? (Хорошо, здесь уже очень поздно, но я думаю, что знаю, что справа налево). Я проверил, вы должны написать xltoleft.

lastColumn = Sheet1.Cells(1, sheet1.Columns.Count).End(xlToleft).Column


2

seaotternerd
20 Дек 2013 в 06:40

Результат показан в следующем коде как номер столбца (8,9 и т. Д.):

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn

Результат показан в следующем коде как буква (H, I и т. Д.):

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox Split(Sheet1.Cells(1, lastColumn).Address, "$")(1)


0

Martijn Pieters
7 Апр 2017 в 12:08

Содержание

  1. Свойство Range.Columns (Excel)
  2. Синтаксис
  3. Замечания
  4. Пример
  5. Поддержка и обратная связь
  6. VBA Excel. Методы Count, CountA и CountBlank
  7. Метод WorksheetFunction.Count
  8. Определение
  9. Синтаксис
  10. Параметры
  11. Примечания
  12. Метод WorksheetFunction.CountA
  13. Определение
  14. Синтаксис
  15. Параметры
  16. Примечания
  17. Метод WorksheetFunction.CountBlank
  18. Определение
  19. Синтаксис
  20. Параметры
  21. Примечания
  22. Примеры
  23. Как посчитать количество столбцов excel vba

Свойство Range.Columns (Excel)

Возвращает объект Range , представляющий столбцы в указанном диапазоне.

Синтаксис

expression. Столбцы

выражение: переменная, представляющая объект Range.

Замечания

Чтобы вернуть один столбец, используйте свойство Item или аналогично включите индекс в круглые скобки. Например, и Selection.Columns(1) возвращают Selection.Columns.Item(1) первый столбец выделенного фрагмента.

При применении к объекту Range , который является выделенным с несколькими областями, это свойство возвращает столбцы только из первой области диапазона. Например, если объект Range имеет две области — A1:B2 и C3:D4, возвращает Selection.Columns.Count значение 2, а не 4. Чтобы использовать это свойство в диапазоне, который может содержать выбор из нескольких областей, проверьте Areas.Count , содержит ли диапазон несколько областей. Если это так, выполните цикл по каждой области в диапазоне.

Возвращаемый диапазон может находиться за пределами указанного диапазона. Например, Range(«A1:B2»).Columns(5).Select возвращает ячейки E1:E2.

Если буква используется в качестве индекса, она эквивалентна числу. Например, Range(«B1:C10»).Columns(«B»).Select возвращает ячейки C1:C10, а не ячейки B1:B10. В примере «B» эквивалентно 2.

Использование свойства Columns без квалификатора объекта эквивалентно использованию ActiveSheet.Columns . Дополнительные сведения см. в свойстве Worksheet.Columns .

Пример

В этом примере для каждой ячейки в столбце один в диапазоне с именем myRange задается значение 0 (ноль).

В этом примере отображается количество столбцов в выделенном фрагменте на листе Sheet1. Если выбрано несколько областей, в примере выполняется цикл по каждой области.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA Excel. Методы Count, CountA и CountBlank

Подсчет количества ячеек в диапазоне в зависимости от их содержимого методами Count, CountA и CountBlank объекта WorksheetFunction из кода VBA Excel.

Метод WorksheetFunction.Count

Определение

Определение метода Count объекта WorksheetFunction в VBA Excel:

Синтаксис

Синтаксис метода Count объекта WorksheetFunction:

Параметры

Параметры метода Count объекта WorksheetFunction:

Параметр Описание
Arg1-Arg30 От 1 до 30 аргументов, которые могут содержать различные типы данных или ссылаться на них.

Примечания

  • Метод WorksheetFunction.Count позволяет получить количество числовых значений в диапазоне ячеек или в массиве.
  • При подсчете учитываются аргументы, которые являются числами, датами или текстовым представлением чисел.
  • Логические значения учитываются при подсчете только в том случае, если они введены непосредственно в список аргументов.

Метод WorksheetFunction.CountA

Определение

Определение метода CountA объекта WorksheetFunction в VBA Excel:

Синтаксис

Синтаксис метода CountA объекта WorksheetFunction:

Параметры

Параметры метода CountA объекта WorksheetFunction:

Параметр Описание
Arg1-Arg30 От 1 до 30 аргументов, которые могут содержать различные типы данных или ссылаться на них.

Примечания

  • Метод WorksheetFunction.CountA позволяет получить количество непустых ячеек в заданном диапазоне.
  • Непустыми являются ячейки, которые содержат любые данные, включая значения ошибок и пустые строки ( «» ).
  • Тесты показывают, что метод WorksheetFunction.CountA в массиве, созданном путем присвоения ему значений диапазона, содержащего пустые ячейки, все равно считает все элементы массива, как содержащие значения.

Метод WorksheetFunction.CountBlank

Определение

Определение метода CountBlank объекта WorksheetFunction в VBA Excel:

Синтаксис

Синтаксис метода CountBlank объекта WorksheetFunction:

Параметры

Параметры метода CountBlank объекта WorksheetFunction:

Параметр Описание
Arg1 Диапазон, в котором необходимо подсчитать количество пустых ячеек.

Примечания

  • Метод WorksheetFunction.CountBlank позволяет получить количество пустых ячеек в заданном диапазоне.
  • Пустыми являются ячейки, которые не содержат никаких данных.
  • Также подсчитываются, как пустые, ячейки с формулами, которые возвращают пустые строки ( «» ).
  • Ячейки с нулевыми значениями в подсчете не участвуют.

Примеры

Таблица для строк кода VBA Excel со ссылками на диапазон «A1:C5» , а также с массивом его значений в качестве аргументов:

Источник

Как посчитать количество столбцов excel vba

Добрый день ! Сразу скажу что я только начинаю изучать VBA и сам понимаю что вопрос детский , но ответа так и не смог найти.

Мне нужно узнать количество записей в колонке (насколько я понимаю это Rows в Columns)

В колонке чего? Какой контрол?

Ответить

Номер ответа: 1
Автор ответа:
Padre

Вопросов: 25
Ответов: 215

Web-сайт: localhost
Профиль | | #1
Добавлено: 19.10.03 04:20

эээ . насколько я понимаю это WorkSheet в Экселе

Ответить

Номер ответа: 2
Автор ответа:
Spin

Вопросов: 4
Ответов: 11

Профиль | | #2 Добавлено: 19.10.03 13:24

Вопрос еще такой

Ни у кого нет кода как из Ворда вызывать Ексель

то есть я знаю что надо делать

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Но потом начинается путанница . Не совсем ясно как связать xlBook с WorkBook и xlSheet с WorkSheet . обычно в примерах все заново создают.

Ответить

Номер ответа: 3
Автор ответа:
Spin

Вопросов: 4
Ответов: 11

Профиль | | #3 Добавлено: 19.10.03 13:28

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

это всё работает только если записи идут без пустых ячеек в середине

Public Sub checkColumn()

Dim i As Integer

Dim n As Integer

For i = 1 To 100

If ActiveSheet.Cells(n, 1) = vbNullString Then

ActiveSheet.Cells(n, 2) = «Всего записей: » & (n — 1)

Ответить

Номер ответа: 4
Автор ответа:
Padre

Вопросов: 25
Ответов: 215

Web-сайт: localhost
Профиль | | #4
Добавлено: 19.10.03 15:15

Private sub ExcelByWord

dim x1 as excel.application

Ответить

Номер ответа: 5
Автор ответа:
Padre

Вопросов: 25
Ответов: 215

Web-сайт: localhost
Профиль | | #5
Добавлено: 19.10.03 15:23

Начинает проясняться понемногу.

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

Может есть красивый способ ? Property или метод специальный.

Ответить

Номер ответа: 6
Автор ответа:
Spin

Вопросов: 4
Ответов: 11

Профиль | | #6 Добавлено: 19.10.03 18:23

Да всё точно также. Берёшь диапазон проверяемых ячеек, ставишь счётчик непустых ячеек и вперёд.

Public Sub checkColumn()

Dim i As Integer

Dim n As Integer

Dim count As Integer

For i = 1 To 100

If ActiveSheet.Cells(n, 1) <> vbNullString Then

count = count + 1

ActiveSheet.Cells(1, 2) = «Всего записей: » & count

Ответить

Номер ответа: 7
Автор ответа:
Padre

Вопросов: 25
Ответов: 215

Web-сайт: localhost
Профиль | | #7
Добавлено: 19.10.03 18:53

Sub LastCell_1() ‘Определение последних строк, столбцов

‘Sheets(«лист1») — имя листа [можно порядковый номерSheets(n)]
‘с которым работаем (если с активным, то можно не указывать)

‘Cells(2, 4)- любая ячейка в заголовке таблицы,
‘где первая цифра — номер строки, а вторая — номер столбца

‘CurrentRegion — текущая область, т.е. интервал ячеек
‘ограниченный пустыми столбцами и пустыми строками

‘проверим, с чем работаем (выделим итервал), потом удалите
Sheets(«лист1»).Cells(2, 4).CurrentRegion.Select

‘адрес интервала ячеек
adr = Sheets(«лист1»).Cells(2, 4).CurrentRegion.Address

‘начальная строка интервала ячеек
RowBegin = Sheets(«лист1»).Cells(2, 4).CurrentRegion.Row

‘количество строк в интервале ячеек
RowsCount = Sheets(«лист1»).Cells(2, 4).CurrentRegion.Rows.Count

‘начальный столбец интервала ячеек
ColumnBegin = Sheets(«лист1»).Cells(2, 4).CurrentRegion.Column

‘количество столбцов в интервала ячеек
ColumnsCount = Sheets(«лист1»).Cells(2, 4).CurrentRegion.Columns.Count

‘массив, в котором хранятся значения ячеек итевала
ArrayValueCells = Sheets(«лист1»).Cells(2, 4).CurrentRegion

‘значение элемента массива
ValueCells = ArrayValueCells(строка, столбец)
‘строка- номер стоки в массиве (не обязательно совпадает с номером
‘строки рабочего листа), столбец — аналогично

‘объектная переменная, в которой содержится абсолютно все
Set Rng = Sheets(«лист1»).Cells(2, 4).CurrentRegion

‘ValueCells и Rng лучше просмотреть в окне локальных переменных
‘ViewLocals Window пошаговом режиме (клавиша F8)
End Sub

Sub LastRow_1() ‘последняя заполненная строка

With Sheets(«лист1»).Cells(2, 4).CurrentRegion
LastRow = .Row + .Rows.Count — 1
End With

Ответить

Номер ответа: 8
Автор ответа:
valentinvb

Вопросов: 0
Ответов: 5

Профиль | | #8 Добавлено: 26.10.03 12:53

Может я не совсем правильно поняла, вот только сегодня сталкивалась с подобной проблемой.

Источник

Adblock
detector

Номер ответа: 9
Автор ответа:
A n t o n i n a

Вопросов: 6
Ответов: 29

Профиль | | #9 Добавлено: 19.11.03 18:40

подскажите, пожалуйста, как в документе (см. приложение) похожей структуры (имею в виду наличие пустых ячеек, строк, столбцов) в макросе узнать кол-во строк и столбцов значимой области. под значимой областью имею в виду прямоугольную область, покрывающую все непустые ячейки, в данном случае это область С2:N28, т.е. 27 строк, 12 столбцов

Имеется ли какой-то объект или свойство, которое отвечает за эту информацию?

команды ActiveSheet.Cells.Columns.Count и ActiveSheet.Cells.Rows.Count, показывают кол-во столбцов и строк всего листа, т.е. не подходят. Сейчас я просто пробегаю все ячейки и, если встречается подряд пять пустых строк (обычно больше не бывает) делаю останов.
есть вариант перед запуском макроса, нужную область выделить вручную, но это тоже не всегда удобно


я новичок в VBA поэтому врядли подскажу…
а вот спросить бы очень хотелось:
что значит «пробегаю пять пустых ячеек? «

-можете с макросом выложить пример?

Цитата: polioli от 09.11.2009, 23:56
подскажите, пожалуйста, как в документе (см. приложение) похожей структуры (имею в виду наличие пустых ячеек, строк, столбцов) в макросе узнать кол-во строк и столбцов значимой области.

я знаю как не в макросе узнать  — функцией по английски называющейся counta (она из диапазона как раз выдает колличество значимых ячеек)

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

p.s если выложите пример макроса перебирающего ячейки, буду очень благодарен.


Если не учитывать первые пустые строки и столбцы, то можно так:

Sub rrrr()
    r1_ = Range(«A1»).SpecialCells(xlLastCell).Row
    c1_ = Range(«A1»).SpecialCells(xlLastCell).Column
End Sub

если учитывать:

Sub ttt()
    r1_ = Range(«A1»).SpecialCells(xlLastCell).Row
    r2_ = Range(«A1»).SpecialCells(xlConstants).Row
    r_ = r1_ — r2_
    c1_ = Range(«A1»).SpecialCells(xlLastCell).Column
    c2_ = Range(«A1»).SpecialCells(xlConstants).Column
    c_ = c1_ — c2_
End Sub

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


_Boroda_, большое спасибо, то, что надо
но в одном случае этого не достаточно.
если в документе строки удаляли с помощью Del, т.е удаление информации, но не самой строки, то после последней «значимой» строки может идти ряд пустых строк.

можно ли как-то вычислить их кол-во (не перебирая ячейки по одной), т.е. посчитать размер диапазона не учитывая последние пустые строки?
еще раз, спасибо!

Нelg, «пробегаю пять пустых ячеек? » имелось в виду в цикле методом перебора проверяю каждую ячейку, и если, к примеру, встречается пять пустых ячеек подряд, то считать, что информации в файле дальше нет.
выглядит это примерно так
ii = 1
Do
    If Len(.Cells(vRow, 1)) = 0 Then
       ii = ii + 1
    End If
   …
      vRow = vRow + 1
  Loop Until ii > 5
Не красиво, не удобно, но работало.
Теперь буду использовать способ, предложенный Бородой :)


Тогда так:

Sub yyyyy()
   ActiveWorkbook.Save
   r1_ = Cells.SpecialCells(xlLastCell).Row
    c1_ = Cells.SpecialCells(xlLastCell).Column

End Sub

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Цитата: Нelg от 10.11.2009, 00:15
… пример макроса перебирающего ячейки … [/u]

‘Варианта два:
‘1-й: Количество строк, столбцов заранее известно;
‘2-й: Количество строк, столбцов заранее не известно;

‘Ответ:
‘1-й: (нужно «перебрать ячейки в блоке «b2:f7″, двигаясь по ячейкам строки, а затем на строку ниже»)
Sub pereborIzwestnogoBloka()
    Dim i As Long
    Dim j As Integer

    ‘перебрать ячейки в блоке «b2:f7», двигаясь по ячейкам строки, а затем на строку ниже
    i = 0
    For i = 2 To 7 ‘по строкам
        j = 0
        For j = 2 To 6 ‘по ячейкам строки
            ‘в ячейке с координатами очередного шага перебора, выполняем действия = Start
            Cells(i, j) = i + j ‘ — пишем в нее сумму координат
            Cells(i, j).Select ‘ — делаем ее активной
            ‘в ячейке с координатами очередного шага перебора, выполняем действия = Stop
        Next j
    Next i
End Sub

‘2-й: (число строк, столбцов, заранее неизвестно. Но, известно: ячейка старта и _
       условие при котором нужно ‘прекратить перебор. Скажем: при обнаружении _
       ячейки со словом «Всего:» — по строке в первой колонке перебираемого блока, и _
       пустой ячейки по колонке в первой строке перебираемого блока)

       ‘      Например стартовая ячейка b3
Sub pereborNeizwestnogoBloka()
    Dim nR As Long
    Dim nC As Integer

        nR = 3
    nC = 2
    Do
        Do
            ‘в ячейке с координатами очередного шага перебора, выполняем действия = Start
            Cells(nR, nC) = nR + nC ‘ — пишем в нее сумму координат
            Cells(nR, nC).Select ‘ — делаем ее активной
            ‘в ячейке с координатами очередного шага перебора, выполняем действия = Stop
            nC = nC + 1
        Loop While Cells(3, nC) <> Empty
        nR = nR + 1
    Loop While Cells(nR, 2).Text <> «Всего»
End Sub

Путей к вершине — множество. Этот один из многих!


_Boroda_ , спасибо!
теперь, что называется «дошло».
при сохранении программа видимо обновляет информацию о последней ячейке (Ctrl+End).
в моем случае еще важно было обратить внимание на отсутствие форматирования в пустых ячейках в конце документа,
так как они тоже влияют на значение послед. ячейки.
еще раз спасибо, что помогли решить задачу и разобраться.


5 ответов

Ваш примерный код получает номер строки последней непустой ячейки в текущем столбце и может быть переписан следующим образом:

Dim lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lastRow

Затем легко увидеть, что эквивалентный код для получения номера столбца последней непустой ячейки в текущей строке:

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn

Это также может быть полезно для вас:

With Sheet1.UsedRange
    MsgBox .Rows.Count & " rows and " & .Columns.Count & " columns"
End With

но имейте в виду, что если столбец A и/или строка 1 пусты, то это не даст того же результата, что и другие примеры выше. Подробнее читайте в UsedRange.

Jean-François Corbett
01 авг. 2011, в 11:57

Поделиться

Ответ Jean-François Corbett идеален. Чтобы быть исчерпывающим, я хотел бы добавить, что с некоторыми ограничителями вы также можете использовать UsedRange.Columns.Count или UsedRange.Rows.Count.
Проблема в том, что UsedRange не всегда обновляется при удалении строк/столбцов (по крайней мере, пока вы не откроете книгу).

Patrick Honorez
01 авг. 2011, в 11:55

Поделиться

Возможно, вы забыли sheet1 каждый раз где-то перед columns.count, или он будет считать столбцы activesheet, а не sheet1.

Кроме того, не должно быть xltoleft вместо xltoright? (Хорошо, очень поздно здесь, но я думаю, что я знаю свое право слева) Я проверил его, вы должны написать xltoleft.

lastColumn = Sheet1.Cells(1, sheet1.Columns.Count).End(xlToleft).Column

Patrick Lepelletier
20 дек. 2013, в 02:12

Поделиться

Результат показан в следующем коде как номер столбца (8,9 и т.д.):

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn

Результат показан в следующем коде как буква (H, я и т.д.):

Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox Split(Sheet1.Cells(1, lastColumn).Address, "$")(1)

kadrleyn
10 окт. 2016, в 20:47

Поделиться

Ещё вопросы

  • 1Типы HashMap не могут найти символ
  • 0Вызов функции PHP nl2br в html doc
  • 0структура типа указателя или структура, которая является указателем?
  • 1CANJS3 несколько экземпляров компонента
  • 1Как вы сравниваете два дескриптора края изображения?
  • 1Как посчитать общее количество элементов в многомерном массиве?
  • 0C ++ TStringsList Разбор объяснения
  • 0Jscript код для страницы PHP
  • 0Я правильно связываю это?
  • 1Повторение изображения по вертикали и горизонтали в Java
  • 1Xamarin.Forms получают данные из кода конкретного устройства обратно в формы
  • 0Галерея изображений Javascript с массивом
  • 0Странные прыжки в Draggable элементах
  • 0Найти длину строки после первого появления определенной подстроки
  • 0Копирование и назначение ссылок на C ++
  • 1Получить записи из базы данных Mysql и отобразить их в поле со списком
  • 1чтение группы чисел из файла по порядку
  • 1Ошибка «Не удается прочитать свойство« uid »из null» при использовании firebase в Node?
  • 1Заполнение сложных объектов из листа Excel и передача его в качестве параметра в [Теорию]
  • 0innerHTML изменение javascript
  • 1Создать слова с ошибками (опечатки)
  • 0скорость MySQL запроса с интервалом
  • 0Двоичная сортировка по вектору
  • 0получение суммы значения с использованием группы по [duplicate]
  • 1Как мне скачать graphics.py для Python?
  • 0не могу создать слово ком объект в PHP
  • 0Является ли мой код неопределенным поведением
  • 1Использование cordova-plugin-file на Android 7 не работает
  • 1view / motionEvent не может быть преобразован в переменный удар
  • 1Моя работа не будет прерываться на IScheduler.Interrupt
  • 0Хранение и отображение данных JSON с MongoDB и AngularJS
  • 1Могу ли я обнаружить оба пейзажа в Android? [Дубликат]
  • 1Динамическое обновление макета
  • 0Как переписать url в htaccess в IMPRESSPAGES cms?
  • 1Почему я не могу преобразовать массив byte [2] в int с помощью BitConverter?
  • 0Аккордеон с использованием CSS и без jquery / javascript
  • 1Открыть несколько сайтов в одном окне в разных вкладках
  • 0Изменить размер шрифта на n-й строке
  • 0Перезапустите NodeJS изящно / принудительно (работает с Forever) из PHP
  • 0Mysql концепция ключа для того же столбца с общим первичным ключом
  • 0JQuery найти самый внутренний контент
  • 1Как получить последний индекс элемента массива, используя jQuery?
  • 0Загрузка файла в TYPO3 6.2
  • 1какую коллекцию использовать для данных типа один ко многим?
  • 1Можем ли мы прочитать данные из Excel в почтальоне для JS тестов
  • 0Drupal выбрасывает пустой файл update.php
  • 0Храните некоторые данные на стороне клиента, к которым можно получить доступ через приложение angularjs
  • 1Как разделить строку на несколько строк отдельных символов
  • 0Полиморфные рекурсивные вызовы в C ++?
  • 0Ускорьте время загрузки html, pdf и txt файлов в теге <object>

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel количество лет в днях
  • Excel количество совпадений формула
  • Excel количество колонок на листе
  • Excel количество совпадений в тексте
  • Excel количество кварталов между датами

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии