Всем привет помогите написать макрос, надо из несколько строк сделать сделать одну например там где жёлтое это надо как сделать, а там где красное надо всё в одну ячейку точнее каждый столбец был в своей ячейке пример в жолтом цвете и чтобы там где идёт счёт строк нужно чтобы на одну строку не было 2 значения а к каждой строке был присвоен свой номер так как сделано сверху по буквам Надеюсь я правильно разъеснил ситуацию) если нет поправте меня) Зарание всем спасибо
Всем привет помогите написать макрос, надо из несколько строк сделать сделать одну например там где жёлтое это надо как сделать, а там где красное надо всё в одну ячейку точнее каждый столбец был в своей ячейке пример в жолтом цвете и чтобы там где идёт счёт строк нужно чтобы на одну строку не было 2 значения а к каждой строке был присвоен свой номер так как сделано сверху по буквам Надеюсь я правильно разъеснил ситуацию) если нет поправте меня) Зарание всем спасибоgorkaps
Несколько раз прочёл... Ничего не понял в этом вольноизливаемом круговороте мыслей Посмотрев на пример, могу "из готовенького" предложить
[vba]
Код
Sub Glue_TXT_with_Chr10() ' СКЛЕИТЬ тексты из выделенных ячеек с переносами строк If TypeName(Selection) <> "Range" Then Exit Sub Dim rRng As Range: Set rRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)) If rRng Is Nothing Then Exit Sub If rRng.Cells.Count = 1 Then Exit Sub Dim sText$, rCell As Range For Each rCell In Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)) If Len(rCell.Value) Then sText = sText & IIf(Len(sText), vbLf, "") & rCell.Value Next rCell sText = Application.Trim(sText) With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipBoard: End With MsgBox "Объединённый текст помещён в буфер обмена", , "Операция завершена успешно!" End Sub
[/vba]
Несколько раз прочёл... Ничего не понял в этом вольноизливаемом круговороте мыслей Посмотрев на пример, могу "из готовенького" предложить
[vba]
Код
Sub Glue_TXT_with_Chr10() ' СКЛЕИТЬ тексты из выделенных ячеек с переносами строк If TypeName(Selection) <> "Range" Then Exit Sub Dim rRng As Range: Set rRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)) If rRng Is Nothing Then Exit Sub If rRng.Cells.Count = 1 Then Exit Sub Dim sText$, rCell As Range For Each rCell In Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)) If Len(rCell.Value) Then sText = sText & IIf(Len(sText), vbLf, "") & rCell.Value Next rCell sText = Application.Trim(sText) With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipBoard: End With MsgBox "Объединённый текст помещён в буфер обмена", , "Операция завершена успешно!" End Sub
Как это не хочет клеить? Специально только что проверил на примере gorkaps. Прекрасно клеит. Достаточно то, что хочешь склеить, выделить и вызвать макрос... А потом внимательно прочитать полученный отчёт о работе макроса (Я так сделал специально для того, чтобы в случае чего не было больно за попорченные макросом данные. Пусть уж лучше пользователь сам решает, куда склеенные данные вставлять, а не макрос данные затирает) Тут, правда, есть разница как вставлять из буфера в ячейку: - если тупо выделить ячейку и вставлять, то vbLF'ы из текста Excel воспримет как vbCR'ы и раскидает текс по ячейкам - если сначала войти в режим редактирования ячейки, то вставится многострочно в одну ячейку. Но ведь gorkaps, кажется, не нужно склеивать через переносы строки. Вот пусть код чуть-чуть подпилит "под себя" и будет то, что нужно как ни вставляй.
Как это не хочет клеить? Специально только что проверил на примере gorkaps. Прекрасно клеит. Достаточно то, что хочешь склеить, выделить и вызвать макрос... А потом внимательно прочитать полученный отчёт о работе макроса (Я так сделал специально для того, чтобы в случае чего не было больно за попорченные макросом данные. Пусть уж лучше пользователь сам решает, куда склеенные данные вставлять, а не макрос данные затирает) Тут, правда, есть разница как вставлять из буфера в ячейку: - если тупо выделить ячейку и вставлять, то vbLF'ы из текста Excel воспримет как vbCR'ы и раскидает текс по ячейкам - если сначала войти в режим редактирования ячейки, то вставится многострочно в одну ячейку. Но ведь gorkaps, кажется, не нужно склеивать через переносы строки. Вот пусть код чуть-чуть подпилит "под себя" и будет то, что нужно как ни вставляй.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 10.06.2014, 21:45
Не, Андрей! Геморра мне хватило один раз когда я,"не предохранившись" после получаса обработки таблицы, этот макрос в его изначальном виде (с прямой записью в ячейку) применил, а с выбором данных чуть-чуть промахнултся... Как известно, фарш невозможно провернуть назад, а макрос ты в Excel'е не отменишь... После этого "несчастного случая", не дожидаясь, пока отрастут мои выдранные от досады волосы, я сразу макрос и переделал на запись в буфер обмена. Теперь не боюсь.
Не, Андрей! Геморра мне хватило один раз когда я,"не предохранившись" после получаса обработки таблицы, этот макрос в его изначальном виде (с прямой записью в ячейку) применил, а с выбором данных чуть-чуть промахнултся... Как известно, фарш невозможно провернуть назад, а макрос ты в Excel'е не отменишь... После этого "несчастного случая", не дожидаясь, пока отрастут мои выдранные от досады волосы, я сразу макрос и переделал на запись в буфер обмена. Теперь не боюсь.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 10.06.2014, 22:34