[リストへもどる]
一括表示

投稿時間:2004/08/02(Mon) 14:34
投稿者名:ももたろう
Eメール:
URL :
タイトル:
EXCELのセルの値に改行が含まれるか?
VBからEXCELのセルの値を読み込み、そのセルに改行が含まれてたら処理を行いたいのですが、
「改行が含まれていたら」という部分の書き方がわかりません。
valueで値を取得した場合、
"aaaaaaa"
だけが取得され、EXCELの値は
"aaaaaaa
"
(改行されている)
となっていても、改行部分は取得できないのです。
もしかしたら、このような処理はできないのでしょうか?

他のやり方でも構わないので、何かヒントがあればうれしいです。
(やりたいこと)
EXCELのセルの値に改行が含まれていたら、誤った値と判断し、msgboxを出す。
セルの値
・最後に改行されている
"aaaaaa
"
・改行され、スペース文字が入る
"aaaaaa
 "
・改行され、文字列が入る
"aaaaaa
aaaaaa"
以上です、よろしくお願いします。

投稿時間:2004/08/02(Mon) 15:03
投稿者名:りっとっと
Eメール:
URL :
タイトル:
Re: EXCELのセルの値に改行が含まれるか?
いや、普通にValueプロパティで改行文字が含まれた値が取得できますが。
改行コードはvbCrLfではなくvbLfですよ。

投稿時間:2004/08/02(Mon) 15:23
投稿者名:ももたろう
Eメール:
URL :
タイトル:
Re^2: EXCELのセルの値に改行が含まれるか?
> いや、普通にValueプロパティで改行文字が含まれた値が取得できますが。
> 改行コードはvbCrLfではなくvbLfですよ。

出来ました!
これだけで3日間悩んでいたので、とても助かりました。ありがとうございます!
原因は「vbNewLine」を間違って使用していた事でした。
【誤】
iPoint = InStr(xlSheet.Range("B" & i).Value, vbNewLine)
【正】
iPoint = InStr(xlSheet.Range("B" & i).Value, vbLf)

・・・余談です・・・
vbLf、vbCrLf、vbNewLineの違いがよくわからないのですが・・・
どういうときに使い分けたらいいのか?は経験で自然とわかってくるものなのですか?

投稿時間:2004/08/02(Mon) 15:57
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: EXCELのセルの値に改行が含まれるか?
> vbLf、vbCrLf、vbNewLineの違いがよくわからないのですが・・・

それらはいずれも、「改行データ」を表す定数です。

vbCR すなわち ChrW(&H0D) は、Carriage Return / 改行 という意味です。
vbLF すなわち ChrW(&H0A) は、Line Feed / 行頭復帰   という意味です。

そして vbNewLine は、「一般的な改行コード」を表します。
これは、Windows環境では vbCrLf 、Macintosh環境 では vbCr を返す値です。


> どういうときに使い分けたらいいのか?は経験で自然とわかってくるものなのですか?
一般に、改行データといえば、 vbNewLine の事を指します。
Windowsだけを相手にする場合は、vbCrLf = vbNewLine ですね。

そのため、多くの状況においては、「vbLf」を単体で使うことは稀なのですが、
文字列を「1文字ずつ処理する」ような場面や、あるいは 今回の Excel のように、
「vbLf を改行として扱う処理系」を相手にする場合は、vbLf が使われる事もあります。


なお、KBの822372には、このような記述もあります。

[XL2003] セル内の改行が「・」中点で表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;822372

》【詳細】
》   Excel は、セル内で文字列を改行すると、改行コードを LF (0A) として設定します。
(中略)
》 〔補足〕
》    CR (0D : Carriage Return / 改行)
》    LF (0A : Line Feed / 行頭復帰)

》    メモ帳にて文字列を Enter キーで改行して、CSV ファイルを作成した場合は、
》    改行コードとして CR + LF が設定されます。

投稿時間:2004/08/02(Mon) 16:25
投稿者名:ももたろう
Eメール:
URL :
タイトル:
Re^4: EXCELのセルの値に改行が含まれるか?
魔界の仮面弁士さん返信ありがとうございます。
今後の参考と、スキルアップに向けて頑張ります!