Как обратится к ячейке, как к массиву?
Модератор: Naeel Maqsudov
Здраствуйте!
подскажите пожалуйста..
програмлю макрос для Екселя.
каким образом можно обратится к ячейкев екселе, как к массиву из букв?
тобишь нужно перебрать то что записанов ячейке посимвольно.
заранеее спасибо
подскажите пожалуйста..
програмлю макрос для Екселя.
каким образом можно обратится к ячейкев екселе, как к массиву из букв?
тобишь нужно перебрать то что записанов ячейке посимвольно.
заранеее спасибо
Код: Выделить всё
iValue = Range("A1").Value
If Not IsError(iValue) Then
For iSymbol = 1 To Len(iValue)
MsgBox Mid(iValue, iSymbol, 1), , ""
Next
End If
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
а ещё есть таоке свойство:
Код: Выделить всё
Characters Property Example
This example formats the third character in cell A1 on Sheet1 as bold.
With Worksheets("Sheet1").Range("A1")
.Value = "abcdefg"
.Characters(3, 1).Font.Bold = True
End With

- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Самый цимус еще и в том, что например
.Characters(2,3).Text = "qwerty"
Заменит 3 буквы (начиная со второй) на целых пять.
или
.Characters(2,3).Text = ""
Удалит эти самые три буквы.
Очень удачный метод Characters, я считаю!
.Characters(2,3).Text = "qwerty"
Заменит 3 буквы (начиная со второй) на целых пять.
или
.Characters(2,3).Text = ""
Удалит эти самые три буквы.
Очень удачный метод Characters, я считаю!
не. мне начада чтоп если в ячейке написано "йцук45"
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд
тоесть по типу масива как например в том же паскале строка[номер символа] есть в VB ченидь аналогичное?
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд
тоесть по типу масива как например в том же паскале строка[номер символа] есть в VB ченидь аналогичное?
Игорь Акопян писал(а):а ещё есть таоке свойство:Код: Выделить всё
Characters Property Example This example formats the third character in cell A1 on Sheet1 as bold. With Worksheets(][/quote] во! кажись оно. пасиба!
А что по Вашему мнению делает функция Mid из самого первого примера ...не. мне начада чтоп если в ячейке написано "йцук45"
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд © M.Juanito 2005
хм. тоже вариант. спасибоpashulka писал(а):А что по Вашему мнению делает функция Mid из самого первого примера ...не. мне начада чтоп если в ячейке написано "йцук45"
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд © M.Juanito 2005

И не просто вариант, а хороший вариант, так как если в ячейке будет наличествовать ссылка/функция/формула, то .Characters.Text Вам ничем не поможет. Можно конечно и в этом случае решить задачу с использованием .Characters, например, "запомнить" текст этой самой формулы, затем заменить формулу на значение, которое она возвращает, затем использовать этот самый характер и только после этого вернуть всё на круги своя. А можно просто использовать функцию Mid(Mid$) ... ведь даже если сейчас Ваша ячейка не содержит формулы, то можете ли Вы дать гарантию, что в дальнейшем ничего не изменится ...
P.S. При ответе цитировать предыдущее сообщение вовсе не обязательно.
P.S. При ответе цитировать предыдущее сообщение вовсе не обязательно.
да я знаю чтоне обязательно. ет чтоп быловидно на что отвечаю)
хорошо. попробую с mid. спасибо
хорошо. попробую с mid. спасибо