[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルにマクロで数式を書き込み50行程度数式をオートフィルしたい』(ニンジン74)
行 A B C D E F 6 番号 日付 会社名 入金 出金 残金 7 1 1/5 あさひ 1,000 1,000 8 2 1/6 かない 500 数式張付け 9 3 以下オートフィル (50行程度) 質問:いろいろ参照しましたが不明です。よろしくお願いします F8には張付けたいマクロを作りましたがデバッグになります 直接書き込むときは、正しく動作しています マクロで張付けたいのは、複数の人間で使用するため 行の追加や削除をすると数式が削除されたりして動作しなく なるため、数式を再度張付けるようマクロを作りたいのです
作成したマクロ(FormulaをValueにもしてみた)
Sub 再張付け()
Range("F8"),formula = "=IF(AND(D8=",E8="),",(F7+D8-E8))" Range("F8").select Selection.AutoFill Destination:=Range("F8:F58"), Type:=xlFillDefault Range("B4").select End Sub 入力のない場合は、F列は0でなく空白にしています また "IF(AND(D8=",E8="),",(F7+D8-E8))"にすると、当然文字として 張付けされます(文字を数式に変換しなければいけませんか) 直接表に書き込みで動作OK =IF(AND(D7=",E7="),"",(F6+D7-E7)) A列の番号付けは以下のマクロで動作しています(これを参考にしました) Sub Macro1() Range("A7").Value = "=Row()-6" Range("A7").Select Selection.AutoFill Destination:=Range("A7:A50"), Type:=xlFillDefault Range("A4").Select End Sub 追加 数式セルをロックしシートの保護をしてしまうと、行の追加、削除 が出来なくなりオートフィル等のマクロが停止してしまう(使えない) 追加削除をさせなければいいのですが
< 使用 Excel:Excel2016、使用 OS:Windows10 >
1)"は、2個重ねて使用します。
http://officetanaka.net/excel/vba/tips/tips90.htm
2)式は、オートフィルしなくても、こんな感じで一度に入力できます。
Range("F8:F58").formula = "=IF(AND(D8="""",E8=""""),"""",(F7+D8-E8))"
3)マクロ開始時に、シート保護を解除し、最後にまた保護ではだめなのでしょうか。
(マナ) 2017/01/07(土) 15:43
(ニンジン74) 2017/01/07(土) 16:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.