Скопируйте заполненные ячейки с другого листа и найдите первую пустую строку - PullRequest
0 голосов
/ 11 мая 2018

ОК, я довольно новичок в VBA. Здесь много интересной информации, но у меня проблемы с поиском чего-то, что отвечает всем моим потребностям. Лист 2 содержит 7 столбцов данных (может быть длиной от 1 до 1000 строк). Лист 1 является основным списком. Мне нужно, чтобы все заполненные ячейки из листа 2 были вставлены в лист 1 в первой пустой ячейке в столбце B. Первая пустая клетка - это то, что меня бросает. У меня есть кнопка ActiveX на листе 1, чтобы заполнить ее с листа 2. Вот код: Большое спасибо! - Значения ячеек неверны ... лист, с которого я копирую, содержит 7 столбцов, начиная с A1, я просто не дошел до того, чтобы исправить свою формулу

Private Sub CommandButton1_Click()
Dim mySheet As Worksheet, myOtherSheet As Worksheet, myBook As Workbook 
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Sheets("Sheet1")
Set myOtherSheet = myBook.Sheets("Dana")

Dim i As Integer, j As Integer 

j = 28 
For i = 5 To 100 
If mySheet.Cells(i, 1).Value <> "" Then 
   myOtherSheet.Cells(j, 2).Value = mySheet.Cells(i, 1).Value 
   j = j + 1 
End If
Next i 

Вот пример маленький образец

1 Ответ

0 голосов
/ 11 мая 2018

Попробуйте с этим:

Private Sub CommandButton1_Click()

Dim mySheet As Worksheet
Dim myOtherSheet As Worksheet
Dim myBook As Workbook
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Worksheets(1)
Set myOtherSheet = myBook.Worksheets("Dana")

i = 1

While mySheet.Cells(i, "B") <> ""

i = i + 1

Wend

i = "B" & i

e = mySheet.Range("B" & Rows.Count).End(xlUp).Row

myOtherSheet.Range("B1:B" & e).Copy
mySheet.Range(i).PasteSpecial (xlPasteAll)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...