- ベストアンサー
InputBoxから論理式を得てIF文の論理式に反映したいのですが?
InputBoxで、論理式を入力させて、その論理式が同じマクロ内のIF文の論理式に反映させたいのですが、”型が一致しません”というエラーが出てしまいます。どうすればよいのでしょうか?お教えください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
- naganaga_001
- ベストアンサー率71% (172/242)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
関連するQ&A
- IFの論理式
エクセルで数式の検証を眺めていたところ、 =IF(1,) は0、(というか0以外の数字のとき) =IF(0,) はFALSEが返ってきていました。 この2つの論理式部分には何が起きているのですか?
- ベストアンサー
- Excel(エクセル)
- If文の条件文の書き方
お世話になります。 Excelでマクロを作成しております。 内容: あるセルに、X<=300 というような条件を入れておきます。 ある値、たとえば、500 が来たときに、Xに代入して、 500<=300 という条件式を作り、それが、正しいか、正しくないか の結果を求めたいと思っています。 このとき、if文の条件文は、値によって、変わらなくてはいけないので、 文字列の置き換え等をして、変数として条件文を作ると、「型が違います」 のエラーになります。 どのように条件文を作ればいいでしょうか?? hani = Cells(1,1).value 'セル1,1に、X<=300 が書かれています。 exp = Replace(hani, "X", 500) '"X"を500と置き換えます。 If exp Then Check = 0 Else Check = 1 End If よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセル関数でif文の作成の仕方
if文の論理式にセルに何も入力されていない場合、別のセルに「-」を表示させようと、=IF(" ","-",・・・とするとエラーとなりました。 空白のセルはどのように表現すればよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- If文について
よろしくお願いします。 Excelのマクロで If文を使おうとしています。 ブックAのシート1に会員No.リストがあり、 ブックBに会員Noをシート番号にしたものがあります。 そこで、会員Noに等しいシートを見つけようと、下記のようにIf文を使いました。 しかし、等しいシート番号があるのに 一致した と出ません。 シートの最後まで進んで 不一致 が出ます。 どこが悪いのでしょうか。ご指導お願いします。 For I = 1 To ActiveWorkbook.Worksheets.Count 'ワークシートの数だけ繰り返す MsgBox 会員No & Worksheets(I).Name If 会員No = Worksheets(I).Name Then MsgBox "一致した" End If Next MsgBox "不一致" 質問の補足ですが、マクロはブックAにあります。 ブックAから会員Noを読み取り、ブックBをアクティブにしてから、If文に入っています。またIf文の前のMsgBox 会員No & Worksheets(I).Name で番号が一致する時があることも確認しています。
- ベストアンサー
- Visual Basic
- excel InputBox内はどう表記すれば?
題名通りのプログラムを作成しています。今回お聞きしたいのは、InputBox内の内容と入力した内容をIf文などで "=" とするにはどうすればいいか、ということです。たとえば、 array1 = "季節" array2 = "冬" kotae = InputBox(問1 : array1 & "は" & array2 & "です") とした時、If文で「もし、入力した内容(kotae)と"季節は冬です"という文が等しいならば」というような式を作り、合っていればseikai + 1、異なればそのまま、といった感じです。簡単にいえばタイピングです。参考書も見たりしたのですが、解決策が出てきません。すごく単純な気もするんですが…文字だと混乱して何が何だか(汗 ご教授お願いします。
- ベストアンサー
- オフィス系ソフト
- perl のif文(条件式)内に代入式は使えない?
例えば、$a =1 という代入式を、if 文の条件式として、( $a = 1){ } とするとエラーが出ますが、代入式はif文の条件式として使えないのですか?
- ベストアンサー
- Perl
- vba InputBox キャンセルなら
Sub test() Dim i As Long i = InputBox("値をいれてください") 'キャンセルなら 'if then exit sub End Sub このような状態で、キャンセルボタンを押すかescキーを押したら、 'キャンセルなら 'if then exit sub でプロシージャーを抜けたいのですが、 キャンセルボタンを押すと、実行時エラー13になります。 (_型が一致しません。(Error13)) エラーを発生させずに、キャンセルさせるにはどうすればいいですか?
- 締切済み
- オフィス系ソフト
- PerlでIF文の条件式をもっとスマートに書きたい
PerlでIF文の条件式をもっとスマートに書きたいのですが。。。 以下のようなIF文の条件式を上手く書く方法がありますでしょうか? if($flg[0] == 1 || $flg[1] == 1 || $flg[2] == 1 || $flg[3] == 1 || $flg[4] == 1 || $flg[5] == 1 || $flg[6] == 1 || $flg[7] == 1 || $flg[8] == 1 || $flg[9] == 1)){ $flg[i]は配列@flgの各要素です。 上記のように「||」(論理和:または)でつないで書くのではなく、 もっとスマートに書きたいのですが、 何か良い方法はないでしょうか?? ご存じの方がいらっしゃいましたら、どうかご教示ください。 よろしくお願い致します。
- 締切済み
- Perl
お礼
ありがとうございます。 こんなに短く書けるのですか。 驚きました。 勉強させていただきます。 どうぞ、これからもよろしく願いします。