Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何将不同的列值连接到单个单元格?_Vba_Excel - Fatal编程技术网

Vba 如何将不同的列值连接到单个单元格?

Vba 如何将不同的列值连接到单个单元格?,vba,excel,Vba,Excel,。 大家好,我需要你们对这个话题的意见。 我打算在不同的列中组合或连接不同的值,使其显示在单个单元格中 图示如下: : 不使用宏是否可以执行此操作?使用 =CONCATENATE("The name of the painter: ",A3,CHAR(10), "The Hobby: ", B3, CHAR(10), "Tool used: ", C3,CHAR(10),"Remuneration: ", D3) 要回答关于如何使用代码的第二个问题,请执行以下操作: Sub Populate

。 大家好,我需要你们对这个话题的意见。 我打算在不同的列中组合或连接不同的值,使其显示在单个单元格中

图示如下:

:

不使用宏是否可以执行此操作?

使用

=CONCATENATE("The name of the painter: ",A3,CHAR(10), "The Hobby: ", B3, CHAR(10), "Tool used: ", C3,CHAR(10),"Remuneration: ", D3)

要回答关于如何使用代码的第二个问题,请执行以下操作:

Sub PopulateResultsToCell()
    Dim X As Long, MyArr As Variant, PrefixArr As Variant
    PrefixArr = Array("The name of the painter: ", "The Hobby: ", "Tool used: ", "Remuneration: ")
    MyArr = Application.Transpose(Application.Transpose(Range("A3:D3"))) '<-- Change this for the range to read
    For X = LBound(MyArr) To UBound(MyArr)
        MyArr(X) = PrefixArr(X - 1) & Trim(MyArr(X)) 'Note: Option base is zero but transposing creates a base 1 array hence the X minus 1
    Next
    Range("F3").Formula = Join(MyArr, vbLf) '<-- Change this for where to populate the result to
End Sub
Sub-PopulateResultsToCell()
尺寸X为长,MyArr为变体,前缀为变体
PrefixArr=Array(“画家的名字:”、“爱好:”、“使用的工具:”、“报酬:”)

MyArr=Application.Transpose(Application.Transpose(Range)(“A3:D3”))“嘿,谢谢你的回答!您知道如何使用宏来执行此操作吗?是的,我知道。但您明确要求的不是宏解决方案。所以,如果这个答案解决了你原来的问题,你可能想把它标记为接受。如果你需要一个宏观的解决方案,你可以发布一个新的问题,指定最小的“环境”。感谢you@LukeHavelard,那么我的回答解决了你原来的问题了吗?编辑你的帖子,删除“不带宏”位,并将其替换为“带宏和不带宏”。您已经标记了VBA,但标题没有指定,因此不会出现误导性搜索的问题。我在下面为您输入了代码,但是用户3598756正确地回答了您的第一个问题,所以请将他们的答案标记为正确的。@LukeHavelard,您是否有机会正确管理此帖子?