如何将不同单元格的值组合成我们自己格式的string并将其存储在第三个单元格中?

我有一个表有两列,即描述和金额。 我想以Description1-Amount1,Description2-Amount2等forms在第三个单元格中写入这些细节,直到出现空行。 请看图像以获得更好的理解。 表格列

所以,现在在单元格A1的Sheet 2中,我想要的内容为Dad-500,Chegg-123。 假设如果有更多的项目,我希望他们随后添加。 我已经devise了一个macros,点击时,该表中当前存在的任何值应保存在Sheet2的单元格A1中。

我的代码是:

Sub database Dim emptyRow As Long Dim mix1 As String mix1 = "=CONCATENATE(Sheet1!C5,""-"",Sheet1!D5)" Sheet2.Activate 'Determine emptyRow emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1 Cells(emptyRow, 1).Value = mix1 End Sub 

在上面的代码中, Sheet1!C5,""-"",Sheet1!D5代表Description(C列)和Amount(D列)。

此代码将公式复制到第二个工作表中。 但我希望这些细节被转换为一个string,然后存储在空单元格(A1),这样下一次,如果我运行与表中不同的值集的macros,这些细节应复制在单元格A2(因为这是下一个空单元格)并且单元格A1中的值不应该被更改,因为它被转换为string。

现在我面对的问题是,如果我第二次运行macros,单元格A1和A2中的值都在更改,因为这两个单元格包含公式而不是string。

请帮助我如何将不同单元格的值合并为我们自己格式的string,并将其存储在第三个string中。

传输值而不创build公式。

 sub database with sheet2 .cells(.rows.count, "A").end(xlup).offset(1, 0) = _ sheet1.cells(5, "C").value2 & chr(45) & sheet1.cells(5, "D").value2 end with end sub