Excel VBA質問箱 IV

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

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


26569 / 76738 ←次へ | 前へ→

【55500】Re:ブックをまたいだセルの結合
発言  kanabun  - 08/5/8(木) 11:06 -

引用なし
パスワード
   ▼京梧 さん:
>ブックやシートをまたいだ場合は、.Range()の中にCellsが入っている場合は、シートを付けるということですね。

もちょっと解説すると、
京梧 さんは、
「コントロールツールボックス」のCommandButton をシート上に
配置し、「コードの表示」からワークシートモジュール内に
> Private Sub CommandButton1_Click()
というプロシージャを 書いているのだと思います。

そこで、Range や Cells の親シートを省略するとどういうことが
起きるかといいますと、
Sheetモジュールで Range や Cells の親を省略するとExcelは
シートはコードが記述してあるシートのことだと解釈します。
つまり Me.Range とか Me.Cells と解釈します。
それで
>  With Sheets("AAA")
>   .Range(Cells(17, 12), Cells(18, 12)).Merge
は、
 With Sheets("AAA")
   .Range(Me.Cells(17, 12), Me.Cells(18, 12)).Merge
と書いてあるのと同じことになり、
 あたらしいBookの「AAA」シートの「元のSheetのセル範囲」をマージせよ
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~
という意味不明な命令を発行しているので、
困ったExcel君がエラーを出して実行をストップした、
というわけです。
そういうわけで、
> Cells にもシートを修飾してください
また、セルを結合することが目的なのだから、
> Sheets("AAA").Select
Select する必要はさらさらありません。
Select に頼らない記述法を身につけてください(^^

0 hits

【55497】ブックをまたいだセルの結合 京梧 08/5/8(木) 10:25 質問
【55498】Re:ブックをまたいだセルの結合 kanabun 08/5/8(木) 10:35 回答
【55499】Re:ブックをまたいだセルの結合 京梧 08/5/8(木) 10:54 お礼
【55500】Re:ブックをまたいだセルの結合 kanabun 08/5/8(木) 11:06 発言

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