Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2013)
結合したセルの文字列を単一セルにコピーしたい
投稿日時: 17/04/22 01:02:24
投稿者: かうきのおやじ

2つ以上のセルを結合した中に入力されている文字列を離れた所の単一セルにコピーしたいのですが、通常の値貼り付けはできないのでセル内の文字列だけを取得して貼り付けをする記述式を教えてください。

回答
投稿日時: 17/04/22 07:24:43
投稿者: UO3

ごく普通に
 
転記先単一セル.Value = 転記元結合セル.Value
 
で、どうぞ。

回答
投稿日時: 17/04/22 07:26:19
投稿者: simple

こんにちは。
 
まず、
・最終的な表示の場面以外では、結合セルはできるだけ使わない、
・見出し部分以外のデータ部分は原則使わない、
という点にお勧めしておきます。
 
そのうえで以下説明します。
(1)結合セルは、そのセル範囲内の「最左最上部分」の単一セルに値などが保持されています。
・A1:A5セルが結合されていれば、A1セルに入っています。(縦一列)
・B1:D1セルが結合されていれば、B1セルに入っています。(横一列)
・C2:D5セルが結合されていれば、C2セルに入っています。(矩形領域)
(2)値を取り出すときは、上記の単一セルだけを相手にすればOKです。
トライしてみて下さい。
 
もし、結合セルが予めRangeオブジェクトとして変数(例: rng)で保持されているようなケースであれば、
     転記先のセル.Value = rng(1).Value
などとします。

回答
投稿日時: 17/04/22 07:40:41
投稿者: simple

あ。そうか、失礼しました。
結合セルとの値のやりとりは、UO3さんのご指摘のとおりでしたね。
私の後半のコメントは、間違いということではありませんが、
値の転記に関して誤解を生ずるかもしれません。
 
結合セルからコピーするときは限定が必要、とお考え下さい。
(ただし、書式が不要であれば、コピーペイストは避けて値の転記のほうがよいでしょう)
 
前半部分のコメントに変更はありません。

投稿日時: 17/04/22 09:02:33
投稿者: かうきのおやじ

お二方、早速ご回答下さいましてありがとうございました。
simpleな関数を使いこなせてないので複雑に考えすぎていました。