powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / определить последний столбец в excel
9 сообщений из 9, страница 1 из 1
определить последний столбец в excel
    #32642921
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто может подсказать функцию которая может определить последний используемый столбец в документе????
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32642964
raur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
if not range(...)=""
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32642968
Nikolay Gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использовал
countStr = XL.ActiveCell.SpecialCells(xlLastCell).Column
Но мне неодходимо его символьное значение (типа A B C )
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32643285
Фотография HiddenCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Do Until Cells(i,j).Value<>""
....
Loop
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32643316
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перевод числового значения в символьное (типа A B C ):
разврат, конечно, но ничего лучше я в своё время не нашёл


Код: plaintext
1.
Public Function GetRangeCol2(mCol As Long) As String    Dim sCol As String    Dim lCol As Long    Dim mCount As Long    If mCol < 27 Then        mCount = 1    Else        mCount = 2    End If    For i = 1 To mCount        If i = 1 Then            If mCol < 27 Then                lCol = mCol            Else                lCol = Int((mCol - 1) / 26)            End If        Else            lCol = mCol - (26 * (Int((mCol - 1) / 26)))        End If        Select Case lCol        Case 1:         sCol = sCol & "A"        Case 2:         sCol = sCol & "B"        Case 3:         sCol = sCol & "C"        Case 4:         sCol = sCol & "D"        Case 5:         sCol = sCol & "E"        Case 6:         sCol = sCol & "F"        Case 7:         sCol = sCol & "G"        Case 8:         sCol = sCol & "H"        Case 9:         sCol = sCol & "I"        Case 10:        sCol = sCol & "J"        Case 11:        sCol = sCol & "K"        Case 12:        sCol = sCol & "L"        Case 13:        sCol = sCol & "M"        Case 14:        sCol = sCol & "N"        Case 15:        sCol = sCol & "O"        Case 16:        sCol = sCol & "P"        Case 17:        sCol = sCol & "Q"        Case 18:        sCol = sCol & "R"        Case 19:        sCol = sCol & "S"        Case 20:        sCol = sCol & "T"        Case 21:        sCol = sCol & "U"        Case 22:        sCol = sCol & "V"        Case 23:        sCol = sCol & "W"        Case 24:        sCol = sCol & "X"        Case 25:        sCol = sCol & "Y"        Case 26:        sCol = sCol & "Z"        End Select    Next i    GetRangeCol2 = sColEnd Function
Как отформатирован этот код?
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32644411
Sav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sav
Гость
mCol = 5
msgbox Left(Columns(mCol).Address(columnabsolute:=False), InStr(1, Columns(1).Address(columnabsolute:=False), ":") - 1)
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32644421
Sav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sav
Гость
Верхнее с ошибкой

mCol = 5
msgbox Left(Columns(mCol).Address(columnabsolute:=False), InStr(1, Columns(mCol).Address(columnabsolute:=False), ":") - 1)
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32645877
Дмитрий Валуев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция xlsColName вычисляет буквенное обозначение столбца по номеру.
Функция xlsColIndex вычисляет номер по буквенному обозначению столбца.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Public\xa0Function\xa0xlsColName(j\xa0As\xa0Integer)\xa0As\xa0String
On\xa0Error\xa0GoTo\xa0xlsColNameError
Dim\xa0nCycle\xa0As\xa0Long
Dim\xa0kkkk\xa0As\xa0Long
Dim\xa0llll\xa0As\xa0Long
Dim\xa0tmpRes\xa0As\xa0String
Dim\xa0i\xa0As\xa0Integer
Dim\xa0osnova\xa0As\xa0Long

\xa0\xa0\xa0\xa0osnova\xa0=\xa026
\xa0\xa0\xa0\xa0\'Кол-во разрядов    nCycle = -1
\xa0\xa0\xa0\xa0i\xa0=\xa01
\xa0\xa0\xa0\xa0While\xa0i\xa0>\xa00
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0nCycle\xa0=\xa0nCycle\xa0+\xa01
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0i\xa0=\xa0(j\xa0-\xa0osnova\xa0^\xa0(nCycle\xa0-\xa01))\xa0\\\xa0osnova\xa0^\xa0nCycle
\xa0\xa0\xa0\xa0Wend
\xa0\xa0\xa0\xa0kkkk\xa0=\xa0j\xa0-\xa01
\xa0\xa0\xa0\xa0For\xa0i\xa0=\xa0nCycle\xa0To\xa01\xa0Step\xa0-1
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0llll\xa0=\xa0kkkk\xa0\\\xa0osnova\xa0^\xa0(i\xa0-\xa01)
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0If\xa0i\xa0>\xa01\xa0Then
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0tmpRes\xa0=\xa0tmpRes\xa0+\xa0Chr(65\xa0+\xa0llll\xa0-\xa01)
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0Else
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0tmpRes\xa0=\xa0tmpRes\xa0+\xa0Chr(65\xa0+\xa0llll)
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0End\xa0If
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0kkkk\xa0=\xa0kkkk\xa0-\xa0llll\xa0*\xa0osnova\xa0^\xa0(i\xa0-\xa01)
\xa0\xa0\xa0\xa0Next\xa0i
\xa0\xa0\xa0\xa0xlsColName\xa0=\xa0tmpRes
\xa0\xa0\xa0\xa0
\xa0\xa0\xa0\xa0GoTo\xa0xlsColNameEnd

xlsColNameError:
\xa0\xa0\xa0\xa0MsgBox\xa0err.Description
\xa0\xa0\xa0\xa0Resume\xa0xlsColNameEnd
xlsColNameEnd:

End\xa0Function
Public\xa0Function\xa0xlsColIndex(Name\xa0As\xa0String)\xa0As\xa0Integer
On\xa0Error\xa0GoTo\xa0xlsColIndexError
Dim\xa0nCycle\xa0As\xa0Long
Dim\xa0kkkk\xa0As\xa0String
Dim\xa0i\xa0As\xa0Integer
Dim\xa0tmpRes\xa0As\xa0Integer

\xa0\xa0\xa0\xa0\'Кол-во кругов
\xa0\xa0\xa0\xa0nCycle\xa0=\xa0Len(Name)
\xa0\xa0\xa0\xa0For\xa0i\xa0=\xa0nCycle\xa0To\xa01\xa0Step\xa0-1
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0kkkk\xa0=\xa0Mid(Name,\xa0i,\xa01)
\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0tmpRes\xa0=\xa0tmpRes\xa0+\xa026\xa0^\xa0(nCycle\xa0-\xa0i)\xa0*\xa0(Asc(kkkk)\xa0-\xa065\xa0+\xa01)
\xa0\xa0\xa0\xa0Next\xa0i
\xa0\xa0\xa0\xa0xlsColIndex\xa0=\xa0tmpRes
\xa0\xa0\xa0\xa0
\xa0\xa0\xa0\xa0GoTo\xa0xlsColIndexEnd

xlsColIndexError:
\xa0\xa0\xa0\xa0MsgBox\xa0err.Description
\xa0\xa0\xa0\xa0Resume\xa0xlsColIndexEnd
xlsColIndexEnd:

End\xa0Function


Как отформатирован этот код?
...
Рейтинг: 0 / 0
определить последний столбец в excel
    #32646164
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub LastColumn()
Dim s As String, p As Long
s = ActiveSheet.UsedRange.Address
p = InStr( 1 , s, ":")
Debug.Print Mid(s, p +  2 ,  1 )
End Sub
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / определить последний столбец в excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]