Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9082 / 13644 ツリー ←次へ | 前へ→

【29429】住所表記の分割 共同墓地 05/10/4(火) 18:30 質問[未読]
【29430】Re:住所表記の分割 ちくたく 05/10/4(火) 18:56 回答[未読]
【29435】Re:住所表記の分割 seiya 05/10/4(火) 21:28 回答[未読]

【29429】住所表記の分割
質問  共同墓地  - 05/10/4(火) 18:30 -

引用なし
パスワード
   はじめまして。
質問です。

例えば、セルA1に入力されている文字列
東京都/新宿区/歌舞伎町/1−1−1(/で区切られた住所の表記)を
B1セルに
東京都
C1セルに
新宿区
D1セルに
歌舞伎町
E1セルに
1−1−1
としたいのですが、どうしたらいいのでしょうか?
この場合、「データ」「区切り位置」を選択し、「区切り位置指定ウィザード1/3」
を使用すればできるのはわかったのですが、それを使用せずに
関数を使って解決したいのです。
文字列関数を使うという事はわかるのですが、うまくできません。
教えてください。お願い致します。

【29430】Re:住所表記の分割
回答  ちくたく  - 05/10/4(火) 18:56 -

引用なし
パスワード
   共同墓地 さん
こんばんは。

関数はあるのかはわかりません。
VBAでやるなら下みたいな感じです。

Sub スプリット()
  Dim myVal As Variant
  Dim i As Integer
  myVal = Split(Range("A1").Value, "/")
  For i = 0 To 3
    Cells(1, i + 2).Value = myVal(i)
  Next i
End Sub

【29435】Re:住所表記の分割
回答  seiya  - 05/10/4(火) 21:28 -

引用なし
パスワード
   ▼共同墓地 さん:

ユーザー定義関数です。
1) Alt を押しながら F11 キーを押す。
2) 「挿入」->「標準モジュール」で右空白部分に下記コードをペースト
3) Xをクリックしてエクセルに戻る。

もしA1にデータがあるとして、
=共同墓地($A1,Column(A1))
として、右方向にフィルすればご希望道理になります。
なお、一応 "/" 以外にも対応しますので,,,,,

Function 共同墓地(txt As String, num As Integer, Optional delim As String = "/") As String
Dim x
x = Split(txt, delim)
共同墓地 = x(num - 1)
End Function

9082 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free