• ベストアンサー

【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マクロでオートフィルするにはどうしたらいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

引用符が不足しているからだと思います。 数式 = "=IF(AND(E2>0,F2=0),""削除"",IF(AND(E2=0,F2>0),""新規"",""変動なし""))"をお試し下さい。

udon0318
質問者

お礼

回答ありがとうございます。 私の引用符に対する知識が足りなかったようです。 上記の通りで正常に動きました。 これを参考に色々と試してみます、ありがとうございました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

どこかのセルに、 =IF(AND(E2>0,F2=0),"削除",IF(AND(E2=0,F2>0),"新規","変動なし")) を打ち込むマクロの自動記録を取ってみると、""の使い方がわかるかも?

udon0318
質問者

お礼

回答ありがとうございます。 私の引用符に対する知識が足りなかったようです。 色々と勉強してみます。

関連するQ&A

  • エクセルで数式セルのオートフィルがうまくいかない

    エクセル2000で数式を含んだセルのオートフィルがうまくいきません。 具体的には F5=IF($D$2="","",VLOOKUP($D$2,data!C8:data!D11,2,0)) F6=IF($D$2="","",VLOOKUP($D$2,data!C12:data!D15,2,0)) となっています。F5とF6セルを選択し、行方向にオートフィルをかけると F7=IF($D$2="","",VLOOKUP($D$2,data!C10:data!D13,2,0)) F8=IF($D$2="","",VLOOKUP($D$2,data!C14:data!D17,2,0)) となってしまいます。 VLOOKUPのターゲット範囲がうまく動いてくれません。 お知恵拝借お願いいたします。

  • EXCEL でオートフィル出来ない

    よろしくお願いします。 エクセルで、セルk5の位置に、  =-LN($F$5/$E$5-0.008*$L$5)+(4-3.5*$F$5/$E$5)*$K$5/$H$5 と数式を入力しました。オートフィルでk6以降のk列に入力しようとしたところ、 =-LN($F$6/$E$6-0.008*$L$6)+(4-3.5*$F$6/$E$6)*$K$6/$H$6 とはならずに、 =-LN($F$5/$E$5-0.008*$L$5)+(4-3.5*$F$5/$E$5)*$K$5/$H$5 のままでオートフィルできません。 解決策をお願いします。

  • VBA 結合されているセルのオートフィル

    先程同じような質問をしてしまい すいませんが 結合されているセルのオートフィルのやり方が今一つわかりません でしたので質問させていただきます。 やりたいこと A列・・・A1セル『1』A2セル『2』・・・A10セル『10』と 数字が入っています。 BとC列・・・結合されており B1C1セル『1000』B2C2セル『1100』と数字が入っています。 F1セル・・・1~10までの数字が入っています。 処理内容 F1セルに『5』と数字が入っている場合 B5C5セルを選択後、数字が入っているB2C2セルまで移動します。 そのあと、B5C5セルではなく B4C4セルまで『1100』とオートフィルしたいのですが 可能でしょうか。 それともこのような処理をしたい場合オートフィルをするのは 間違っているのでしょうか? すいませんがコード記載していますので 回答宜しくお願い致します。 コード Sub Macro1() Dim a As Variant Dim i As Variant Dim RSta As Long Set a = Range("F1") '検索値'例えば5と入力したら For i = 1 To 10 If a.Value = Cells(i, 1).Value Then 'F1セルに5と入力されA5セルの数字が5なら If Cells(i, 2) = "" Then 'B5セルの値が何もなければ RSta = Cells(i, 2).End(xlUp).Row 'ここでBとCセルの結合されているセルの数字が入っている 一番上のセルを選択し Range("B" & RSta, "C" & RSta).AutoFill Destination:=Range("B" & RSta, "C"), Type:=xlFillCopy 'このコードが間違っているらしくうまくできません。ここでBとCの結合されているセル2行目から4行目までをオートフィル(数字のコピーのみを実施したい) End If End If Next i End Sub

  • Excelの数式コピー時のオートフィル機能について

    こんにちは。 数式をコピーしてもオートフィル機能が使えません。 =IF(VLOOKUP("金1",・・・・ 上記のような数式を作成し、コピーをして下記のようにしたいのですが、普通にコピーしただけでは、オートフィルが機能しません。 =IF(VLOOKUP("金1",・・・・ =IF(VLOOKUP("金2",・・・・ =IF(VLOOKUP("金3",・・・・ =IF(VLOOKUP("金4",・・・・ 何か方法はあるのでしょうか。 よろしくお願いいたします。

  • 数式のオートフィルは可能ですか?【Excel 2003】

    数値のオートフィルはできるようですが、数式のオートフィルはできませんか? たとえば A1に数式 =E5 が入っているとして、オートフィルでA2を =E6 にできませんか?

  • エクセルのオートフィル機能で

    エクセルのオートフィル機能で例えばD列に数式をコピーしていく際にセル番地の部分をD2,D3,D4・・・としていくのは下方向にドラッグしていけばよいので簡単なのですが、それをD列に数式をコピーしていってD2,E2,F2,G2・・・と言うようにコピーすることはできないのでしょうか??? 教えてください。

  • Excel2007で数式のオートフィルの仕方について

    Excel2007で数式のオートフィルの仕方について ただの数字をセルA1に1、セルA2に3と入力し、A1とA2を範囲選択して、 下方向にオートフィルすると 1 3 5 7 9 となるのですが、 数式の場合、このような連続入力になりません。 例えば、 =B1 =B3 =B5 =B7 =B9 のようにするにはどうすればいいのでしょうか。 オートフィルはできないのでしょうか。

  • Excelのオートフィルについてお尋ねします。

    Excelのオートフィルについてお尋ねします。 オートフィルを実行した後、オートフィルオプションが 表示されますが、例えば、下記のように セルのコピー(C) 連続データ(S) 書式のみコピー(フィル)(F) この場合の(C)(S)(F)は、何なんでしょうか? キーボードから操作できるのかと思いましたが、変化ありません。 解答宜しくお願いします。

  • エクセルで、オートフィルで、~個おきに参照するなどの数式を簡単に入力する方法について

    エクセルのオートフィルの仕方で、分からない点があり、お教え下さい。例えば、A1からZ1までのセルに、ランダムな数値がはいっているとします。A2に”=A1”、B2に”=C1”、C2に”=E1”、D2に”=G1”などのセル参照の数式をいれるときは、A2に”=A1”と入力した後、オートフィルのように簡単に連続して1個おきの次のセル参照(B2に”=C1”、C2に”=E1”・・・)を入力する方法はあるのでしょうか。つまり”~個おき”のセル参照を連続入力(オートフィル)する方法をお教えいただけないでしょうか。宜しくお願いします。

  • Excelでオートフイルがおかしい。

    数式の入ったセルをオートフイルで表示すると、数式は正常にコピーされますが、表示は元の表示になってしまいます。そのためセルごとにダブルクリックしてEnterキーを押すと正常になります。例えば、Rank数式の入ったセルをオートフイルすると、4,4,4,4,4,になってしまいます。二番目以降のセルをダブルクリック&Enterをすると、4,2,1,3,5,というように表示してくれます。セルの書式を見ても標準になっているし、ロックも入っているようです。何がおかしいのか見当がつきません。わかる方、教えてください。

専門家に質問してみよう