Excel VBA質問箱 IV

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

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


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

【70230】文字列の分割("〜"の前と後ろ) groove tube 11/10/21(金) 0:10 質問[未読]
【70231】Re:文字列の分割("〜"の前と後... よろずや 11/10/21(金) 0:22 回答[未読]
【70232】Re:文字列の分割("〜"の前と後... groove tube 11/10/21(金) 0:35 お礼[未読]

【70230】文字列の分割("〜"の前と後ろ...
質問  groove tube  - 11/10/21(金) 0:10 -

引用なし
パスワード
   よろしくお願いします。

今作っているもので

C8に1〜5とか12〜31と入力されているのを"〜"で分割して

D8に〜の前の数字を、E8に〜の後の数字を入れたいです。ですが

たまに、C8には"〜"を含まない別の文字(たとえばLSとか全国とか)

が入ることがあって、その場合は空白にしたいのです。


Range("D8").Formula = "=IF(ISERROR(LEFT(C8,FIND("〜",C8)-1)),"",LEFT(C8,FIND("〜",C8)-1))"

数式を書き込むにはFormulaを使うと書いてあったので、その後ろに
エクセルで普通にセルに入力されていたら使える数式を入力してみたのですが、
不正な文字です。とエラーが出て"〜"のところにカーソルがとまります。
〜という文字は使えないのでしょうか?

また、他にどういった方法がありますでしょうか?
よろしくお願いします。

【70231】Re:文字列の分割("〜"の前と...
回答  よろずや  - 11/10/21(金) 0:22 -

引用なし
パスワード
   >Range("D8").Formula = "=IF(ISERROR(LEFT(C8,FIND("〜",C8)-1)),"",LEFT(C8,FIND("〜",C8)-1))"
>
>数式を書き込むにはFormulaを使うと書いてあったので、その後ろに
>エクセルで普通にセルに入力されていたら使える数式を入力してみたのですが、
>不正な文字です。とエラーが出て"〜"のところにカーソルがとまります。
>〜という文字は使えないのでしょうか?

文字列は " (ダブルクォーテーション)で囲みます。
上記の式を見ると、
"=IF(ISERROR(LEFT(C8,FIND("
という文字列の後に

という意味不明なものが続きさらに
",C8)-1)),"",LEFT(C8,FIND("
という文字列があります。
「囲む」というのはそういう意味です。
それでは文字列の中に " を含めたいときはどうすればいいのか?
"" と2つ並べると1つの " とみなされ文字列の終ではなくなります。

Range("D8").Formula = "=IF(ISERROR(LEFT(C8,FIND(""〜"",C8)-1)),"""",LEFT(C8,FIND(""〜"",C8)-1))"
です。

【70232】Re:文字列の分割("〜"の前と...
お礼  groove tube  - 11/10/21(金) 0:35 -

引用なし
パスワード
   よろずやさま

教えられた通りやりましたら、できました。

ああ、””が足りなかったということですね。
ずっと分からずに考え込んでいました。

ありがとうございました。
まだまだ勉強していきたいと思います。
ありがとうございました。

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