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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос копирующий ячейку с заменой символов - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Макрос копирующий ячейку с заменой символов
Minor Дата: Пятница, 17.08.2012, 20:55 | Сообщение № 1
Группа: Гости
Задача в том, чтобы макрос не просто копировал значение указанной ячейки (скажем "голова,топор&капуста"), а ещё и заменял при этом определенные символы, знаки и пробелы на "_". Т.е. "голова_топор_капуста". Буду очень признателен за помощь.
 
Ответить
СообщениеЗадача в том, чтобы макрос не просто копировал значение указанной ячейки (скажем "голова,топор&капуста"), а ещё и заменял при этом определенные символы, знаки и пробелы на "_". Т.е. "голова_топор_капуста". Буду очень признателен за помощь.

Автор - Minor
Дата добавления - 17.08.2012 в 20:55
KuklP Дата: Пятница, 17.08.2012, 21:22 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Сейчас мы за вас и пример набросаем и заполним данными, и угадаем какая ячейка "указанная", и кто и как ее указывает, и куда ее копировать, и макрос напишем. Никуда не уходите. Мы щас!


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеСейчас мы за вас и пример набросаем и заполним данными, и угадаем какая ячейка "указанная", и кто и как ее указывает, и куда ее копировать, и макрос напишем. Никуда не уходите. Мы щас!

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

2010
Как говорил незабвенный Остап Сулейман Берта Мария Бендер - Бей - кто первый скажет, что это девочка... biggrin
[vba]
Code
Sub qq()
[B1] = Replace(Replace(Replace(Replace(Replace(Replace([A1], ",", "_"), "&", "_"), "@", "_"), " ", "_"), ".", "_"), "!", "_")
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеКак говорил незабвенный Остап Сулейман Берта Мария Бендер - Бей - кто первый скажет, что это девочка... biggrin
[vba]
Code
Sub qq()
[B1] = Replace(Replace(Replace(Replace(Replace(Replace([A1], ",", "_"), "&", "_"), "@", "_"), " ", "_"), ".", "_"), "!", "_")
End Sub
[/vba]

Автор - RAN
Дата добавления - 17.08.2012 в 22:27
Minor Дата: Пятница, 17.08.2012, 22:45 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Огромное спасибо, RAN, за своевременный и исчерпывающий ответ biggrin
 
Ответить
СообщениеОгромное спасибо, RAN, за своевременный и исчерпывающий ответ biggrin

Автор - Minor
Дата добавления - 17.08.2012 в 22:45
RAN Дата: Пятница, 17.08.2012, 22:50 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
lol :lol: lol :lol: lol
Это был пример как делать НЕ НАДО!

Оно конечно работает в определенном диапазоне...
Но лучше пример - что надо.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 17.08.2012, 22:53
 
Ответить
Сообщениеlol :lol: lol :lol: lol
Это был пример как делать НЕ НАДО!

Оно конечно работает в определенном диапазоне...
Но лучше пример - что надо.

Автор - RAN
Дата добавления - 17.08.2012 в 22:50
Minor Дата: Пятница, 17.08.2012, 23:18 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Нет, ну что вы, странно, что не выложили скрин кнопки "запись макроса", так это вообще чудесная вещь. biggrin
Какой пример, вы о чём? Вот ловите файл. У нас есть столбик где написан формат размещений. Вот мне нужно эти размещения скопировать в таблицу на другой лист, но чтобы там ещё всё *, "х", " ", и прочее заменялось "_".
 
Ответить
СообщениеНет, ну что вы, странно, что не выложили скрин кнопки "запись макроса", так это вообще чудесная вещь. biggrin
Какой пример, вы о чём? Вот ловите файл. У нас есть столбик где написан формат размещений. Вот мне нужно эти размещения скопировать в таблицу на другой лист, но чтобы там ещё всё *, "х", " ", и прочее заменялось "_".

Автор - Minor
Дата добавления - 17.08.2012 в 23:18
Minor Дата: Пятница, 17.08.2012, 23:43 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

А файл не прикрепился чтоли?


Сообщение отредактировал Minor - Пятница, 17.08.2012, 23:53
 
Ответить
СообщениеА файл не прикрепился чтоли?

Автор - Minor
Дата добавления - 17.08.2012 в 23:43
RAN Дата: Пятница, 17.08.2012, 23:58 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Quote (Minor)

А файл не прикрепился чтоли?

А правила прочитать влом? angry

[vba]
Code
Sub Minor()
     Dim Min_or, arr, i&, k&
     arr = Array(",", ".", "&", "!", " ", "@", "хрен_знает_что")
     Min_or = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Value
     For k = 1 To UBound(Min_or)
         For i = 0 To UBound(arr)
             Min_or(k, 1) = Replace(Min_or(k, 1), arr(i), "_")
         Next: Next
     Sheets(2).Range("A1").Resize(UBound(Min_or)) = Min_or
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Quote (Minor)

А файл не прикрепился чтоли?

А правила прочитать влом? angry

[vba]
Code
Sub Minor()
     Dim Min_or, arr, i&, k&
     arr = Array(",", ".", "&", "!", " ", "@", "хрен_знает_что")
     Min_or = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Value
     For k = 1 To UBound(Min_or)
         For i = 0 To UBound(arr)
             Min_or(k, 1) = Replace(Min_or(k, 1), arr(i), "_")
         Next: Next
     Sheets(2).Range("A1").Resize(UBound(Min_or)) = Min_or
End Sub
[/vba]

Автор - RAN
Дата добавления - 17.08.2012 в 23:58
KuklP Дата: Суббота, 18.08.2012, 06:24 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вариант попроще:
[vba]
Code
Sub Minor()
     Dim s$, i&, r As Range
     s = ",.&!:; @"
     Set r = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
     For i = 1 To Len(s): r.Replace Mid$(s, i, 1), "_", xlPart: Next
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВариант попроще:
[vba]
Code
Sub Minor()
     Dim s$, i&, r As Range
     s = ",.&!:; @"
     Set r = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
     For i = 1 To Len(s): r.Replace Mid$(s, i, 1), "_", xlPart: Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 18.08.2012 в 06:24
KuklP Дата: Понедельник, 20.08.2012, 19:55 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Обсуждение пренесено сюда автором:
http://www.planetaexcel.ru/forum.php?thread_id=44417


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеОбсуждение пренесено сюда автором:
http://www.planetaexcel.ru/forum.php?thread_id=44417

Автор - KuklP
Дата добавления - 20.08.2012 в 19:55
Minor Дата: Понедельник, 20.08.2012, 21:43 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Спасибо!
 
Ответить
СообщениеСпасибо!

Автор - Minor
Дата добавления - 20.08.2012 в 21:43
Вандерлит Дата: Понедельник, 28.11.2016, 16:43 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!

Можете расписать "вариант попроще", а то только начинаю изучение vba и не понимаю эту краткую запись. Либо как то прокомментируйте. Заранее спасибо yes


Nosce te ipsum.
 
Ответить
СообщениеДобрый день!

Можете расписать "вариант попроще", а то только начинаю изучение vba и не понимаю эту краткую запись. Либо как то прокомментируйте. Заранее спасибо yes

Автор - Вандерлит
Дата добавления - 28.11.2016 в 16:43
  • Страница 1 из 1
  • 1
Поиск:

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