Ну, собственно, вопрос - в заголовке...
Как по номеру столбца узнать его букву (VBA)?
10.09.2010 10:57:09
|
|
|
|
10.09.2010 11:08:18
|
|
|
|
10.09.2010 11:20:22
|
|
|
|
10.09.2010 11:24:03
|
|
|
|
10.09.2010 11:40:48
Алексей, так может легче и быстрее методом "Find" воспользоваться?
<FONT COLOR="CadetBlue">
|
|
|
|
10.09.2010 11:49:27
|
|
|
|
10.09.2010 11:55:30
{quote}{login=Alex_ST}{date=10.09.2010 11:20}{thema=}{post}А нужно мне это чтобы... {/post}{/quote}
Алекс, а Address разве не устроит? |
|
|
|
10.09.2010 12:09:27
|
|
|
|
10.09.2010 12:27:21
___________
|
|
|
|
10.09.2010 12:34:13
Алексей... :)
Не надо: Replace(Address,"$","") Надо так: Address = ActiveCell.Address(False, False) Пятница наверное, отдыхать пора. ;)
<FONT COLOR="CadetBlue">
|
|
|
|
10.09.2010 13:23:47
Ну вот, уезжаете и еще уважаемого EducatedFool обидели, хотя и ему пора отдыхать, переработался. :)
<FONT COLOR="CadetBlue">
|
|
|
|
09.10.2010 22:09:03
Узнаём имя 6-го столбца
MsgBox Split(Cells(1, 6).Address, "$")(1) P.S. Скорость не замерял |
|
|
|
14.05.2011 14:37:36
Высший пилотаж! Спасибо!
|
|
|
|
27.09.2011 21:20:42
В связи с проявленным интересом к этой теме (
?ABC2Num("a") 1 ?ABC2Num("iv") 256 ?ABC2Num("xfd") 16384 ?ABC2Num("abcdefghijk") 152686330658691 Два варианта функции, один с разбором строки по символам, другой - через массив байт. Мой результат (Pentium M 1.6, WinXP, Office 2000): символы: 4,1875 байты: 1,828125 Function ABC2Num(ByVal x As String) As Double Dim i& x = UCase(x) For i = 1 To Len(x) ABC2Num = 26# * ABC2Num + Asc(Mid$(x, i, 1)) - 64# Next End Function Function ABC2Num2(x As String) As Double Dim i&, b() As Byte b = x For i = 0 To UBound(b) Step 2 ABC2Num2 = 26 * ABC2Num2 + (b(i) And 31) Next End Function Sub test() Dim a#, t!, i& t = Timer For i = 1 To 1000000 ABC2Num "abcdefghijk" Next Debug.Print "символы: "; Timer - t t = Timer For i = 1 To 1000000 ABC2Num2 "abcdefghijk" Next Debug.Print "байты: "; Timer - t End Sub |
|
|
|
27.09.2011 21:40:49
Прошу прощения, а зачем оно может понадобиться?)
Sub io() MsgBox Columns(1).Address End Sub Sub io2() MsgBox Columns("A").Column End Sub >>В кавычках, потому что диапазон возвращаемого числа не ограничен числом столбцов: хотя...
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук |
|
|
|
28.09.2011 06:42:50
Нормальные герои всегда идут в обход :)
|
|
|
|
30.03.2012 18:50:11
А что означает (1) ? Посмотрел в справке функцию Split и не нашёл объяснения. Вот как можно было прийти к тому, что в конце нужно добавить (1), чтобы получить такое элегантное решение? )))
Hello! My blog:
|
|
|
|
30.03.2012 19:08:13
В скобках порядковый номер элемента массива (отсчёт с нуля).
|
|
|
|
30.03.2012 19:08:37
Cells(1, 6).Address будет $F$1
Split(Cells(1, 6).Address, "$")(1) будет F Split(Cells(1, 6).Address, "$")(2) будет 1 |
|
|
|
30.03.2012 19:11:07
Ещё пример:
Sub TestArr() Dim Stroka Stroka = "Первый второй третий" MsgBox Split(Stroka)(1) End Sub |
|
|
|
30.03.2012 19:25:52
Спасибо за примеры. То есть, если разделитель не указан, то в качестве разделителя выступает пробел, если он есть. Если же нет ни одного пробела, то в массиве один элемент. В качестве разделителей выступают любые указанные знаки. Правильно?
Hello! My blog:
|
||||
|
|
|||
Читают тему