Вы можете использовать следующий образец кода для разработки макроса для Microsoft Excel, который объединяет две строки в одну и разделяет их значения запятой:

<VBA>
Sub MergeRows()
  'Объявление переменных
  Dim ws As Worksheet
  Dim lastrow As Long
  Dim rng As Range
  Dim cell As Range
  Dim strValues As String
  
  'Установите рабочий лист и последнюю строку
  Set ws = ThisWorkbook.Sheets("Sheet1")
  lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
  
  'Создайте диапазон ячеек, которые будут объединены
  Set rng = ws.Range("A2:A" & lastrow)
  
  'Пройдитесь по каждой ячейке
  For Each cell In rng
    'Проверьте, пуста ли ячейка
    If Not IsEmpty(cell) Then
      'Добавьте значение ячейки в строку
      strValues = strValues & cell.Value & ","
    Else
      'Если ячейка пуста, удалите последнюю запятую
      strValues = Left(strValues, Len(strValues) - 1)
      'Установите значение первой ячейки в объединенное значение
      cell.Offset(0, -1).Value = strValues
      'Сброс строки для следующего цикла
      strValues = ""
    End If
  Следующая ячейка
End Sub
</VBA>

Этот макрос пройдется по каждой ячейке от A2 до последней строки в столбце A и добавит значение каждой ячейки в строковую переменную. Если ячейка пуста, то строковая переменная устанавливается в сумму значений предыдущих ячеек и помещается в ячейку слева. Этот макрос создаст две объединенные строки со значениями, разделенными запятой.
คุณสามารถใช้โค้ดตัวอย่างต่อไปนี้เพื่อพัฒนาแมโครสำหรับ Microsoft Excel ที่รวมสองแถวเป็นแถวเดียวและคั่นค่าด้วยเครื่องหมายจุลภาค: <VBA> Sub MergeRows() 'Variable Declaration Dim ws As Worksheet Dim Lastrow As Long Dim rng As Range Dim เซลล์ As Range Dim strValues As String 'ตั้งค่าสมุดงานและแถวสุดท้าย Set ws = ThisWorkbook.Sheets("Sheet1") Lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp ).แถว 'สร้างช่วงของเซลล์ ซึ่งจะถูกรวมเข้าด้วยกัน Set rng = ws.Range("A2:A" & Lastrow) 'วนซ้ำแต่ละเซลล์สำหรับแต่ละเซลล์ใน rng 'ตรวจสอบว่าเซลล์ว่างเปล่าหรือไม่ ถ้าไม่ใช่ว่าง( cell) จากนั้น 'เพิ่มค่าของเซลล์ลงในแถว strValues = strValues & cell.Value & "," Else 'หากเซลล์ว่าง ให้ลบเครื่องหมายจุลภาคสุดท้าย strValues = Left(strValues, Len(strValues) - 1) 'ตั้งค่าของเซลล์แรกเป็นเซลล์ค่ารวม Offset(0, -1).Value = strValues 'รีเซ็ตแถวสำหรับลูปถัดไป strValues = "" End If Next Cell End Sub </ VBA> มาโครนี้จะวนซ้ำแต่ละเซลล์ตั้งแต่ A2 ไปยังแถวสุดท้ายในคอลัมน์ A และเพิ่มค่าของแต่ละเซลล์ลงในตัวแปรสตริง หากเซลล์ว่าง ตัวแปรสตริงจะถูกตั้งค่าเป็นผลรวมของค่าของเซลล์ก่อนหน้าและวางไว้ในเซลล์ทางด้านซ้าย มาโครนี้จะสร้างสตริงที่ต่อกันสองสตริงโดยมีค่าคั่นด้วยเครื่องหมายจุลภาค
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence