• ベストアンサー

エクセルで複数セルの文字を一回で行ごとに結合したい

文字を消さずにセルを結合する方法は http://okwave.jp/qa2246502.html こちらの質問の回答を見てできるようになりました。 しかし、同じ結合作業を数行にわたってしたいと思い使ってみたら大きな1つのセルになってしまいました。 (例えばA1~A5とB1~B5を選択してマクロを使ったらA1にすべての内容が入っている状態) 行ごとの結合になるように1回でできる方法はありませんでしょうか。 量が多いので1行ずつ作業するのが大変だなぁと思ったので質問してみました。 よろしくお願いします。

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

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

#1です。 選択した範囲に対して行ごとにセル結合したいですよね。 だとしたら、以下のマクロで実行してください。 これなら、行や列番号の入力は不要です。 Sub test2()  Dim r As Long  Dim c As Long  r = Selection.Rows.Count  c = Selection.Columns.Count  Selection.Resize(1, c).Select  For i = 1 To r   Call CellsMerge_KeepValues   Selection.Offset(1, 0).Resize(1, c).Select  Next i  Selection.Offset(-r, 0).Select End Sub

NyanP
質問者

補足

再度ありがとうございます! 早速やってみようと閉じてあったファイルを開けてマクロを書き換えて実行したところ、署名をするかセキュリティレベルを変更しないといけないとメッセージが出てしまって先に進めませんでした。 今日は遅いので明日考えたいと思います。

その他の回答 (2)

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.3

セキュリティーレベルが「高」になっているのだと思います。 「中」または「低」に変更する必要があります。 「中」にした場合は、その都度マクロを有効にするか聞いてきますので、信頼できるファイルであれば「有効」にしてください。 全く関係ないソフトのHPに詳しい設定方法が紹介されていますので 参考にしてください。 参考>http://e-kyu.com/kyu18/security/security.html

NyanP
質問者

お礼

できました! ドラッグで自由に選択して即結合できるようになりました。 これ以上の自由度はないですね。 素晴らしいです。 本当にありがとうございました!^^

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

KenKen_SP さんの関数を行ごとに繰り返し呼び出して実行させれば 良いと思います。 ただし、 実行確認のメッセージがでますので、これを避けるには ' 実行確認 の次の行の先頭に'(アポストロフィー)を加えて、コメント化してください。 オリジナルのコードを修正することには抵抗がありますが・・・ 以下はA列~D列のセル結合を1行~10行繰り返す例です。 Sub test()  Dim i As Long  For i = 1 To 10   Range(Cells(i, "A"), Cells(i, "D")).Select   Call CellsMerge_KeepValues  Next i End Sub

NyanP
質問者

お礼

ありがとうございます。 KenKen_SPさんのマクロを使っています。(KenKen_SPさん助かりました!) マクロを使うこと自体初めてで、例にあげて頂いたものをすぐ活用できません・・・^^; ちょっとにらめっこしてみます。

NyanP
質問者

補足

*お礼を書いた後に書きました* 凄いです!できました!一瞬で100行以上の作業が終わりました!! Callの所でわかりました。別にマクロを作って結合マクロを呼び出すんですね。 感動しました。ありがとうございました!

関連するQ&A