Страница 1 из 1
Как обратится к ячейке, как к массиву?
Добавлено: 20 сен 2005, 18:45
M.Juanito
Здраствуйте!
подскажите пожалуйста..
програмлю макрос для Екселя.
каким образом можно обратится к ячейкев екселе, как к массиву из букв?
тобишь нужно перебрать то что записанов ячейке посимвольно.
заранеее спасибо
Добавлено: 20 сен 2005, 19:45
pashulka
Код: Выделить всё
iValue = Range("A1").Value
If Not IsError(iValue) Then
For iSymbol = 1 To Len(iValue)
MsgBox Mid(iValue, iSymbol, 1), , ""
Next
End If
Если в ячейке наличествует формула и Вас интересует её текст, а не значение которая она возвращает, то вместо свойства .Value нужно использовать другое свойство, а именно .Formula
Добавлено: 21 сен 2005, 11:39
Игорь Акопян
а ещё есть таоке свойство:
Код: Выделить всё
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
Добавлено: 21 сен 2005, 14:03
Naeel Maqsudov
Самый цимус еще и в том, что например
.Characters(2,3).Text = "qwerty"
Заменит 3 буквы (начиная со второй) на целых пять.
или
.Characters(2,3).Text = ""
Удалит эти самые три буквы.
Очень удачный метод Characters, я считаю!
Добавлено: 22 сен 2005, 10:59
M.Juanito
не. мне начада чтоп если в ячейке написано "йцук45"
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд
тоесть по типу масива как например в том же паскале строка[номер символа] есть в VB ченидь аналогичное?
Добавлено: 22 сен 2005, 11:04
M.Juanito
Игорь Акопян писал(а):а ещё есть таоке свойство:
Код: Выделить всё
Characters Property Example
This example formats the third character in cell A1 on Sheet1 as bold.
With Worksheets(][/quote]
во! кажись оно. пасиба!
Добавлено: 22 сен 2005, 11:16
pashulka
не. мне начада чтоп если в ячейке написано "йцук45"
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд © M.Juanito 2005
А что по Вашему мнению делает функция Mid из самого первого примера ...
Добавлено: 22 сен 2005, 11:26
M.Juanito
pashulka писал(а):не. мне начада чтоп если в ячейке написано "йцук45"
я мог поочередно взять сначала "й" потом "ц" потом "у" и тд © M.Juanito 2005
А что по Вашему мнению делает функция Mid из самого первого примера ...
хм. тоже вариант. спасибо

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