Значение ячейки макроса не влияет на лист - PullRequest
1 голос
/ 06 августа 2020

Я пишу макрос для объединения нескольких столбцов в другой столбец для листа, который в конечном итоге будет содержать тысячи строк. Для тестирования я использую четыре строки данных. Моя проблема в том, что Cells (i, 25) .Value не заполняется, когда я запускаю следующий код. Код не нарушается, и я не получаю сообщений об ошибках. Я попытался присвоить 2 столбцу 26 с помощью Cells (i, 26), но это тоже не сработало.

Sub concat()
 Dim i As Long
 Dim add As String
 i = 1
 
 Do Until IsEmpty(Cells(i, 1))
  add = Cells(i, 14).Value
  Cells(i, 25).Value = Cells(i, 1).Value & " " & Cells(i, 2).Value & " " & Left(add, 3)
  i = i + 1
 Loop
End Sub

Любая помощь или рекомендации были бы очень признательны!

1 Ответ

1 голос
/ 06 августа 2020

Рекомендую немного изменить код. Я уже использовал команду IsEmpty раньше, и она не самая подходящая для этого.

Sub concat()
 Dim i As Long
 Dim add As String
 Dim last_1 As Long
 Dim last_2 As Long
 Dim last_14 As Long
 Dim lastCell As Long

 last_1 = Sheets("test3").Cells(Rows.Count, 1).End(xlUp).Row
 last_2 = Sheets("test3").Cells(Rows.Count, 2).End(xlUp).Row
 last_14 = Sheets("test3").Cells(Rows.Count, 14).End(xlUp).Row
 lastCell = WorksheetFunction.Max(last_1 , last_2, last_14)

 For i = 1 To lastCell
   add = Sheets("test3").Cells(i, 14).Value
   Sheets("test3").Cells(i, 25).Value = Sheets("test3").Cells(i, 1).Value & " " & Sheets("test3").Cells(i, 2).Value & " " & Left(add, 3)
 Next i
End Sub
...