プロが教えるわが家の防犯対策術!

いつもgooの皆さんにお世話になっています
よろしくお願いします
エクセルのバージョンは2013です

セルに入力された整数値の1桁目を取得して変数に代入したいのですが
58だったら8、11なら1のように、整数値の1桁目(右端の数)を取得して変数に代入するには
マクロでどう書けば良いのでしょうか?

最初RIGHT関数を使ったのですが、調べているうちに、RIGHTは文字列操作関数であると
知りました

どなたか教えてください

質問者からの補足コメント

  • うれしい

    tom04さん、早朝から教えていただきありがとうございます
    セルは先日教えていただいた方法で入力規則で整数で、型はLongで宣言してあります

    作成中のマクロがIF文のネストになっていて、自分でわからなくなりましたので
    debug.print で確認しました
    ありがとうございました

    IF文のネストはやめてselect case の中にIF文を入れようと思います

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/12/11 11:06

A 回答 (2件)

こんにちは!



あくまで私的見解ですが、
変数を整数型(長整数型)またはVariant型にしておけば、
結果としては数値扱いになると思います。

セルに必ず整数が入力されるのであれば
MOD関数がありますが、使い方が微妙に異なります。

変数=参照セル mod 10

といった感じになると思います。

A1セルに整数が入力されている場合は
変数 = Range("A1") Mod 10
といった感じでしょうか。m(_ _)m
この回答への補足あり
    • good
    • 0
この回答へのお礼

助かりました

tom04さん、いつも親切に教えていただいてありがとうございます
お陰様でマクロ変更後狙った通りに動くようになりました
助かりました

お礼日時:2015/12/11 16:34

RIGHT関数で行けますよ



文字列として取り出す場合
=RIGHT(取り出したいセル,1)

数値として取り出す場合
=VALUE(RIGHT(取り出したいセル,1))
    • good
    • 0
この回答へのお礼

助かりました

Borg2048さん、おはようございます
早朝から教えていただきありがとうございます

ずっとマクロの中でやっているのですが
マクロそのものが、IF文の中にIF文がいっぱいあって
うまく書けてないようで動きません(私はいつもこうです)

そこでセルに式を入れて確認しました
「rightで取り出してvalueで数値に変換」
またひとつ勉強になりました
ありがとうございました

お礼日時:2015/12/11 10:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています