Объединить текст из нескольких ячеек - PullRequest
0 голосов
/ 04 мая 2020

Как объединить текст из нескольких ячеек, например, перевести эту формулу Excel в код VBA. Ячейка F3 должна =Q3&"_"&A3&"_"&D3&"_"&(ROUND(M3/1000,1))&"k"

Но я бы хотел, чтобы это повторялось в каждый момент, поэтому в F99= Q99&"_"&A99&"_"&D99&"_"&(ROUND(M99/1000,1))&"k"

Использование кода VBA:

For Each Cel In Range("A1:A100")   
If Cel.Value <> "" Then Cel.Offset(0, 5).Value = *Excel Formula NEED* "Q3&"_"&A3&"_"&D3&"_"&(ROUND(M3/1000,1))&"k""*

Сказать, что если значение в столбце A вставить текст в той же строке Столбец E

1 Ответ

1 голос
/ 04 мая 2020

Я также думаю, что формула (немного адаптированная для возврата "" в случае пустых ячеек) была бы лучшей. Но, даже если вы не ответили на мой вопрос и хотите найти решение в VBA, пожалуйста, проверьте следующий код:

Sub testConcatenate()
  Dim sh As Worksheet, cel As Range, lastRow As Long
  Set sh = ActiveSheet 'please use your sheet here
  lastRow = sh.Range("A" & Rows.count).End(xlUp).Row

  For Each cel In Range("A1:A" & lastRow)
    If cel.value <> "" Then
        cel.Offset(0, 5).value = Range("Q" & cel.Row).value & "_" & cel.value & "_"  & _
            Range("D" & cel.Row).value & "_" & Round(Range("M" & cel.Row).value / 1000, 1) & "k"
    End If
  Next
End Sub

Вы можете уточнить здесь значение "" в вашей формуле, что " k "означает и для чего используется последний символ" * ". Я этим не пользовался ...

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