Страницы: 1
RSS
Копирование без разрыва строки
 
Добрый день.
При выделении и копировании двух клеток (например A1+B1), с помощью ctrl+c происходит добавление пробела между текстом в клетках, но не обычного (обычный пробел, кстати, не помешал бы мне) а слишком длинного, как табуляция...
Где-то в просторах интернета нашёл код в VBA для создания макроса для копирования, якобы без этого "пробела", но он не работает. То есть, копирует по сути также, с пробелом.
https://stackoverflow.com/questions/14695836/ms-excel-adds-line-break-when-copying-a-cell/14696083#1...

Не подскажите, как-то можно решить данную проблему?
 
При копировании ничего такого не происходит. Видимо, при вставке. Как вставляете данные? Куда?
Пример нужно показывать.
 

Ну вот, допустим, клетки A356 и B356, я их выделил вместе, скопировал и вставил в блокнот.
В блокноте:
1) Первая строка, это то что получилось... как раз выделил длинный пробел.
2) Вторая строка просто для примера, с обычным пробелом. (Написал руками)

Вот собственно, как копировать без длинного пробела?)
В идеале с обычным пробелом, но если не будет вообще, то ничего страшного. Это лучше, чем такой длинный.. некоторое ПО его вообще не понимает.
Изменено: autograph - 19.11.2018 11:43:50
 
Цитата
autograph написал:
вставил в блокнот
1) забываем про кривое, глючное и ни на что не годное мелкомягкое поделие
2) скачиваем любой txt-редактор, поддерживающий регэкспы (я лично юзаю Notepad++)
3) меняем \t на то, что нужно
...
PROFIT.
 
Цитата
StoTisteg написал:
1) забываем про кривое, глючное и ни на что не годное мелкомягкое поделие 2) скачиваем любой txt-редактор, поддерживающий регэкспы (я лично юзаю Notepad++) 3) меняем \t на то, что нужно...PROFIT.
Это понятно, но что делать, если копирование постоянно происходит из excel в различное ПО?
Блокнот это был, как пример и объяснение того, с чем у меня проблема )

Правильно ли я понимаю, что проблема не в копировании, а в конечной обработке буфера при "вставке" ?
Изначально подумал, что винда как-то некорректно это делает именно в excel, поэтому начал искать альтернативные способы копирования текста.
 
Цитата
autograph написал:
слишком длинного, как табуляция
Это и есть символ Tab. Попробуйте такой макрос для копирования
Код
Sub CopyWithoutTab()
  Selection.Copy
  With New MSForms.DataObject
    .GetFromClipboard
    .SetText Replace(.gettext, vbTab, " ")
    .PutInClipboard
  End With
End Sub
Подключите библиотеку Microsoft Forms 2.0 Object Library или создайте форму (можно оставить ее пустой).
 
Супер! Спасибо! Работает :)
 
Цитата
StoTisteg написал:
1) забываем про кривое, глючное и ни на что не годное мелкомягкое поделие
Но не забываем, что у всех возможно
Цитата
StoTisteg написал:
2) скачиваем любой txt-редактор, поддерживающий регэкспы (я лично юзаю Notepad++)
Блокнот, кстати, вполне может провести замену, только нужно сначала скопировать нужный символ табуляции и потом вставить в поле ввода формы "Замена".
Цитата
autograph написал:
инда как-то некорректно это делает именно в excel
Именно в Excel корректно разделять данные из разных ячеек, поэтому при вставке текста вставляется между столбцами - символ табуляции, между строками - символ переноса строки (не уверен, что без символа возврата каретки).
То есть, чтобы избавиться от ненужных символов табуляции достаточно уйти от копирования нескольких столбцов. Это можно сделать, объединив данные из нескольких ячеек в одну с использованием СЦЕПИТЬ или &.
Страницы: 1
Наверх