For Next ステートメントで計算式を代入したいのですが・・・
excel(2003) VBAでの質問です。
20行ごとに同じような表が20個つづいてあります(さらにそれが複数のシートにある形です)。
それぞれの特定のセルに、計算式を入れていきたいのですが、
現状こんな感じです。
For i = 18 To 400 Step 20
Cells(i, 6).Formula = "=IF(P6>'sheet2'!g18,g1,'sheet2'!f18)"
Next i
ここで、「=」の右側の計算式の部分のセル「P6」「g18」「g1」「f18」も、変数「i」の値に応じる形で20行ずつさげたいのですが、どうしたらいいのでしょうか?
ちなみに、イメージではこんな感じなのですが
Cells(i, 6).Formula = "=IF(P6+i>'sheet2'!g18+i,g1+i,'sheet2'!f18+i)"
当然エラーが出てしまいます。「P6」の部分を「cells(i-12,16)」とかにしてみても無理でした。
初歩的な質問で申し訳ないのですが、ご教示の程、よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
R1C1形式を上手に使ってみると,ご相談の「セルによって式の文字列を変える」必要が無くなります。
For i = 18 To 400 Step 20
Cells(i, 6).FormulaR1C1 = "=IF(R[-12]C[10]>Sheet2!RC[1],R[-17]C[1],Sheet2!RC)"
Next i
R1C1形式の式の記述は,先にセルに一度
F18:
=IF(P6>Sheet2!G18,G1,Sheet2!F18)
の式を入れておき,ツールメニューのオプションの全般でR1C1にチェックを入れると
=IF(R[-12]C[10]>Sheet2!RC[1],R[-17]C[1],Sheet2!RC)
のように自動で変わるので,そのまま数式バーの中からコピーして使えばOKです。
#別の手
目的のセルをまとめてUnionにしておき,一斉に一つの式を投入する手もあります
ワークシート上の操作では,目的のセルをコントロールキー+クリックで飛び飛びに選択しておき,一つ式を入れてコントロール+Enterで入力する操作に相当します。
でも今回は式の入力先セルが飛び飛びで沢山なので,対象セル範囲を確保するのに結局ループしないといけないため,こちらの方法はあまりメリットはありません。
No.3
- 回答日時:
こんなパターンもありかも
Cells(18, 6).Formula = "=IF(P6>'sheet2'!g18,g1,'sheet2'!f18)"
Cells(18, 6).Copy
For i = 18 To 400 Step 20
Cells(i, 6).PasteSpecial
Next i
Application.CutCopyMode = False
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
COUNTIFの反対の関数はあるので...
-
同一セルに日時があるものを日...
-
Excelで指定した条件と一致する...
-
EXCELでCSVファイル保存すると...
-
Excel 空白セルの掛け算で答え...
-
1年分のデータから特定の月分...
-
エクセルで数字、文字列混在の...
-
EXCELで年月日の表記から日付部...
-
セルの着色を認識する関数って...
-
Excelで連続データを行飛ばしで...
-
エクセル数式・等間隔ごとの範...
-
エクセルでセルを一括で右詰に...
-
エクセルVBA オートフィルの最...
-
とびとびのセルに連続データを...
-
串刺し関数でフィルの連続デー...
-
excelでカレンダーから予定を別...
-
Excelで、表紙に、住所を自動で...
-
ドロップダウンリストで空白の...
-
トラックスケールの計量器から...
-
エクセル 特定の条件で特定の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
EXCELでCSVファイル保存すると...
-
Excelで指定した条件と一致する...
-
COUNTIFの反対の関数はあるので...
-
エクセルでセルを一括で右詰に...
-
エクセルで数字、文字列混在の...
-
EXCELで年月日の表記から日付部...
-
ドロップダウンリストで空白の...
-
エクセルVBAで、複数セルのデー...
-
OFFSET関数を使用した印刷範囲...
-
1つのセルにまとまっている情報...
-
複数のシートの日付データを、...
-
Excelで連続データを行飛ばしで...
-
エクセル数式・等間隔ごとの範...
-
webクエリのurlの変更方法
-
セルの着色を認識する関数って...
-
エクセル
-
セル内の改行された文字列を分割
-
EXCELで足し算できるのにSUM...
おすすめ情報