【エクセル】あるセルにランダムな文字列(数列)を6文字作ってくれる方法を探しています。

A~Zまでの文字を2文字と0~9までの数字を4文字の計6文字を返す関数やマクロを求めています。
 
セルは複数作成する予定ですが、6文字の文字列(数列)は不規則な規則性の下で重複しても構いません。なお、アルファベットは数字の両端に1文字ずつおきたいと考えています。

回答の条件
  • 1人2回まで
  • 登録:2009/10/20 15:05:13
  • 終了:2009/10/20 16:38:35

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/10/20 15:44:50

ポイント35pt

ユーザー定義関数です。

標準モジュールにコピペしてください。

Function MakeRND() As String
    Randomize
    MakeRND = Chr(Int(Rnd * 26) + 65) & Format(Int(Rnd * 10000), "0000") & Chr(Int(Rnd * 26) + 65)
End Function

表示したい数式に

=MakeRND()

で文字列を表示します。

その他の回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/10/20 15:44:50ここでベストアンサー

ポイント35pt

ユーザー定義関数です。

標準モジュールにコピペしてください。

Function MakeRND() As String
    Randomize
    MakeRND = Chr(Int(Rnd * 26) + 65) & Format(Int(Rnd * 10000), "0000") & Chr(Int(Rnd * 26) + 65)
End Function

表示したい数式に

=MakeRND()

で文字列を表示します。

id:HALSPECIAL No.2

HALSPECIAL回答回数407ベストアンサー獲得回数862009/10/20 15:53:51

ポイント15pt
Option Explicit

Private Const ALP As String = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
Private Const NUM As String = "0,1,2,3,4,5,6,7,8,9"

Public Sub テスト()
    Debug.Print GetRndStr
    Debug.Print GetRndStr
    Debug.Print GetRndStr
    Debug.Print GetRndStr
End Sub

Public Function GetRndStr()
    Dim aryALP() As String
    Dim aryNUM() As String
    aryALP = Split(ALP, ",")
    aryNUM = Split(NUM, ",")
    GetRndStr = aryALP(getRnd(0, 25)) & aryNUM(getRnd(0, 9)) & aryNUM(getRnd(0, 9)) & aryNUM(getRnd(0, 9)) & aryNUM(getRnd(0, 9)) & aryALP(getRnd(0, 25))
End Function

Private Function getRnd(ByVal lowerbound As Integer, ByVal upperbound As Integer)
    getRnd = Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
End Function

こちらでいかがでしょう

id:kine2525 No.3

きねーま回答回数17ベストアンサー獲得回数02009/10/20 16:18:50

ポイント30pt

既に他の方が答えられているかもしれませんが、関数を使うなら

=CHAR(INT(RAND()*26)+65)&INT(RAND()*10)&INT(RAND()*10)&INT(RAND()*10)&INT(RAND()*10)&CHAR(INT(RAND()*26)+65)

以下の部分をコピーしてセルに貼り付ければ、条件の文字列になると思いますが、いかがでしょう?

  • id:Newswirl
    質問終了したら、コメントできなくなってしまいました。
    回答ありがとうございます。問題は無事解決できました^^
    HALSPECIALさんのはちょっとエラーが出てしまったので、手を加えて見ますね♪

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません