簡體   English   中英

連接交替的固定列標題和行值

[英]Concatenate alternating fixed column headers and row values

我有一個具有固定列標題和可變行數據的電子表格,我想創建一個簡單的工具(讓目標為1單擊),它將用戶輸入的列值和行數據連接到屬性字符串中(用'='每個標頭后面加上“;”(每個值后面))。

之前看起來像這樣:

之前

之后看起來像這樣:

后

在單獨的工作表中需要輸出,並在可能的情況下另存為值。 列數可能會有所不同,因此使用已定義表的解決方案將很有用。

使用的公式:

=CONCATENATE(before!$A$1,"=",before!$A2,";",before!$B$1,"=",before!$B2,";",before!$C$1,"=",before!$C2,";")

任何幫助將不勝感激。

以下UDF可以做到:

Function unionText(ttl As Range, rng As Range) As String
Dim i As Long
If ttl.Cells.Count <> rng.Cells.Count Or _
    ttl.Rows.Count <> 1 Or rng.Rows.Count <> 1 Then
    unionText = CVErr(xlErrValue)
    Exit Function
End If

For i = 1 To ttl.Cells.Count
    unionText = unionText & ttl(i) & "=" & rng(i) & ";"
Next i
End Function

在工作表中這樣稱呼它:

=unionText(before!$A$1:$C$1,before!A2:C2)

然后抄下來

在此處輸入圖片說明

我的顯然在同一張紙上,但是上面的公式使用的是您的紙頁參考。

您可以臨時使用此宏代碼,並假設只有一行值:

Sub Macro1()

' Macro1 Macro

Range("A1").Select

Dim r As Byte
Dim c as Byte

Dim stringunion As String

r = 1

c = 1

Do While Cells(r, c) <> ""

    stringunion = stringunion & Cells(r, c).Value & "=" & Cells(r + 1, c) & ";"

    c = c + 1

Loop

MsgBox stringunion


End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM