|
|
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Дано: 1. Документ, в котором слова заполнены "по квадратикам" - по одной букве на ячейку. Нужно программно собрать их в одно слово. Это можно сделать так: Код: plaintext 1. 2. 3. 4. 2. В словах могут встречаться пробелы. Т.е. если "квадратик" пуст, в результирующее слово нужно добавить пробел. Можно решить так Код: plaintext 1. 2. 3. 4. 5. 6. 3. "Квадратики" могут быть состоять из нескольких объединенных (merge) ячеек. И вот тут - проблема. Приведенный код добавляет пробелы для всех ячеек, которые входят в состав "объединенных". Как для одной пустой "объединенной" ячейки добавить один пробел, а не два или три, по количеству входящих в нее ячеек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 12:42 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 13:48 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Deggasad Код: plaintext Появилась мысль сравнивать Cells(nRow,nCol).Address и Cells(nRow,nCol).MergeArea.Address. Если их начальные части совпадают, то Cell(nRow, nCol) - первая ячейка в объединенном диапазоне, и ее значение можно учитывать, а остальные - игнорировать. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 15:15 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™, А я что-то не понимаю, зачем? Ведь внизу макроса есть sText = Trim(sText) - сжать пробелы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 15:33 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Исходный текст выглядит так: Код: plaintext 1. 2. Проблема в том, что пользователь в 11й клетке, между словами, не напишет символ "пробел", посчитав клетку и так пустой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:01 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™Исходный текст выглядит так: Код: plaintext 1. 2. Проблема в том, что пользователь в 11й клетке, между словами, не напишет символ "пробел", посчитав клетку и так пустой.Что-то я проблемы не вижу, код под цифрой 2 в самом первом вашем сообщение должен корректно отработать. Функция trim обрубает концевые пробелы, а внутренние пробелы сжимает до одного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:09 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™, СЖПРОБЕЛЫ работоет так: одиночные пробелы внутри текста оставляет, двойные и более пробелы внутри текста преобразует в один пробел, первые и последние пробелы (в любом количестве) убивает. Вроде так и нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:11 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™, Я бы например так код написал, фактически тоже что и у вас, предварительно нужно выделить ячейки с текстом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Если проблемы именно с объединенными ячейками, приведите конкретный пример с проблемой, лучше в виде файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:17 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Djon PlayerЧто-то я проблемы не вижу, код под цифрой 2 в самом первом вашем сообщение должен корректно отработать. Функция trim обрубает концевые пробелы, а внутренние пробелы сжимает до одного.Есть пункт 3 - "квадратики" могут состоять из нескольких объединенных ячеек. Код под цифрой 2 добавляет пробелы между буквами, по числу ячеек. После Trim получается "у л . П е р в о г о М а я" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:17 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Интересно получается: если писать m = Trim(n), то внутренние задвоения не убираются, а если k = Application.WorksheetFunction.Trim(n), то убираются все лишние пробелы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:17 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™Djon PlayerЧто-то я проблемы не вижу, код под цифрой 2 в самом первом вашем сообщение должен корректно отработать. Функция trim обрубает концевые пробелы, а внутренние пробелы сжимает до одного.Есть пункт 3 - "квадратики" могут состоять из нескольких объединенных ячеек. Код под цифрой 2 добавляет пробелы между буквами, по числу ячеек. После Trim получается "у л . П е р в о г о М а я" Т.е. вы имеете ввиду, что к примеру у вас буква "П" находиться в объединённой ячейке, а "е" в следующей, в результате при соединении букв в слова вместо "Пе" получается "П е"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:23 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™, Тогда попробуйте так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:28 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
Djon PlayerТ.е. вы имеете ввиду, что к примеру у вас буква "П" находиться в объединённой ячейке, а "е" в следующей, в результате при соединении букв в слова вместо "Пе" получается "П е"?Именно так. И ваш вариант кода, к сожалению, дает такие же результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:29 |
|
||
|
Значение объединенных ячеек
|
|||
|---|---|---|---|
|
#18+
karly™Djon PlayerТ.е. вы имеете ввиду, что к примеру у вас буква "П" находиться в объединённой ячейке, а "е" в следующей, в результате при соединении букв в слова вместо "Пе" получается "П е"?Именно так. И ваш вариант кода, к сожалению, дает такие же результаты.А последний вариант должен всё правильно давать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2009, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36384922&tid=2178663]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 503ms |

| 0 / 0 |
