Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4872 / 76732 ←次へ | 前へ→

【77475】Re:セル内への文字入力
発言  β  - 15/10/15(木) 17:49 -

引用なし
パスワード
   ▼桃太郎 さん:

Selection.Value = "hoge"

Slectionが結合セルであろうとなかろうと、このコードは 左辺のSelection のすべてのセルに右辺の値が代入されます。
で、Selectionが結合セルの場合は、結果的に、Selectionの先頭セル(結合セルの代表セル)以外の値は空白にされるということです。
結合セルではない、通常の複数セル領域を選択して試してみてください。

それは、さておき、今回の質問ですが、

Selection.Value = Selection.Value & Cells(21, 17).Value

左辺のSelection は上記で説明した通りですが問題は【右辺】のSelection.
ここが複合せルですね。複合セルということは複数セル領域です。

たとえば、 MsgBox Range("A1:A2").Value & "hoge"

こんなコードを実行するとエラーになります。
複数セル領域のValue は 1つの値ではなく【配列】になった値です。
左辺も右辺も配列であれば、転記はできますが、右辺が 配列に単一の値を付加したもの。
こういった値は生成できません。

このあたり、ややこしいかもしれませんが、右辺を【単一の値】にする必要があります。

Selection.Value = Selection(1).Value & Cells(21, 17).Value

にしてください。

ところで、Cells(21, 17).Value これって、わかりにくくないですか?
Range("Q21").Value のほうがわかりやすくないですか?

1 hits

【77472】セル内への文字入力 桃太郎 15/10/15(木) 3:45 質問[未読]
【77473】Re:セル内への文字入力 β 15/10/15(木) 7:38 発言[未読]
【77474】Re:セル内への文字入力 桃太郎 15/10/15(木) 16:31 質問[未読]
【77475】Re:セル内への文字入力 β 15/10/15(木) 17:49 発言[未読]
【77476】Re:セル内への文字入力 桃太郎 15/10/15(木) 18:25 お礼[未読]

4872 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free