【最大10000ポイント】当たる!!質問投稿キャンペーン!

エクセルVBAにてCells(1)とは、
1行のことでしょうか?
それとも1列のことでしょうか?
ご存知の方教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんばんは。



>Cells(1)

たぶん、どこかのコードを見て不思議に思ったものかもしれません。サンプルコードでは、書かれない書き方です。単独で、対象範囲を書かずに、そのように書くことはめったにありません。

[対象範囲].Cells(1)は、セルの1番目ということです。

上位オブジェクトを入れないと、シート全体のセルの順番です。A1,B1,C1……と横に走っていきます。

試しに、
For Each c In Cells
 MsgBox c.Address
Next

としてみても、横に走るのが分かると思います。これは、表計算の配列の構造が、このようになっているからです。

実際のテクニックとしては、以下のような方法を用います。

Selection は、Range の範囲です。
'=========================================
'範囲の最初(左端上)と最後(右端下)
With Selection 'マウスで範囲を選択
 TopCell = .Cells(1).Address '左端上
 LastCell = .Cells(.Count).Address '右端下
End With
MsgBox "左端上: " & TopCell & vbCrLf & "右端下: " & LastCell

'-------------------------------------------
'では、四角形の範囲の1列目の一番下のセルは?

With Selection.Columns(1) 'マウスで範囲を選択
 TopCell = .Cells(1).Address '1列目の上
 BottomCell = .Cells(.Cells.Count).Address '1列目の下
End With
MsgBox "1列目の上: " & TopCell & vbCrLf & "1列目の下: " & BottomCell
'=========================================

.Cells(.Cells.Count).Address の引数で、.Cells.Count とするのは、.Columns(1)は、そのままでは、セルが取れないからです。通常は、With Selection.Columns(1).Cells ←と入れます。
    • good
    • 0
この回答へのお礼

わかりました!
沢山の例までつけてくださりありがとうございます。
いつも助かりますー。

お礼日時:2010/02/19 11:28

Excel 2003なら



Cells(1)は$A$1
Cells(2)は$B$1



Cells(256)は$IV$1
Cells(257)は$A$2




Cells(513)は$A$3

もうわかったでしょう。
他のバージョンでも同様だろう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング