- PR -

VBScriptでExcel

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-23 14:14
引用:

鼻セレブさんの書き込み (2006-10-23 12:07) より:

上記を踏まえて、実際に、E3〜E9、F3〜F9にデータが格納されていますが、
下記のIF文が通ってしまいます。

<コードより一部抜粋>
if Cells(3,5) = "" or Cells(3,6) = "" Then


問題解決のためのデバッグをしましょう。
  • どちらの条件が 「真」 となっているのかを確認
  • 実際に Cells().Value に含まれる値を出力して確認
  • 新しい Workbook を作成し、データのみをコピーして確認
  • この If ステートメントの部分を抜粋して、ミニマム コードで再現するか確認
  • Excel VBA 上でインライン デバックをして確認
ちなみに、言われたとおりのデータで試してみましたが、現象を確認することはできませんでした。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-10-23 14:45
同じく試してみましたが、言われている様な現象は確認できませんでした。
.Cells(intRowCnt,7) = "" or .Cells(intRowCnt, 8)= "" で発生しましたが。



引用:

ひろれいさんの書き込み (2006-10-23 14:02) より:

「if .Cells(intRowCnt,7) = "" or .Cells(intRowCnt, = "" Then の1行はエラーにならないのだろうか」

といった疑問はありますが、それは転記ミスとして。


は単に8)が顔文字になっただけですね。
(オプションのこの投稿で 顔文字(スマイリー) を使わないをチェックしていない)
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2006-10-23 14:48
アドバイスを与えて下さいました皆様

とりあえず、先に変数に入れて、それから
判断するとうまくいきそうなので、そのようにします。

しかし、どうして、Cells()...という表現だとダメなのかは
分かりませんが・・・。

色々とアドバイスを与えて頂きありがとうございました。
解決ということでよろしくお願いします。
IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2006-10-23 14:58
じゃんぬねっとさん、うにくまさん、

検証して頂き誠にありがとうございました。

私も、ExcelVBAにて、ソースコードを転記してデバッグを試みました。
こちらだと、特に問題なく処理されました。
Cells().Valueの値もMsgboxを利用して確認し、きちんと格納されていました。

ExcelVBAでもVBScriptでExcelを扱うときも、特に違いを意識する必要はないと思って
いましたので、今回このような現象が起こってとても不思議に思っています。


IPホン
大ベテラン
会議室デビュー日: 2005/09/13
投稿数: 127
投稿日時: 2006-10-23 14:59
じゃんぬねっとさん、うにくまさん、

検証して頂き誠にありがとうございました。

私も、ExcelVBAにて、ソースコードを転記してデバッグを試みました。
こちらだと、特に問題なく処理されました。
Cells().Valueの値もMsgboxを利用して確認し、きちんと格納されていました。

ExcelVBAでもVBScriptでExcelを扱うときも、特に違いを意識する必要はないと思って
いましたので、今回このような現象が起こってとても不思議に思っています。


ださいくろう
常連さん
会議室デビュー日: 2006/10/17
投稿数: 46
お住まい・勤務地: 豊田市
投稿日時: 2006-10-23 15:07
チラって出てきてたけどcells(rowcount,n).valueにしてもだめですか?
ifをorじゃなくてふたつにわけてもダメですか?
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-10-23 15:09
言葉足らずでしたね、
VBScript及びExcelVBAの両方で試した結果、どちらとも正常に動作しました。
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2006-10-23 16:33
引用:

うにくまさんの書き込み (2006-10-23 14:45) より:

引用:

ひろれいさんの書き込み (2006-10-23 14:02) より:

「if .Cells(intRowCnt,7) = "" or .Cells(intRowCnt, = "" Then の1行はエラーにならないのだろうか」

といった疑問はありますが、それは転記ミスとして。


は単に8)が顔文字になっただけですね。
(オプションのこの投稿で 顔文字(スマイリー) を使わないをチェックしていない)


はい。分かっています。
ちょっと嫌味っぽく書いたつもりでしたが、分かりにくかったですね(^_^;)

自分の投稿を見直して、ソースコードが顔文字になっていたら、普通は修正するんじゃないのかなぁ
でも、この人はそんなことお構いなしなのかなぁ
って気持ちで書きました。

ベテランの称号を得るほど投稿してるので、オプションの使い方くらい覚えて欲しいですね。

スキルアップ/キャリアアップ(JOB@IT)