当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

【VBA】住所に丁番号を振ります

 こばとの Adress Editor というソフトには架空住所に自動的に丁番号を振るための部品が組込まれています。もしかすると皆さんにも何か使い道があるかもしれないので(たぶんないと思うけど)、いちおう載せておきますね。

【VBA】架空住所に丁番号を割り当てるファンクションマクロ

 ユーザー定義関数なので、下のコードを標準モジュールに「ぺったんこ」とすれば、普通の Excel 関数と同じように使えます。

'[VBA] 丁・番・号の数字を無作為に決定するプロシージャ

Function BANCHI() As String

  Dim x As Integer, y As Integer, z As Integer

  Randomize

  '丁・番・号の数字を無作為に決定します
  x = Int(10 * Rnd) + 1
  y = Int(60 * Rnd) + 1
  z = Int(12 * Rnd) + 1

  rdtype = Int(3 * Rnd) + 1

  '3タイプを無作為に選択します
  Select Case rdtype
    Case 1
      adtype = y
    Case 2
      adtype = x & "-" & y
    Case 3
    adtype = x & "-" & y & "-" & z
  End Select

  BANCHI = adtype

End Function

 ワークシートのセルに

=BANCHI()

と引数なしで入力すると「10-33-1」とか「5-17」というような丁番号を返してきます。丁・番・号の出力範囲はそれぞれ 1 – 10, 1 – 60, 1 – 12 となっていますが、このへんは適当に調整してください。
 
 今回は記事が短かいので、エクセルの練習用データをおまけで載せておきますよ。
 え? 別にいらない? そんなつれないことおっしゃらないでくださいな。
 Adress Editor が出力した京都の架空住所一覧です。
 今回作成した BANCHI マクロが末尾の丁番号を出力しています。
 
 京都府与謝郡吉田中山 3-2
 京都府相楽郡川島上神原町47
 京都府京都市東山区今熊野西高縄町 2-42
 京都府福知山市内里西脇台町 8-37-3
 京都府京都市西京区谷口西上総町 31
 京都府城陽市大江町仏谷 9-26-7
 京都府木津川市朱雀下白梅町 1-8
 京都府京都市上京区北白川北ノ岸町 7-3-3
 京都府京都市伏見区松尾開キ町 3-58
 京都府宮津市福稲柿川端町 9-52-7
 
 明日から旅行なので、次回の VBA 関連記事は休みが明けてからになります。

コメント

タイトルとURLをコピーしました