投稿/コメントを表示します。

小川先生

先生が動画でおっしゃっていたハナコのステップが呪文のように頭に出てきて(この動画の刷り込みは本当に感謝です!)、
私も口「箱(for next文,if文)をつくる。home shift ↓↓↓、tabでずらして切り取って、貼り付ける。あとは加工して終わり!」と言いながら
全くその通りにマクロが書けました。このおかげで、迷いなく、手が止まって考えることなくスラスラと!さらに小人ちゃんが動いてくれるので、
何度書いてもやみつきになりそうです!

Enshu00100_Basic.xls のmondai1でわからないことありましたので、ご指導お願いいたします。

質問1:
C8とC10をテンキーのマイナスで打ち込み「-」と表記しますと、以下のマクロではA8とA10に「○」と記入されます。 
このマクロは数値に対しての条件であるから、数値を除く文字が入ると誤作動を起こすと考えてよろしいでしょうか。

以下は動画でも開設された回答です。
Sub mondai1()
Dim ten
For ten = 2 To 11
If Range("C" & ten).Value > 100 Then
Range("A" & ten).Value = "○"
Else
Range("A" & ten).Value = "×"
End If
Next
End Sub

Enshu00100_Basic.xlsのC列の書式設定は「通貨」で、C8とC10は「‐」表示されており、セルの書式設定で確認するとだと0と打ち込まれていました。
マクロは100以下の数値と認識し、正確に×と記入されました。

私は自分の練習用エクセルファイルにこの設問と似た感じのレイアウトをつくり、設問の表記を真似たつもりでしたが、C8とC10はテンキーのマイナスを打ち込み「-」と表記しました。
このときのセルの書式設定は標準でした、この条件で上記のマクロで実行しましたところマクロは100より大きいと認識し、A8とA10に○と記入されました。
C8とC10を空欄にしますとA8とA10ともに×と記入されました。セルの書式を「通貨」に変えて同様に確認しましたところ同様のことが起こりました。
ちなみに数値でない文字を入れると、すべてこのようになることを確認しました。

質問2:
エクセル知識がない私のような人間は元データに「0」をテンキー「-」と記入してしまうケースはあると思います。
(書式設定で¥を表記しているのに、打ち込み担当が一時変わって¥を書く人がいるかもしれない。)
そのミスをも防ぐマクロをif文に(C1~C11のセルの値が数値なら上記のif文を実行する、そうでなければ(文字列なら)C1~C11のセルの値に”入力ミス"と記入する)
といったマクロをかければと思いましたが、書けませんでした。こういったものは発展でのお話になりますでしょうか。これまでの基礎編が理解できていれば
対応できそうなマクロであればご教授お願いいたします。
(Len関数を組合せてうまくできないか考えましたが、数値もカウントしてしまいますので私では対応できませんでした)



2014/11/25 10:28