Excel VBA質問箱 IV

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

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


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

【57376】スペースまでを抽出 タンゴ 08/8/16(土) 15:06 質問[未読]
【57377】Re:スペースまでを抽出 neptune 08/8/16(土) 15:11 回答[未読]
【57379】Re:スペースまでを抽出 kanabun 08/8/16(土) 16:20 発言[未読]
【57380】Re:スペースまでを抽出 neptune 08/8/16(土) 17:17 発言[未読]

【57376】スペースまでを抽出
質問  タンゴ  - 08/8/16(土) 15:06 -

引用なし
パスワード
   例えばあるセルが、「東京 TOKYO」となっています。これを東京の部分だけを別のセルに表示したいのですがこれが出来なくて困っています。中には「北海道 HOKKAIDO」などと、抽出したい部分の文字数が一定ではないからLeftが使えません。要はスペースまでを抽出することが出来ればいいのですが、知恵を授けてください。

【57377】Re:スペースまでを抽出
回答  neptune  - 08/8/16(土) 15:11 -

引用なし
パスワード
   ▼タンゴ さん:
>例えばあるセルが、「東京 TOKYO」となっています。これを東京の部分だけを別のセルに表示したいのですがこれが出来なくて困っています。中には「北海道 HOKKAIDO」などと、抽出したい部分の文字数が一定ではないからLeftが使えません。要はスペースまでを抽出することが出来ればいいのですが、知恵を授けてください。

べた書き。検証なし。上記の条件のみ考慮。

sub t()
  dim sBuf() as string
  dim stext as string
  stext = "東京 TOKYO"
  sBuf=split(stext ," ")
  msgbox sbuf(0)
end sub

【57379】Re:スペースまでを抽出
発言  kanabun  - 08/8/16(土) 16:20 -

引用なし
パスワード
   ▼タンゴ さん:
Split関数が簡単ですが、
ワークシート上でやるとしたら、どうしますか?

 =LEFT(A1,FIND(" ",ASC(A1))-1)

これと同じことを、VBAでも、
昔からある Left関数、InStr関数を使ってもできます。

  Dim ss As String
  ss = StrConv(Range("A1").Value, vbNarrow) '半角に変換
  MsgBox Left$(ss, InStr(ss, " ") - 1)

【57380】Re:スペースまでを抽出
発言  neptune  - 08/8/16(土) 17:17 -

引用なし
パスワード
   ▼kanabun さん:
>▼タンゴ さん:
>Split関数が簡単ですが、
>ワークシート上でやるとしたら、どうしますか?
えっワークシート?そこはVBAの板ですから。勘弁願います。

>昔からある Left関数、InStr関数を使ってもできます。
タンゴ さん>
どちらでも好きなほうでどうぞ。
ちなみにkanabun さんのコードの方が親切に書かれています。

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