Excel VBA質問箱 IV

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

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


21539 / 76738 ←次へ | 前へ→

【60594】Re:解説して頂きたい。
発言  kanabun  - 09/3/4(水) 10:30 -

引用なし
パスワード
   ▼こまつ さん:
>▼kanabun様
>感謝致します!!
>大変わかりやすく、理解できました。たぶんw
>
>Cells(rows.count,1)=cells(A65536,1)なら、別に後者を記述しても
>間違いではないんですよね?
>
Excel2003までのワークシートなら
Cells(Rows.count,1) = Cells(65536,1) で, 同じことです。
              ~~~~~A65536ではありません
また、Cells(65536, 1) と Range("A65536") は同じセルです。
(余談)
 Cells(65536, 1) は Cells(65536, "A") と書くこともできます。
 列番号の代わりに列名を使っているわけですが、シート内に
 グラフがあるときはこの記述法は使わないほうがいいです。
 グラフが選択されてると、Cells(65536, "A")ではExcelが迷走して
 しまいます。
>たとえば、Excelの最後の行数が10000までなら、rows.count,1は、
>(A10000,1)ってことなんですね。あってるかな?
あってないですね。ご自分で訂正してください。

>Constはなぜ宣言したのでしょうか?
>毎回、列番号打ってもいいのではないのでしょうか?
>逆にCOL店舗CDって記述する方が、めんどーな気がするのですが。
>後から見てわかり易いって事なんですか?
>それとも連想配列で読み込ませるときには、Constしとかないと、
>だめだったのでしょうか?

名前でなんらかの固定数値を別名定義する理由は、こまつさんの
推定のうち前者に該当します。後者(連想配列云々)とは無関係
です。
>毎回、列番号打ってもいいのではないのでしょうか?
>逆にCOL店舗CDって記述する方が、めんどーな気がするのですが。
という疑問は現段階では しごく「ごもっとも」な感想ですが、
実際はプログラムのはじめに
「このプロシージャのなかで <COL店舗CD> とは 数値1を意味する」
とConst宣言しておくと、
  Cells(Rows.Count, 1)
よりも
  Cells(Rows.Count, COL店舗CD) '←店舗CDのある列番号
と書いてあるほうが、どういう列を参照しているのか意味が分かり
やすいじゃないですか? 「COL」は Column(列)の意味でしょうし、
「後から見てわかり易い」どころか、プログラムを書いている現時
点ですでに 定数名を使うことのメリットが出ていますよ。
>COL店舗CDって記述する方が、めんどーな気がする
そんなにめんどーではないですよ、
  cells(rows.count, col
 までタイプして Ctrl+[スペース]キー で候補が出ますでしょ?
 そこから選べばいいのです(TABキーで確定)

Cells はセルの集合すなわち セルのコレクションだということを
覚えておきましょう。
すると、Worksheets(1).Cells(1) というコードが
Worksheets.Item(1).Cells.Item(1) の簡便表現であり、
ワークシートの集合の1番目のアイテムの全セルの集合内の
1番目の要素のことを表していることが理解しやすくなります。

セル範囲の指定の仕方は状況に応じて RangeプロパティとCellsプロパティ
を使い分けます。
  Worksheets(1).Cells.ClearContents
は ワークシート1のすべてのセルの値を初期化します。
まだ使われてないセルをクリアする必要はないので
  Worksheets(1).UsedRange.ClearContents
のほうが分かりやすいかと思います。
Range("C1").Cells(2,1) というのは Range("C1").Cells.Item(2,1) のこと
で、[C2]という単一セルを参照しています。
Range("C1").Range("A1:E1") といえば、[C1]セルを基点[A1]として
右方向に5つのセル要素を表しますから、[C1:G1]になります。。。
などなど、
 ご自分で問題を作って 試されるとよいでしょう。
5 hits

【60578】解説して頂きたい。 こまつ 09/3/3(火) 16:25 質問
【60580】Re:解説して頂きたい。 超初心者 09/3/3(火) 16:55 発言
【60581】Re:解説して頂きたい。 こまつ 09/3/3(火) 17:09 発言
【60584】Re:解説して頂きたい。 kanabun 09/3/3(火) 20:22 発言
【60587】Re:解説して頂きたい。 こまつ 09/3/3(火) 23:20 お礼
【60594】Re:解説して頂きたい。 kanabun 09/3/4(水) 10:30 発言
【60595】Re:解説して頂きたい。 kanabun 09/3/4(水) 10:52 発言

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