Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: VBA Excel Проблема с Replace  (Прочитано 9577 раз)
0 Пользователей и 1 Гость смотрят эту тему.
cvaleriy
Гость
« : 11-08-2006 12:28 » 

Есть макросы. Создаю объект Excel.Application, добавляю к нему шаблон.
На каждом листе есть ячейки своего рода заголовок перед таблицами - несколько ячеек объединено вместе и есть текст типа "бла бла бла бла полный бла бла бла еще полнее бла бла бла dateг"
В макросе делаю... собсно вот код

Код:
For i = 1 To (appXL.Sheets.count - 1)
appXL.Sheets(i).Activate
appXL.Sheets(i).Cells.Select
tmpstr = Этакнига.myDate
MsgBox tmpstr
appXL.Selection.Replace What:="date", Replacement:=tmpstr, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next i
В результате имею
"бла бла бла бла полный бла бла бла еще полнее бла бла бла 08/11/2006г"
хотя мессджбокс выдает 11.08.2006
хотелось бы чтобы в ячейке получалось "бла бла бла бла полный бла бла бла еще полнее бла бла бла 11.08.2006г"
Записан
cvaleriy
Гость
« Ответ #1 : 11-08-2006 13:21 » 

Хех, помогло это:

Код:
appXL.Selection.Replace What:="date", Replacement:=[color=red]Format(tmpstr, "dd.mm.yyyy")[/color], LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #2 : 14-08-2006 05:25 » 

а можно вместо Format использовать CStr

Код:
appXL.Selection.Replace What:="date", Replacement:=CStr(tmpstr), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Format - удобнее, т.к сам задаешь формат строки
CStr - возвращает дату в коротком формате даты, установленной на компьютере
Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines