| 
    
     |  | 提示されたコードがすでにVBA(マクロ)なんですけど。 再計算を一時とめてみました。
 ただ、それほど早くはならないだろうし、再計算をとめる事で計算順序が変わることがあるだろうか?は、今まで調べたことがないのでなんとも?
 不安なら、数式を書き込む範囲ごとに手動、自動を分けてみるとか。
 
 FstCal = Application.Calculation
 Application.Calculation = xlManual
 
 Range("C12").FormulaR1C1 = "=IF(RC1="""",,MIN(MAX(R11C,VLOOKUP(R7C2&RC1,date!C1:C8,6,FALSE)),
 VLOOKUP(R7C2&RC1,date!C1:C8,7,FALSE))-
 MAX(MIN(R9C,VLOOKUP(R7C2&RC1,date!C1:C8,7,FALSE)),
 VLOOKUP(R7C2&RC1,date!C1:C8,6,FALSE)))"
 
 Range("C12").AutoFill Destination:=Range("C12:R12"), Type:=xlFillDefault
 
 Range("V12").FormulaR1C1 = "=IF(RC1="""",,VLOOKUP(R7C2&RC1,date!C1:C8,8,FALSE))"
 
 Range("U12").FormulaR1C1 = "=IF(RC1="""",,VLOOKUP(R7C2&RC1,date!C1:C9,9,FALSE))"
 
 Range("B12").FormulaR1C1 = "=IF(RC[-1]="""","""",VLOOKUP(RC[-1],date!C[2]:C[3],2,FALSE))"
 
 Application.Calculation = xlAutomatic
 Application.Calculation = FstCal
 Doevents
 
 Range("B12:W12").Copy
 Range("B13:B69").PasteSpecial
 
 |  |