Сейчас на форуме: (+2 невидимых)

 eXeL@B —› Оффтоп —› Макрос для Excel
Посл.ответ Сообщение


Ранг: 213.0 (наставник), 4thx
Активность: 0.220
Статус: Участник
Тот ещё Lamer

Создано: 18 апреля 2011 12:59
· Личное сообщение · #1

всем привет!

сразу к делу =) есть excel файл, в котором в одной ячейки записаны телефоны в формат 79991110000
номера разделяются запятой и пробелом: 79991110000, 79991110001, 79991110002 и т.д.

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

как реализовать это макросом и как вообще их делать понятия не имею.

подскажите, плиз, как бы это реализовать =)

-----
Do Not Get Mad Get Money! ;)




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 18 апреля 2011 13:32
· Личное сообщение · #2

1) Сервис - Макрос - Начать запись
2) <делаешь грязные дела>
3) Сервис - Макрос - Остановить запись
4) ALT+F11
5) смотришь код и пишешь по аналогии




Ранг: 213.0 (наставник), 4thx
Активность: 0.220
Статус: Участник
Тот ещё Lamer

Создано: 18 апреля 2011 13:53
· Личное сообщение · #3

Av0id, таким макаром видимо всё-таки будут удаляться определённые цыфры (типа 914), а не именно пятая, шестая и седьмая.

з.ы. точнее их не удалить надо, а заменить. скажем. на ***

-----
Do Not Get Mad Get Money! ;)




Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 18 апреля 2011 15:30
· Личное сообщение · #4

А тебе что, надо обязательно макросом?




Ранг: 233.1 (наставник), 30thx
Активность: 0.210
Статус: Участник

Создано: 18 апреля 2011 22:09
· Личное сообщение · #5

дай образец документа, на автоите напишу скрипт.

-----
AutoIt





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 18 апреля 2011 22:34
· Личное сообщение · #6

Talula пишет:
таким макаром видимо всё-таки будут удаляться определённые цыфры

Ты путаешь найти и заменить с макросами, как сказал Av0id можно хоть ракетный двигатель проектировать.

OLEGator пишет:
на автоите напишу скрипт

Фигасе ты извращенец, там же встроеный VBA захером автоит?

-----
Yann Tiersen best and do not fuck





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 18 апреля 2011 23:50
· Личное сообщение · #7

PE_Kill пишет:
Фигасе ты извращенец

+1
я правда на VBA ничего не писал, но вот такой код состряпал
Code:
  1. Sub Makro1()
  2.   Set ss = Selection
  3.   For Each cl In Selection.Cells
  4.     st = cl.Value
  5.     cl.Value = Left(st, 4) & "***" & Right(st, Len(st) - 7)
  6.   Next cl
  7. End Sub

выделяешь что нужно и запускаешь макрос

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 114.8 (ветеран), 41thx
Активность: 0.10
Статус: Участник

Создано: 19 апреля 2011 00:46
· Личное сообщение · #8

открой документ с данными и жми Alt+F11
в окне "Project - имя_проекта" в контекстном меню проекта "VBAProject(имя_файла)" выбираешь Insert -> Module
в новый модуль копируй вот это
после этого, в документе выбирай ячейку с номерами, затем жми Alt+F8 и запускай нужный макрос




Ранг: 233.1 (наставник), 30thx
Активность: 0.210
Статус: Участник

Создано: 19 апреля 2011 09:17
· Личное сообщение · #9

PE_Kill пишет:
Фигасе ты извращенец, там же встроеный VBA захером автоит?

просто я VBA не знаю

-----
AutoIt





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 19 апреля 2011 09:40
· Личное сообщение · #10

Да там знать то. Мне надо было сложный отчет сформировать в excel запрашивая данные с MSSQL Server 2000. Почитал хелп, за час сделал. А обработка строчек это совсем не сложно.

-----
Yann Tiersen best and do not fuck





Ранг: 57.7 (постоянный), 49thx
Активность: 0.070
Статус: Участник

Создано: 19 апреля 2011 22:10 · Поправил: inffo
· Личное сообщение · #11

Если нужно заменить одинаковые цифры, т.е. как в примере "111" нажимаешь в Excel Ctrl+H вводишь, что нужно заменить и внизу на что нужно заменить, далее ОК и радуешься результату. И не надо никаких макросов Главное, чтобы эти символы не повторялись, т.е. чтобы не было например 111090111, а то заменятся все комбинации Ну а если нужно конкретно определенные символы менять, то тогда выбирай один из макросов указанных вверху и пробуй




Ранг: 213.0 (наставник), 4thx
Активность: 0.220
Статус: Участник
Тот ещё Lamer

Создано: 04 мая 2011 04:50
· Личное сообщение · #12

всем спасибо за ответы =)
перекинул все варианты человеку, судя потому что больше не спрашивал - видимо что-то сработало...
тему закрываю.

-----
Do Not Get Mad Get Money! ;)



 eXeL@B —› Оффтоп —› Макрос для Excel

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати