先看一下原始數據,A到E列為單元格數據,需要將每行的非空單元格內容合並到F列存儲在一個單元格中,並且用逗號分開。
選擇【開發工具】-【插入】- 選擇【ActiveX控件】中的按鈕。
用鼠標在excel表格中畫出一個按鈕。
雙擊該按鈕,進入編輯代碼模式。
粘貼下列代碼:
Private Sub CommandButton1_Click()
Dim n, i, j, m
Dim arr, brr()
n = [a65535].End(xlUp).Row
ReDim brr(1 To n)
arr = Range("A1:E" & n) '其中A1:EN表示的是原始數據區域
For i = 1 To n
For j = 1 To 5 '5表示A到E列是5列
If arr(i, j) <> "" Then
brr(i) = brr(i) & "," & arr(i, j)
End If
Next j
brr(i) = Mid(brr(i), 2, 99)
Next i
[F1].Resize(n, 1) = Application.Transpose(brr) 'F1表示從F1開始輸出結果
End Sub
返回excel工作表界面,點擊【開發工具】-【編輯模式】按鈕退出編輯模式。
點擊剛才插入的命令按鈕,F列就輸出了我們想要的內容。
注意:
只需要更改代碼中加標注的原始區域列標和行號及輸出結果位置的第一個單元格就可以應用到讀者自己實際的工作表中去了。
.