Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Можно ли в Replace использовать переменную? - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Можно ли в Replace использовать переменную?
tsap Дата: Пятница, 28.02.2014, 12:17 | Сообщение № 1
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
Столкнулся с проблемой, но не уверен если такая возможность в принципе: При замене части формулы в диапазоне с помощью метода Replace не воспринимает значения переменной, которую хочу "подсунуть" для замены. Возможно ли как-то передать переменную в Replace? (при замены переменной на какое-либо текстовое значение, все ок).
Код имеет вид следующий:
[vba]
Код

Sub poisk_sootvetstvii()
Dim rngSootv As Range
Dim sWhat As String
Dim sRepl As String

Set rngSootv = Worksheets(1).ListObjects("tblSootv").Range
ThisWorkbook.Worksheets(2).Activate

sWhat = "текст_который_надо_заменить"
sRepl = WorksheetFunction.VLookup("текст_который_надо_заменить", rngSootv, 2, 0)

Worksheets(2).Range("B3:K3").Replace What:="текст_который_надо_заменить", Replacement:=sRepl, LookAt:=xlPart, SearchOrder:=xlByColumns
End Sub
[/vba]


 
Ответить
СообщениеСтолкнулся с проблемой, но не уверен если такая возможность в принципе: При замене части формулы в диапазоне с помощью метода Replace не воспринимает значения переменной, которую хочу "подсунуть" для замены. Возможно ли как-то передать переменную в Replace? (при замены переменной на какое-либо текстовое значение, все ок).
Код имеет вид следующий:
[vba]
Код

Sub poisk_sootvetstvii()
Dim rngSootv As Range
Dim sWhat As String
Dim sRepl As String

Set rngSootv = Worksheets(1).ListObjects("tblSootv").Range
ThisWorkbook.Worksheets(2).Activate

sWhat = "текст_который_надо_заменить"
sRepl = WorksheetFunction.VLookup("текст_который_надо_заменить", rngSootv, 2, 0)

Worksheets(2).Range("B3:K3").Replace What:="текст_который_надо_заменить", Replacement:=sRepl, LookAt:=xlPart, SearchOrder:=xlByColumns
End Sub
[/vba]

Автор - tsap
Дата добавления - 28.02.2014 в 12:17
Serge_007 Дата: Пятница, 28.02.2014, 21:33 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2750 ±
Замечаний: ±

Excel 2016
Возможно ли как-то передать переменную в Replace?
Возможно, см. вложение

[vba]
Код
Sub tsap()
Dim q As String
      q = WorksheetFunction.VLookup("abc", Range("d1:e3"), 2, 0)
      Range("a1:a10").Replace What:="bc", Replacement:=q, LookAt:=xlPart
End Sub
[/vba]
К сообщению приложен файл: tsap.xls (33.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Возможно ли как-то передать переменную в Replace?
Возможно, см. вложение

[vba]
Код
Sub tsap()
Dim q As String
      q = WorksheetFunction.VLookup("abc", Range("d1:e3"), 2, 0)
      Range("a1:a10").Replace What:="bc", Replacement:=q, LookAt:=xlPart
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 28.02.2014 в 21:33
RAN Дата: Суббота, 01.03.2014, 01:08 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Set rngSootv = Worksheets(1).ListObjects("tblSootv").Range
[/vba]

песня отдельная, но без файла даже пытаться напеть лениво


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
[vba]
Код
Set rngSootv = Worksheets(1).ListObjects("tblSootv").Range
[/vba]

песня отдельная, но без файла даже пытаться напеть лениво

Автор - RAN
Дата добавления - 01.03.2014 в 01:08
tsap Дата: Суббота, 01.03.2014, 03:05 | Сообщение № 4
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
Serge_007, спасибо большое, все получилось. (не понял правда что до этого делал не так, но переписал часть кода и ... заработало :) )
RAN, может подскажете как сделать "покрасивше" в таком случае? Я до другого не додумалси ;) .

П.С. Если наличие файла в данном случае столь необходимо, то прикрепляю условный пример (заранее предупрежу - файл xlsm, т.к. содержит "умные" таблицы)
К сообщению приложен файл: tsap.xlsm (32.0 Kb)




Сообщение отредактировал tsap - Суббота, 01.03.2014, 03:06
 
Ответить
СообщениеSerge_007, спасибо большое, все получилось. (не понял правда что до этого делал не так, но переписал часть кода и ... заработало :) )
RAN, может подскажете как сделать "покрасивше" в таком случае? Я до другого не додумалси ;) .

П.С. Если наличие файла в данном случае столь необходимо, то прикрепляю условный пример (заранее предупрежу - файл xlsm, т.к. содержит "умные" таблицы)

Автор - tsap
Дата добавления - 01.03.2014 в 03:05
Serge_007 Дата: Суббота, 01.03.2014, 10:55 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2750 ±
Замечаний: ±

Excel 2016
[vba]
Код
Worksheets(1).ListObjects("tblSootv").Range
[/vba]
Таблица - это именованый диапазон, следовательно обращаться к ней надо так:
[vba]
Код
Range("tblSootv")
[/vba]

файл xlsm, т.к. содержит "умные" таблицы
Нет никакой необходимости нарушать правила форума, в связи с наличием в файле "умных" таблиц (см. вложение)
На первый раз выносить предупреждение не буду
К сообщению приложен файл: tsap2.xls (62.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
[vba]
Код
Worksheets(1).ListObjects("tblSootv").Range
[/vba]
Таблица - это именованый диапазон, следовательно обращаться к ней надо так:
[vba]
Код
Range("tblSootv")
[/vba]

файл xlsm, т.к. содержит "умные" таблицы
Нет никакой необходимости нарушать правила форума, в связи с наличием в файле "умных" таблиц (см. вложение)
На первый раз выносить предупреждение не буду

Автор - Serge_007
Дата добавления - 01.03.2014 в 10:55
tsap Дата: Суббота, 01.03.2014, 11:59 | Сообщение № 6
Группа: Проверенные
Ранг: Участник
Сообщений: 60
Репутация: 6 ±
Замечаний: 0% ±

2013
Serge_007, спасибо за объяснение. Замечание учту на будущее.
Считаю вопрос закрытым. Спасибо за помощь


 
Ответить
СообщениеSerge_007, спасибо за объяснение. Замечание учту на будущее.
Считаю вопрос закрытым. Спасибо за помощь

Автор - tsap
Дата добавления - 01.03.2014 в 11:59
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!