#excel #vba
#excel #vba
Вопрос:
Я пытаюсь закодировать несколько кнопок, чтобы помочь с архивированием информации в аккуратные данные.
Но значение распространяется на несколько строк.
Мне нужно, чтобы это было в одной ячейке.
Также было бы здорово, если бы я мог очистить скопированные данные от всего форматирования и использовать книгу вставки в качестве «подателя формата»
Я очень новичок в программировании и в основном читаю и копирую вставленную информацию. Ничего ценного не пробовал
Sheet4.Range("D25", Workbooks("Underlag.xlsm").Worksheets("EU").Cells(Rows.Count, "D").End(xlUp)).Copy Workbooks("Arkiv.xlsm").Worksheets("EU").Range("E" amp; Rows.Count).End(xlUp)(2)
Ожидаемый результат — скопированные данные должны быть помещены в одну ячейку,
фактический результат заключается в том, что они распространяются по строкам, разрушая данные с других кнопок.
Комментарии:
1. Это ваш фактический код? С
Destination
новой строкой, без предыдущей строки, заканчивающейся на_
?2. Не знал, что это будет полная строка, предварительный просмотр обманул меня. Отредактировал его до нормального.
3. Вы специально копируете диапазон ячеек. Если вы хотите использовать только одну ячейку в пункте назначения, скопируйте одну ячейку для начала.
4. Есть ли у вас какие-либо предложения, как создать цикл, который проверяет строку за строкой после данных и добавляет ее в предыдущий вопрос? что-то вроде, если ячейка 1 не пуста, перейдите в ячейку 2, если ячейка 2 не пуста, ячейка 1 и ячейка 2 = Лист.ячейка 1
Ответ №1:
Может быть, вы можете попробовать это :
Sub test_paste()
Dim allData As String
Dim rng As Range
Dim cell As Range
Dim pasteRng As Range
Set rng = Sheet4.Range("D25", Workbooks("Underlag.xlsm").Worksheets("EU").Cells(Rows.Count, "D").End(xlUp))
Set pasteRng = Workbooks("Arkiv.xlsm").Worksheets("EU").Range("E" amp; Rows.Count).End(xlUp)
For Each cell In rng
If Not IsEmpty(cell.Value) Then
allData = allData amp; cell amp; " "
End If
Next
pasteRng = allData
End Sub
Он добавляет значения каждой отдельной ячейки в исходном диапазоне в строку, а затем помещает эту строку в выбранную ячейку.
примечание: я пробовал это только на одном листе, а не в разных книгах