[[20200522011025]] 『変数の練習見習いです。』(田部) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『変数の練習見習いです。』(田部)

こんばんわ
初心者で変数に入れる練習をしています。

Sub 変数計算0()

    Dim gg As String
    Dim rr As String

    gg = 12                               '行起点
    rr = 8                                '列起点
    Do While Cells(gg, rr + 1) <> ""
    Cells(gg, rr) = Cells(gg, rr + 1) + Cells(gg, rr + 2)
    Cells(gg, rr) = Format(Cells(gg, rr), "0.00")
    gg = gg + 1
    Loop
End Sub

↓ここでデバックエラーがでます。
Cells(gg, rr) = Format(Cells(gg, rr), "0.000")

そもそものルールを理解しきっていないのですが
理由というか何がダメなのかがわからないです。
rrをやめて普通の数値にすると問題ないのですが

すみませんご教授お願いいたします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


自己レスです。。long型でうまくいきました。。

データ型がなかなか苦労します。。覚えないでいいというサイトもあったり

すみませんでした。
(田部) 2020/05/22(金) 01:24


書いてたら自己レスついちゃいましたが投稿しておきます。

>rrをやめて普通の数値
えっと。。。String型ってなんだか理解されてますか?

わかるなら、↓はなんかおかしくないですか?

 gg = 12
 rr = 8 

さらに、Cellsプロパティは(行"番号",列"番号" or 列"文字")で表すルールです

そうなると自ずと何がまずいかわかりませんか?

>データ型がなかなか苦労します
もうご覧になったかもですが↓とか参考になるとおもいます。
http://officetanaka.net/excel/vba/variable/03.htm

(もこな2 ) 2020/05/22(金) 01:30


 >さらに、Cellsプロパティは(行"番号",列"番号" or 列"文字")で表すルールです
 Dim rr As String
 Cells(gg, rr + 1) 
 ↑はエラーにならないのは何故でしょうね
 また、rr + 1(文字列+数値)の値はいくつなんでしょうね

( はまちゃん) 2020/05/22(金) 07:12


> Dim rr As String
> Cells(gg, rr + 1)
> ↑はエラーにならないのは何故でしょうね
 オートキャスト機能で Cells("12", "8"+ 1)-->Cells(12, 9)と解釈されるので。

> また、rr + 1(文字列+数値)の値はいくつなんでしょうね
 9(数値) です

(チオチモリン) 2020/05/22(金) 07:55


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.