2
ブック内のすべてのワークシートの列B〜Fに数式を挿入するマクロを作成しようとしています。何らかの理由で、ブックのループが機能していないし、マクロが最初のブックで連続して実行されます。誰でもアイデアはありますか?マクロが期待通りのワークブックでループしていない
Option Explicit
Sub Formuoli()
Dim iLastRow As Integer
Dim i As Integer
Dim ws As Worksheet
iLastRow = Range("a10000").End(xlUp).Row
For Each ws In ThisWorkbook.Worksheets
With ws
For i = 1 To iLastRow
Range("B" & i).Select
Selection.Formula = 'these are formulas
Range("C" & i).Select
Selection.Formula = 'these are formulas
Range("D" & i).Select
Selection.Formula = 'these are formulas
Range("E" & i).Select
Selection.Formula = 'these are formulas
Range("F" & i).Select
Selection.Formula = 'these are formulas
Next i
End With
Next ws
End Sub
たとえば、(i = 1〜iLastRowの後に) '.Range(" B "&i).Select'を指定する必要があります。 – Ralph
また、私は[** .Select]の使用を避けるために、非常に**大いに**読んでおくことをお勧めします。 (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)要するに、 '.Select'テキストを削除して' Selectionあなたが '.Range(" B "&i).Formula = ...'を実行できるように、 'Select 'がどこにあったかを指定してください。 – BruceWayne