[[20190901224753]] 『特定の条件の文字列をVBAで設定する』(ホコ) ページの最後に飛ぶ

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

 

『特定の条件の文字列をVBAで設定する』(ホコ)

今まで数式で作成していた数式等のVBA化に挑戦しているのですが、
どうも思い通りに出来ないため、お力お貸しください。

選択したセルに、8桁のランダムな文字列を入力するVBAコードを設定したいです。
1桁目と2桁目は小文字のランダムなアルファベット、3桁目以降はランダムな数字です。

今は以下の数式で作成しています。
((CHAR(RANDBETWEEN(97,119)))&(CHAR(RANDBETWEEN(97,119)))&(RANDBETWEEN(111111,999999))

よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:unknown >


worksheetfunction.RANDBETWEENではだめですか

(マナ) 2019/09/01(日) 23:12


あと、CHRで

(マナ) 2019/09/01(日) 23:13


マナ様
ご回答ありがとうございました。
worksheetfunctionについて勉強してから再チャレンジしてみます。
(ホコ) 2019/09/02(月) 12:07

>worksheetfunctionについて勉強してから再チャレンジしてみます。
横からですけど、読んでそのままワークシート関数です。
詳しくは↓が参考になるとおもます。
http://officetanaka.net/excel/vba/speed/s9.htm
https://www.moug.net/tech/exvba/0100045.html

また、マナさんがコメントされているVBAのChr関数はこちらが参考になりそうです。
私も勉強させていただきました。
https://www.tipsfound.com/vba/05chr

踏まえてコードにしてみるとこんな感じになりました。

    Sub test()
        Debug.Print Chr(RT(97, 119)) & Chr(RT(97, 119)) & RT(111111, 999999)
    End Sub
    '//-----------------------------------------------------------------------//
    Function RT(x, y)
        RT = WorksheetFunction.RandBetween(x, y)
    End Function

ちなみに、Evaluateメソッド(2つめのリンクを参照)を使って、提示の数式をそのまま使用して、

    Sub test2()
        Debug.Print [((CHAR(RANDBETWEEN(97,119)))&(CHAR(RANDBETWEEN(97,119)))&(RANDBETWEEN(111111,999999)))]
    End Sub

としてやることもできますね。

(もこな2) 2019/09/02(月) 12:59


もこな2様

ご教示ありがとうございました。
参照のサイトまで教えて頂き感激です。
VBAをもう少し理解できるともっと楽しそうと改めて思いました!

(ホコ) 2019/09/02(月) 20:43


コメント返信:

[ 一覧(最新更新順) ]


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