|
|
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
1 задача Есть номера телефонов 79161234567 89261234567 9167654321дом ......... 84959876543рабочий Нужно выбрать все телефоны которые состоят из 11 цифр, как понимаю надо задать длину строки Len (11) символов, но лучше через Like ###########, то есть все телефоны которые равны 11 цифрам #, надо удалить первую цифру, ну говорят можно прописать все условия типа Like 7########## еще типа like 8##########, но я не понимаю как все задать в VBA с удалением первой цифры??? 2 задача Имея телефоны приведенный в единый формат, нужно удалить повторяющие 9161234567 9161234567 9261234567 - то есть должно получиться : 9161234567 9261234567 типа в Экселе есть "Стили" - Условие форматирование - повторяющие значения, вот по типу такого же прицепа, но удалять???!!! все значения находятся в разных ячейках в одной строке, строк таких окола 1 000 000!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 21:30 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Focha, по 1-й задаче Код: vbnet 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 23:14 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
скукотищаFocha, по 1-й задаче Код: vbnet 1. 2. 3. 4. А вот про какой мне mid говорили, а зачем после Mid знак доллара???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 07:31 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Fochaа зачем после Mid знак доллара????Mid возвращает значение Variant, а Mid$ - String. В общем, чтобы избежать лишнего преобразования типов. А вообще - это написано в F1 - не ленись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 09:35 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Focha, >зачем после Mid знак доллара???? Его неплохо ставить после Replace Left Right MsgBox и еще есть случаи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 18:28 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Shocker.ProFochaа зачем после Mid знак доллара????Mid возвращает значение Variant, а Mid$ - String. В общем, чтобы избежать лишнего преобразования типов. А вообще - это написано в F1 - не ленись Читаю F1, уровень у меня в VBA нулевой, вот учусь, не получается спрашиваю))) ааа про доллар понял, а теперь не понимаю Sub Единый_формат() phone_num- это что будет Range(ячейка).Select??? if phone_num like "[7]##########" then phone_num = Mid$(phone_num, 1) end if phone_num- это что будет Range(ячейка).Select??? if phone_num like "[8]##########" then phone_num = Mid$(phone_num, 1) end if end Sub Ципихович ЭндрюFocha, >зачем после Mid знак доллара???? Его неплохо ставить после Replace Left Right MsgBox и еще есть случаи Replace ( вот тут я не понимаю как сделать так, что бы сначала он отбирал через Like строки со значениями 7##########, после чего заменял их типа , "7", "") Left и Right - проблема в том что строки имеют больше вариантов и отображать часть левую или правую не подходит, мне нужно именно удалить MsgBox - вывод в отдельное окно???? мне надо изменить много много строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 19:04 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Sub Единый_формат() Selection.Replace What:=" ", Replacement:="" Selection.Replace What:=")", Replacement:="" Selection.Replace What:="(", Replacement:="" Selection.Replace What:="-", Replacement:="" End Sub Ну вот это типа получаеться через макрос, если удалить все лишнее так скажим, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 19:09 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Focha, >MsgBox - вывод в отдельное окно???? мне надо изменить много много строк Что сложно как в Ворде найти MsgBox и заменить на MsgBox$ и это не доллар а указание, что это Стринг. Главное не спутайте MsgBox - сообщение с тем где нужно выбирать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 20:39 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Ципихович Эндрю, у тебя есть 30 минут на внятное объяснение, зачем после MsgBox нужно ставить $ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 20:43 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro+ Ципихович Эндрю, у тебя есть 30 минут на внятное объяснение, зачем после MsgBox нужно ставить $ ахахахахха ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 20:50 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Fochaахахахахха не вижу причин для смеха, ЦЭ мог бы сказать хотя бы сказать "не знаю, погорячился" Так вот MsgBox - функция числовая и следовать совету ЦЭ не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 22:06 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, >Ципихович Эндрю, у тебя есть 30 минут на внятное объяснение, зачем после MsgBox нужно ставить $ ОК, поясню Ваши словами, вопрос к Вам - зачем после, например Left нужно ставить $? Это и есть мой ответ на вопрос "зачем после MsgBox нужно ставить $" Всё за тем же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:47 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, два правила которые почти никто не соблюдает 'Если Вам нужно производить множество операций с файлами или с переменными типа String, всегда добавляйте знак $ после имени команды 'например, Mid$ вместо Mid, потому что Mid работает с параметрами типа Variant, в то время, как Mid$ работает с параметрами типа String 'что в 3 раза быстрее, например: Right$, Left$, RTrim$, LTrim$, Trim$, Mid$, StrReverse$, UCase$, LCase$, Replace$, Chr$, MsgBox$. Len никогда не считает длину строки, а берёт готовое значение, которое всегда хранится в начале строки, поэтому лучше не сравнивать строку с "", а считать длину ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:53 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Это ты сам придумал? Если нет - где ссылка на оригинальный текст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:57 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, придумал конечно не сам, а где взял уже не вспомню, именно в этой части Len никогда не считает длину строки, а берёт готовое значение, которое всегда хранится в начале строки, поэтому лучше не сравнивать строку с "", а считать длину Могу поискать ссылку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:00 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Ципихович Эндрю, ну зачем Вы спорите? Не проще F1 нажать и почитать? авторDisplays a message in a dialog box, waits for the user to click a button, and returns an Integer indicating which button the user clicked. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:01 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Ципихович ЭндрюShocker.Pro, придумал конечно не сам, а где взял уже не вспомню, именно в этой части Len никогда не считает длину строки, а берёт готовое значение, которое всегда хранится в начале строки, поэтому лучше не сравнивать строку с "", а считать длину Могу поискать ссылку А я вот нашел уже. И там умные люди вдалбливают некоему бестолковому человеку (странным образом его ник там Ципихович Эндрю", что НЕ НАДО так делать. Вот ведь совпадение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:04 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
kuklpЦипихович Эндрю, ну зачем Вы спорите? Не проще F1 нажать и почитать? авторDisplays a message in a dialog box, waits for the user to click a button, and returns an Integer indicating which button the user clicked.ЦЭ не знает, что такое типы данных, поэтому ему это ни о чем не скажет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:05 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
kuklp, Отображает сообщение в диалоговом окне, ожидает пользователя нажать кнопку, и возвращает целое число, указывающее, какая кнопка пользователь щелкнул Я же писал не путать msgBox с MsgBox'oм >Главное не спутайте MsgBox - сообщение с тем где нужно выбирать - вчера 20:39 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:06 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, >что НЕ НАДО так делать - освежите память плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:07 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Focha, на миллионе строк будет доолго отрабатывать. (!) Перед эксперементами сделайте копию исходного файла. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 18:37 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Ципихович Эндрюkuklp, Я же писал не путать msgBox с MsgBox'oм >Главное не спутайте MsgBox - сообщение с тем где нужно выбирать - вчера 20:39Ципихович Эндрю, "MsgBox - сообщение", как вы его называете(а правильно prompt), это всего лишь параметр(аргумент) функции MsgBox, никак не влияющий на возвращаемый тип данных. Но чувствую, зря распинаюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 20:06 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Развели тут диалог!!! Понял принцеп, буду делать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 22:36 |
|
||
|
Excel 2007-2010 VBA как удалить символ?/ как удалить одинаковые значения?
|
|||
|---|---|---|---|
|
#18+
Пролему решил sub test() Do While activecell Like "?*" If activecell Like "[78]##########" activecell=Right (activecell, 10) ActiveCell.Offset(1, 0).Range("A1").Select Else if activecell Like "#######!###" leviecifr=Left (activecell, 7) praviecifr=Right (activecell, 3) activecell= leviecifr&praviecifr ActiveCell.Offset(1, 0).Range("A1").Select Else if activecell Like........... ....................................... ....................................... ...................................... End if Loop ActiveCell.Offset(1, 0).Range("A1").Select End Sub Как то так....тут могут быть ошибки, так как код не копировал! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2011, 20:01 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37587513&tid=2176143]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 487ms |

| 0 / 0 |
