Страницы: 1
RSS
Как макросом обрезать в тексте первое предложение?
 
Более подробно в файле.
 
Вот вам макрос:  
 
Option Compare Text  
 
Sub test()  
   Dim cell As Range, ra As Range: Application.ScreenUpdating = False  
   Set ra = Range([b1], Range("b" & Rows.Count).End(xlUp))
   sep = "Эпизод"  
   For Each cell In ra.Cells  
       If cell Like "*" & sep & "*" Then  
           res = Trim(Split(cell, sep)(0))  
           If Right(res, 1) Like "[А-Яа-я]" Then res = res & "."
           cell.Previous = res  
       End If  
   Next cell  
End Sub  
 
Пример в файле: http://excelvba.ru/XL_Files/Sample__27-07-2010__8-20-23.zip  
 
По вопросу об отображении даты - а разве дата должна отображаться как-то иначе?  
Или вас смущает английский язык?  
Так вы сами указали локализацию в формуле: [$-FC19]
 
{quote}{login=EducatedFool}{date=27.07.2010 06:21}{thema=}{post}Вот вам макрос:  
.................  
Пример в файле: http://excelvba.ru/XL_Files/Sample__27-07-2010__8-20-23.zip  
 
По вопросу об отображении даты - а разве дата должна отображаться как-то иначе?  
Или вас смущает английский язык?  
Так вы сами указали локализацию в формуле: [$-FC19]{/post}{/quote}Спасибо, скорее всего подойдет, только буду применять не ко всему столбцу, а по мере получения данных веб-запроса. Даты я все равно "вручную" проставляю.
 
По вопросу даты - мне казалось, что должно и день и месяц на одном языке - либо русский, либо английский.  
   
ps А какая локализация русская, что б день с заглавной?
 
Это был я.
 
{quote}{login=EducatedFool}{date=27.07.2010 06:21}{thema=}{post}Вот вам макрос:  
 
Option Compare Text  
 
Sub test()  
   Dim cell As Range, ra As Range: Application.ScreenUpdating = False  
   Set ra = Range([b1], Range("b" & Rows.Count).End(xlUp))
   sep = "Эпизод"  
   For Each cell In ra.Cells  
       If cell Like "*" & sep & "*" Then  
           res = Trim(Split(cell, sep)(0))  
           If Right(res, 1) Like "[А-Яа-я]" Then res = res & "."
           cell.Previous = res  
       End If  
   Next cell  
End Sub {/post}{/quote}Несколько вопросов. Главный - этот макрос возвращает данные в столбец А; что нужно изменить, что бы просто изменял ячейку, т.е. брал из В1, изменял и возвращал в В1;  
второстепенные (пости риторитеские)  
-прерменная res - наверно тоже нужно объявлять? как as string?  
-в макросе есть Application.ScreenUpdating = False, нужно ли    
Application.ScreenUpdating = True ?
 
Разлогинился...
 
Пока Игоря нет...  
1. Меняем cell.Previous = res на cell = res  
2. Да, можно.  
3. Желательно.
 
Юра, спасибо!
Страницы: 1
Читают тему
Наверх
Loading...