VBA別館・Python別館
セルの扱い方 - Tak
2018/09/23 (Sun) 09:54:24
もう何回か出てきてますが、そう簡単に覚えられませんから、しつこいですがまた説明します。
① Range()とCELLS()の違い
例えばセルB3とB5に東京都/大阪府と表すには;
・Range("B3").value="東京都"
・Cells(5,2).value="東京都"
と書きます。
大事なことは、Range()を使う場合は、 ”列+行"です。 必ず””で囲んで下さい。
そしてCellsを使うときは、行、列 とが逆になります。
図に説明しておきました。
Re: セルの扱い方 - Tak
2018/09/23 (Sun) 12:45:04
② codeを参考まで
-------------------
Option Explicit
Private Sub CommandButton1_Click()
'以前の入力を消しておく
Range("B:B").Value = "": Range("C:C").Value = "":
'セルA3にRange()で東京都と表示
Range("B3").Value = "東京都": Range("C3").Value = "<--- Range(""B3"")"
'セルB5にCELLS()で大阪府と表示
Cells(5, 2).Value = "大阪府": Cells(5, 3).Value = "<--- CELLS(5,2)"
End Sub
-----------------------------
・書いたcodeは、自分でも何をしているのかよく忘れてしまいますので ' を付けてコメント化します。
その部分はメモと同じで、VBAでは読み飛ばされます。
・文字列は必ず ” ”で囲みます。 数字はには不要です。
・何回も言いますが、RangeとCellsの指定は逆ですので、間違わないでくださいね。
・rangeとかceLLsとか書いても、VB機能がしっかりcode文中では正しく修正してくれますから、大文字・小文字は気にしないでください。
Re: セルの扱い方 - Tak
2018/09/24 (Mon) 14:12:49
③ Range()とCells()の使い分け
どちらでも多少の違いはありますが、こんな風に使い分けては如何でしょうか。
・Cells()は、セルの列番号や行番号を変数を使って指定するのに便利である。
・Range()でもできますが、Cells()の方が理解し易い。
例えば B列3行目からB列13行目までの内容を一括して削除する場合は、次のように書ける
-------------------------
Option Explicit
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 3 To 13
Cells(i, 2).Value = ""
Next
End Sub
-----------------------