Vba 宏连接字符串+数字+日期

Vba 宏连接字符串+数字+日期,vba,excel,Vba,Excel,我需要将几个单元格值连接到一个单元格中,该单元格将始终位于连接的单元格旁边。以下是一个例子: 始终有4个包含数据的主列,第5个Wynik将用于连接同一行中4个单元格的值。例如,Wynik列中每行的最终结果将是REG-15_S1_2018-01-20_12333 我想为它创建一个宏,以便它立即执行,因为在每列中都会有上千条记录,但我没有找到任何例子,我也不是VBA专家。。。你有什么解决方法吗?或者有什么流行的宏可以使用吗 我将感谢任何帮助 Alex在组合单元格的列中,输入以下公式: =A2&

我需要将几个单元格值连接到一个单元格中,该单元格将始终位于连接的单元格旁边。以下是一个例子:

始终有4个包含数据的主列,第5个Wynik将用于连接同一行中4个单元格的值。例如,Wynik列中每行的最终结果将是REG-15_S1_2018-01-20_12333

我想为它创建一个宏,以便它立即执行,因为在每列中都会有上千条记录,但我没有找到任何例子,我也不是VBA专家。。。你有什么解决方法吗?或者有什么流行的宏可以使用吗

我将感谢任何帮助


Alex

在组合单元格的列中,输入以下公式:

=A2&B2&C2&D2
将公式复制到列中。

试试

=A2&"_"&B2&"_"&text(C2, "yyyy-mm-dd")&"_"&D2
'optional for leading zeroes in column D
=A2&"_"&B2&"_"&text(C2, "yyyy-mm-dd")&"_"&text(D2, "00000")
试试这个

Option Explicit

Sub main()
    Dim data As Variant

    With Range("A1").CurrentRegion
        data = .Resize(.Rows.Count - 1, 4).Offset(1).Value
    End With

    ReDim wynik(1 To UBound(data)) As Variant

    Dim i As Variant
    For i = 1 To UBound(data)
        data(i, 3) = Format(data(i, 3), "yyyy-mm-dd")
        wynik(i) = Join(Application.index(data, i, 0), "_")
    Next
    Range("E2").Resize(UBound(data)).Value = Application.Transpose(wynik)
End Sub

这不需要宏。只需使用=A2&&&B2&&C2&&D2并填写即可。非常好的工作!还有一件事,你能把包含各种数据格式的数据列转换成yyyy-mm-dd格式转换成最终的Wynik列吗?欢迎你。。。如果我解决了你原来的问题,你可以考虑把这个答案标记为被接受。再次感谢汉克,祝你愉快谢谢,谢谢!