- ベストアンサー
エクセルのマクロを教えてください。
エクセルで、複数のセルに、違ったの数値が入っている時、 それを別の1つのセルに、カンマをつけて、まとめる、という事はできますか? 30個~100個程度のセルにある数値を、手作業で1つのセルにまとめるのが、めんどくさくて、イライラして仕方ありません。 間違いも多いし・・・。 どうか、ご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
簡単にですが、A1~A100の内容を、B1に出力 ~ Option Explicit Sub Main() Dim nCnt As Long Dim strOutPut As String '初期化 strOutPut = vbNullString For nCnt = 1 To 100 If strOutPut = vbNullString Then strOutPut = Cells(1, nCnt).Value Else strOutPut = strOutPut & "," & Cells(nCnt, 1).Value End If Next nCnt 'B1セルに出力 Cells(1, 2).Value = strOutPut End Sub
その他の回答 (1)
- inara1
- ベストアンサー率78% (652/834)
同じ列、または同じ行の連続セルの数値を、カンマで区切った文字列にするユーザ関数で良ければ以下の手順でやってみてください。使い方は、ワークシート関数の sum( ) や average( ) と同じように、=matome( ) の( ) の中にまとめたいセル範囲を入れます。 (1) Excelのメニューバーの [ツール] → [マクロ] → [Visual Basic Editor] (2) Visual Basic Editorのメニューバーの [挿入] → [標準モジュール] で出てきた空白ウィンドウに以下を貼り付ける ↓ここから Function matome(a As Variant) As Variant Dim i As Integer, s As String s = "" For i = 1 To a.Count - 1 s = s + Str(a(i)) + "," Next i matome = s + Str(a(a.Count)) End Function ↑ここまで (3) Excelに戻って、適当なセルに =matome( と書いて、まとめたいセル範囲をマウスで選び、) で閉じて Enter
お礼
ありがとうございました。
お礼
ありがとうございました。