• ベストアンサー

エクセルのマクロを教えてください。

エクセルで、複数のセルに、違ったの数値が入っている時、 それを別の1つのセルに、カンマをつけて、まとめる、という事はできますか? 30個~100個程度のセルにある数値を、手作業で1つのセルにまとめるのが、めんどくさくて、イライラして仕方ありません。 間違いも多いし・・・。 どうか、ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#67980
noname#67980
回答No.1

簡単にですが、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

papi000
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • inara1
  • ベストアンサー率78% (652/834)
回答No.2

同じ列、または同じ行の連続セルの数値を、カンマで区切った文字列にするユーザ関数で良ければ以下の手順でやってみてください。使い方は、ワークシート関数の 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

papi000
質問者

お礼

ありがとうございました。

関連するQ&A