Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 199
от 15.01.2006, 11:39

Администратор:Калашников О.А.
В рассылке:Подписчиков: 114, Экспертов: 16
В номере:Вопросов: 1, Ответов: 2


Вопрос № 32955: Добрый день всем! Вопрос по Excel. Пример: В ячейке A1 стоит такая запись: "6 ЧРН 38/42" или "12 ЧРПН 45,5/65,2" (Это марки судовых двигателей). Как отделить цифры? в ячейку B1 - "6 (или 12) в ячейку С1- "...

Вопрос № 32.955
Добрый день всем! Вопрос по Excel. Пример:
В ячейке A1 стоит такая запись: "6 ЧРН 38/42" или "12 ЧРПН 45,5/65,2"
(Это марки судовых двигателей). Как отделить цифры?
в ячейку B1 - "6 (или 12)
в ячейку С1- "38 (или 45,5)
в ячейку В1 - "42 (или 62,2). Эти данные нужны для математических расчетов. Запись в ячейке периодически меняется, в зависимости от выбранного двигателя.
С уважением!
Отправлен: 10.01.2006, 11:38
Вопрос задал: Робатько Анатолий Васильевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: _Виталий
Здравствуйте, Робатько Анатолий Васильевич!
--------------------------------
Dim sCell As String
Dim lMark1 As Long
Dim lMark2 As Long
sCell = Range("A1").Value
lMark1 = InStr(1, sCell, " ")
Range("B1").Value = Left(sCell, lMark1 - 1)
lMark1 = InStr(1, sCell, "/")
Range("D1").Value = Mid(sCell, lMark1 + 1)
lMark2 = InStrRev(sCell, " ", lMark1)
Range("C1").Value = Mid(sCell, lMark2 + 1, lMark1 - lMark2 - 1)
-----------------------------
Ответ отправил: _Виталий (статус: 10-ый класс)
Отправлен: 10.01.2006, 15:36

Отвечает: Николай К
Здравствуйте, Робатько Анатолий Васильевич!
Можно разбить запись на подстроки с пом Split

Dim Arr as Variant
Dim i as Iteger
arr=split("6 ЧРН 38/42"," ")

for i = 0 to ubound(arr)
if IsNumeric(arr(i)) then
a1 = arr(i)
elseif instr(arr(i)),"/")<>0 then
arr= split(arr(i),"/")
b1=arr(0)
c1=arr(1)
end if
next

Короче, смысл таков... Код не проверял...

Ответ отправил: Николай К (статус: 1-ый класс)
Отправлен: 11.01.2006, 13:44


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное