[[20200713194203]] 『VBAで条件付きカウントをしたい』(ちょこ) ページの最後に飛ぶ

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

 

『VBAで条件付きカウントをしたい』(ちょこ)

VBAで条件付きのカウントアップを行い、表示させたいです。
しかし、1回目から変わらず困っています。
cnt=0で宣言しているので実施する度に0に戻ってしまうからだと思うのですが、適切なやり方が思いつきません…。

↓現在(IF文の最後なのでElseのみです)

cnt = 0




Else: cnt = cnt + 1

        Range("D9").Value = "(" & cnt & "回)"

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


省略しすぎです。

(マナ) 2020/07/13(月) 20:21


すみません、省略しすぎました…
↓追記

Sub チェック()

    cnt = 0

    If Range("A1").Value = "" Then
        MsgBox "未入力です"

    ElseIf Range("A1").Value = "0" Then
        MsgBox "「0」は設定できません"

    Else:
        Range("A1").Value = "(" & cnt + 1 & "回目)"

    End If
(ちょこ) 2020/07/13(月) 20:56

>条件付きカウントをしたい

何をカウントしたいのですか。
どんな結果を期待しているのでしょうか。
こういうことですか。

 Range("A1").Value = Range("A1").Value + 1 

(マナ) 2020/07/13(月) 21:12


マナさん

続けてコメントありがとうございます。
やりたいこととしては記載して頂いたものと同じです!
しかし、下記のようにすると型が一致しません、というエラーが出てしまいます。

Range("A1").Value = "(" & Range("A1").Value + 1 & "回目)"
(ちょこ) 2020/07/13(月) 21:22


>型が一致しません
そのエラーが出るときに、Range("A1").Valueは何になっていますか?

仮に"(1回目)" となっているなら、それはもう文字列ですから足し算できないですよね。

(もこな2 ) 2020/07/13(月) 21:28


できないこともありませんが
書式設定の表示形式ではだめなのですか。
 Range("A1").Value = "(" & Val(Mid(Range("A1").Value, 2)) + 1 & "回目)"

(マナ) 2020/07/13(月) 21:30


もこな2さん

コメントありがとうございます。
あぁぁ、なるほどです、そういうことなんですね…!!

マナさん

返信ありがとうございます。
そうなるんですね…!それなら可読性的にも書式設定にします…

皆さまありがとうございました。
(ちょこ) 2020/07/13(月) 21:37


コメント返信:

[ 一覧(最新更新順) ]


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