VBA別館・Python別館

64577

セルの扱い方 - 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

-----------------------

名前
件名
メッセージ
画像
メールアドレス
URL
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.