Excel VBA質問箱 IV

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

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


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

【17889】1つのセルの文字列の分割について 勉強したい 04/9/9(木) 17:07 質問[未読]
【17891】Re:1つのセルの文字列の分割について IROC 04/9/9(木) 17:11 回答[未読]
【17892】Re:1つのセルの文字列の分割について 勉強したい 04/9/9(木) 17:14 発言[未読]
【17893】Re:1つのセルの文字列の分割について Jaka 04/9/9(木) 17:32 回答[未読]
【17894】Re:1つのセルの文字列の分割について 勉強したい 04/9/9(木) 17:35 質問[未読]
【17895】Re:1つのセルの文字列の分割について IROC 04/9/9(木) 17:39 回答[未読]
【17896】Re:1つのセルの文字列の分割について 勉強したい 04/9/9(木) 17:46 お礼[未読]
【17897】Re:1つのセルの文字列の分割について Jaka 04/9/9(木) 17:54 回答[未読]
【17898】Re:1つのセルの文字列の分割について 勉強したい 04/9/9(木) 18:30 お礼[未読]
【17901】Re:1つのセルの文字列の分割について Kein 04/9/9(木) 20:31 回答[未読]

【17889】1つのセルの文字列の分割について
質問  勉強したい  - 04/9/9(木) 17:07 -

引用なし
パスワード
   現在顧客情報の進捗を作成しています。
       A         B C D E F
1北海道札幌市南区徳田55
2静岡県静岡市田町1-4-5
3東京都新宿区歌舞伎町2-5-8
4山形県山形市本町1-4-10
5神奈川県小田原市本町1-2-10

このように入力されているものを
       A         B   C D E F
1北海道札幌市南区徳田55    北海道
2静岡県静岡市田町1-4-5    静岡県
3東京都新宿区歌舞伎町2-5-8   東京都
4山形県山形市本町1-4-10    山形県
5神奈川県小田原市本町1-2-10  神奈川県

このように表示をしたいのですがどのようにしたらよろしいでしょうか?
よろしくお願いいたします。

【17891】Re:1つのセルの文字列の分割について
回答  IROC  - 04/9/9(木) 17:11 -

引用なし
パスワード
   都道府県を抜き出したいということですか?

【17892】Re:1つのセルの文字列の分割について
発言  勉強したい  - 04/9/9(木) 17:14 -

引用なし
パスワード
   ▼IROC さん:
>都道府県を抜き出したいということですか?

そのとおりです。
ごめんなさい分かりにくい質問で、教えて下さい。
よろしくお願いいたします。

【17893】Re:1つのセルの文字列の分割について
回答  Jaka  - 04/9/9(木) 17:32 -

引用なし
パスワード
   こんにちは。

普通の関数で出来ますよ。
確か左から4個目の文字が「県」だったら左から4個取り出し、それ以外は左から3個取り出せばよかったと思います。

【17894】Re:1つのセルの文字列の分割について
質問  勉強したい  - 04/9/9(木) 17:35 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
>
>普通の関数で出来ますよ。
>確か左から4個目の文字が「県」だったら左から4個取り出し、それ以外は左から3個取り出せばよかったと思います。

ありがとうございます。でもその関数が分からないのですが、なんと言う関数を使用すればよろしいですか?教えて下さい。

【17895】Re:1つのセルの文字列の分割について
回答  IROC  - 04/9/9(木) 17:39 -

引用なし
パスワード
   うまくいくかわかりませんが・・・

Sub Sample()
Dim i As Long, s As Long
Dim ret As Long
Dim myKey() As Variant
  
  myKey() = Array("県", "道", "都", "府")

  For i = 1 To Range("A65536").End(xlUp).Row
    
    For s = 0 To 3
      ret = InStr(Cells(i, 1).Value, myKey(s))
      
      If ret > 0 And ret <= 4 Then
        Cells(i, 2).Value = Left(Cells(i, 1).Value, ret)
      End If
    Next s
    
  Next i

End Sub

【17896】Re:1つのセルの文字列の分割について
お礼  勉強したい  - 04/9/9(木) 17:46 -

引用なし
パスワード
   ▼IROC さん:
>うまくいくかわかりませんが・・・
>
>Sub Sample()
>Dim i As Long, s As Long
>Dim ret As Long
>Dim myKey() As Variant
>  
>  myKey() = Array("県", "道", "都", "府")
>
>  For i = 1 To Range("A65536").End(xlUp).Row
>    
>    For s = 0 To 3
>      ret = InStr(Cells(i, 1).Value, myKey(s))
>      
>      If ret > 0 And ret <= 4 Then
>        Cells(i, 2).Value = Left(Cells(i, 1).Value, ret)
>      End If
>    Next s
>    
>  Next i
>
>End Sub

ありがとうございました!万事解決いたしました!!!!
本当に助かりましたありがとうございました!!!!

【17897】Re:1つのセルの文字列の分割について
回答  Jaka  - 04/9/9(木) 17:54 -

引用なし
パスワード
   =IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3))

【17898】Re:1つのセルの文字列の分割について
お礼  勉強したい  - 04/9/9(木) 18:30 -

引用なし
パスワード
   ありがとうございます。

【17901】Re:1つのセルの文字列の分割について
回答  Kein  - 04/9/9(木) 20:31 -

引用なし
パスワード
   A列に都道府県名、B列にそれより右の住所。という形でもよければ・・

Sub Rep_PS()
  With Range("A:A").SpecialCells(2)
   .Replace "都", "都,"
   .Replace "道", "道,"
   .Replace "府", "府,"
   .Replace "県", "県,"
   .TextToColumns DataType:=xlDelimited, Comma:=True
  End With
End Sub

というコードで出来ます。
 

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