Excel VBA質問箱 IV

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

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


738 / 13645 ツリー ←次へ | 前へ→

【78616】特定の文字だけピックアップ ふむふむ 16/11/29(火) 15:39 質問[未読]
【78617】Re:特定の文字だけピックアップ β 16/11/29(火) 16:22 発言[未読]
【78618】Re:特定の文字だけピックアップ β 16/11/29(火) 16:28 発言[未読]
【78619】Re:特定の文字だけピックアップ ふむふむ 16/11/30(水) 0:57 お礼[未読]

【78616】特定の文字だけピックアップ
質問  ふむふむ  - 16/11/29(火) 15:39 -

引用なし
パスワード
   皆様

また、お知恵をお貸し下さい。

たとえば、氏名で「小林 太郎」とある場合、氏と名のブランクを境として、文字をピックアップして、あるセルにコピーして張り付けたいのですが、
可能でしょうか。

left/right/midでの方法は知っておりますが、必ず2文字とは限らないので、
文字と文字の空白を検地し、判断させたいのです。

「マイク スミス」のように、カタカナの場合もあります。
よい方法、または、可能かの有無が全く検討がつきません。

ご存知の方、どうかご教示頂けますとうれしいです。
宜しくお願いいたします。

【78617】Re:特定の文字だけピックアップ
発言  β  - 16/11/29(火) 16:22 -

引用なし
パスワード
   ▼ふむふむ さん:

間のスペースが全角なのか半角なのか
また、スペース1文字なのか2桁以上なのか不明ですが、
いずれであっても処理する参考コードです。

Sub Sample()
  Dim s As String
  
  s = "田中 一郎" '間は全角スペース
  
  MsgBox Split(Replace(WorksheetFunction.Trim(s), " ", " "))(0)
  
  s = "田中 一郎" '間は全角スペース
  
  MsgBox Split(Replace(WorksheetFunction.Trim(s), " ", " "))(0)
  
  'でも1桁の半角スペースと決まっていれば以下でもOK
  
  MsgBox Split(s)(0)
  
End Sub

【78618】Re:特定の文字だけピックアップ
発言  β  - 16/11/29(火) 16:28 -

引用なし
パスワード
   ▼ふむふむ さん:

あぁ、姓だけではなく、後半の名も取得するのですね。

Sub Sample2()
  Dim s As String
  Dim w As Variant
  
  s = "田中 一郎" '間は全角スペース
  w = Split(Replace(WorksheetFunction.Trim(s), " ", " "))
  MsgBox w(0) & vbLf & w(1)
  
  s = "田中 一郎" '間は全角スペース
  w = Split(Replace(WorksheetFunction.Trim(s), " ", " "))
  MsgBox w(0) & vbLf & w(1)
  
  'でも半角スペースと決まっていれば以下でもOK
  
  w = Split(s)
  MsgBox w(0) & vbLf & w(1)
  
End Sub

【78619】Re:特定の文字だけピックアップ
お礼  ふむふむ  - 16/11/30(水) 0:57 -

引用なし
パスワード
   ▼β さん:

ありがとうございます!!!
できるのですね!
とても勉強になりました。

ほんとうにありがとうございます。

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