- ベストアンサー
VBAの条件式に関する質問です。
ある一つのセルに以下のような条件式が組み込まれていました。VBAに関してあまり良くわからないのですが、これをjavaに書き換えるとすれば、どの様な形になるのでしょうか? 教えていただけるとありがたいです! =IF(AW6<=チーム!H51,IF(AW6>=チーム!G51,0,AW6-チーム!G51),AW6-チーム!H51)
- mathmathuunt
- お礼率64% (11/17)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
int a = 1; // AW6の値 int b = 2; // チーム!H51の値 int c = 3; // チーム!G51の値 int d = 0: // 結果格納場所 if (a <= b) { if (a >= c) { d = 0; } else { d = a - c; } else { d = a - b; } もしくは d = a <= b ? (a >= c ? 0 : a - c) : a - b;
関連するQ&A
- エクセルVBAで条件式について
例えば、エクセルVBAでif~thenのような条件式で条件に合わなかったら、そのプロシージャ内の処理をすべてキャンセルするか、条件にあわなかったら、それ以降の下段に記述されているプロシージャ内のVBAをキャンセルする方法はありませんか?
- ベストアンサー
- オフィス系ソフト
- VBAで条件式がうまく作れず困っています
VBAで条件式を作りたいのですが、うまくできません。超初心者ですので、分かる方教えてください。 ある項目をみて、値が10、15、40のときその行を削除するというものです。その項目にはいろいろな値が入っています。 構造的には、 if(値が10または15または40) then 行削除 end if となるのでしょうが、カッコの中の書き方を教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 【VBA】改行されたセルの条件
VBAにてA1のセルが画像のように改行されたセルであっても条件式で処理を行うようにしたいのですがうまくできません。 ↓式のように作成はしてみました どうしたら改行されたセルでも処理が行えるのでしょうか? Sub test() If Range("A1") = (行1行2の場合) Then 処理 End If End Sub
- ベストアンサー
- Excel(エクセル)
- 【Excel】複数条件の論理式をVBAマクロでオートフィルするには?【エクセル】
セルF2からF5000までは =VLOOKUP(C2,sp_csv!C:H,6,0) という関数をオートフィルで入力できるようにマクロを組みました。 Sub Macro1() セル範囲 = "F2:F5000" 数式 = "=VLOOKUP(C2,sp_csv!C:H,6,0)" Range(セル範囲).Formula = 数式 End Sub 同様にセルG2からG5000は =IF(AND(E2>0,F2=0),"削除",IF(AND(E2=0,F2>0),"新規","変動なし")) という関数を入れてオートフィルさせたいのですが、コンパイルエラーが出てしまいます。 Sub Macro2() セル範囲 = "G2:G5000" 数式 = "=IF(AND(E2>0,F2=0),"削除",IF(AND(E2=0,F2>0),"新規","変動なし"))" Range(セル範囲).Formula = 数式 End Sub 複数条件の論理式をVBAマクロでオートフィルするにはどうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel VBA 特定の条件の時に指定されたセルのクリア
お世話になります。 Office2007 WinXPです。 VBAの勉強を始めたばかりです。 よろしくお願い致します。 E12~I12までに数字が入ります。 その数字を元にE13~I13までとE14に○か×か判定を入れてます。 VBAで動かしたいセルはF20~I20です。 E14が×の○の場合、F20~I20は全てセルのクリア Range("F20:I20").Clear 後は個別にF14が○ならF20のセルをクリア G13が○ならG20のセルをクリア H13が○ならH20のセルをクリア I13が○ならI20のセルをクリア J13が○ならJ20のセルをクリア 関数のIF文ではセルのクリアができないので… 条件は =IF(OR(E14="○",F13="○"),"データクリア","入力して下さい") 参考で見つけたHPで If 条件式 Then 判断結果がTrueのときに実行する処理 Else 判断結果がFalseのときに実行する処理 End If どのように当てはめたらよいのかがわかりません。 ご教授の程よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- VBA作製ができません。どなたか教えてください。
エクセルVBA作製ができません。どなたか教えてください。 会社の作業単純化のためにVBA作製しようと思ったものの、うまくできません。出来る方ならすぐ出来てしまうのではと思い質問させていただきます。 作りたいのは1つのファイル「Book1」にあるデータをコマンドボタンを押すと「Book2」にコピーさせたいのですが、 条件がありまして、 「Book1」には横並びに5個のセルに数字がそれぞれ入っていたり、いなかったりするのですが、 5個のうちいちばん左のセルに数字が入っていたら実行、入っていなかったらその右のセルにセルを移動するという式if then?で場合分けをしたいです。 そして、もし実行ならその数字や他の任意のA1、G4、H6(ちなみA1、G4、H6は文字)など指定したセルをコピーして「Book2」にペーストしたいです。 しかしそこでペーストする先の指定したセルに文字が入っていたらその 下のセルにペーストという条件も加えたいです。ここでloopを使う? コピーペースト出来たら、また、「Book1」のいちばん左の右のセルに数字が入っているかどうかでコピーペーストをするという作業を繰り返したいです。なのでいちばん最初にFor Nextで5回繰り返す式を入れる? 要はBook1の5個の数字を参照していってセルに入力されていれば 数字や他の文字をBook2にペーストしたいんです。どなたかVBAの式を教えてください。 宜しくお願いします。
- 締切済み
- SE・インフラ・Webエンジニア
- VBAで条件式について
EXEL(VBA)で例えば、A列のデータが入っている行までの中で数値(x)が x<2 ならばセルに色をぬる。そして空白セルと x>2ならば色をぬらない。 という条件式は、どうしたらいいのですか? Sub InteriorColor() For j= 5 to 21 worksheets(j).activate For i = 1 to 40 '30から40行ぐらい While cells(6+i,6)<>"" If(cells(6+i,6).value<2) Then ’6列7行目から with selection.interior .Colorindex=45 .patern=xlsorid End with Wend End if Next i Next j End sub ということを連続していない列(5列ぐらい)に対してします。 同じ命令文になる部分もあるので簡潔にしたいという希望もあります。 上部の命令では無限ループの可能性があり実行が止まりません。 どのように記述したらいいのですか? また、同じブックのシート25枚のうち5枚目から21枚目に対して処理します。 5から21までのシートの間で関係ないシートが7枚目と10枚目と15枚目にあります。それを省いての処理もあれば教えてください。
- 締切済み
- その他(プログラミング・開発)
- VBA 指定条件を満たすデータ表を探したい
VBA初心者です。 以下のような事をVBAで実現したいのですが、どのようにすればいいのでしょうか。 (本日のお昼頃に似たような質問をして早速回答をいただき解決しました。ありがとうございました。今回は条件の表示位置などが異なる場合です。) 添付画像のような数値データ表があります。 データ表が1から5まであります。 左上にそれぞれのデータ表での数値の検索条件1と2が記載されています。 データ表1は548以上になる位置を上から順に探していき、その数値以上になった時点でセルに色を付けたいです。そしてG列の条件1のセルに「合致」と表示したいです。 条件2の535以下は条件1を満たしたセルの次の行から検索をさせたいです。 (データ表1の場合は22行目からです。) そして、条件2を満たすものが出たらセルに色を付け、H列の条件2に「合致」と表示したいです。 また、例えばデータ表3とデータ表4の場合は条件2で合致するものがないのですが、その場合は H列の条件2に「該当なし」と表示したいです。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- VBAのIF分で時間指定の条件式の書き方
VBAのIF分で時間指定の条件式の書き方を教えてください。 9:00~14:00で実行する下記のマクロはうまく機能しています。 If Time >= TimeValue("9:00:00") And Time <= TimeValue("14:00:00") Then 下記をご教授願います。 16:00~翌日の4:00までの、日をまたがっての12時間後の条件式の書き方を教えてください。 よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
出来ました! ありがとうございました!