これはここで私の最初の投稿です内の値を認識していないが、私はまだVBAを学んでいますし、何かが欠けていてもよいです。 私は平均値を計算することができますので、私の前のエントリの歴史を持つテーブルに、列Iの入力からそれらを値のグループを移動しようとしています。 私は、入力フィールドの値を検出するために、IF条件を使用していますが、何らかの理由では、IFループの最後までスキップしてくれELSE結果を提供します。 私が間違っていることが目立ちますか?VBAは、私が検索し、新鮮な目で見て壁に頭を叩いていくつかの時間を費やし細胞
事前に感謝
Sub MoveValuesToPrior()
'
' MoveValuesToPrior Macro
'
Application.ScreenUpdating = False
If WorksheetFunction.Sum(Sheets(2).Range("D3:D1000")) > 0 Then
Sheets(1).Range("C2:C11").Copy
Sheets(1).Range("B2").PasteSpecial Paste:=xlPasteValues
Sheets(2).Range("D3:D1000").Copy
Sheets(2).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(2).Range("D3:D1000").ClearContents
Sheets(2).Range("L3:L1000").Copy
Sheets(2).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(2).Range("L3:L1000").ClearContents
Sheets(3).Range("D3:D1000").Copy
Sheets(3).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(3).Range("D3:D1000").ClearContents
Sheets(3).Range("L3:L1000").Copy
Sheets(3).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(3).Range("L3:L1000").ClearContents
Sheets(4).Range("D3:D1000").Copy
Sheets(4).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(4).Range("D3:D1000").ClearContents
Sheets(4).Range("L3:L1000").Copy
Sheets(4).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(4).Range("L3:L1000").ClearContents
Sheets(5).Range("D3:D1000").Copy
Sheets(5).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(5).Range("D3:D1000").ClearContents
Sheets(5).Range("L3:L1000").Copy
Sheets(5).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(5).Range("L3:L1000").ClearContents
Sheets(6).Range("D3:D1000").Copy
Sheets(6).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(6).Range("D3:D1000").ClearContents
Sheets(6).Range("L3:L1000").Copy
Sheets(6).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(6).Range("L3:L1000").ClearContents
Sheets(7).Range("D3:D1000").Copy
Sheets(7).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(7).Range("D3:D1000").ClearContents
Sheets(7).Range("L3:L1000").Copy
Sheets(7).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(7).Range("L3:L1000").ClearContents
Sheets(8).Range("D3:D1000").Copy
Sheets(8).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(8).Range("D3:D1000").ClearContents
Sheets(8).Range("L3:L1000").Copy
Sheets(8).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(8).Range("L3:L1000").ClearContents
Sheets(9).Range("D3:D1000").Copy
Sheets(9).Range("C3").PasteSpecial Paste:=xlPasteValues
Sheets(9).Range("D3:D1000").ClearContents
Sheets(9).Range("L3:L1000").Copy
Sheets(9).Range("K3").PasteSpecial Paste:=xlPasteValues
Sheets(9).Range("L3:L1000").ClearContents
Sheets(1).Activate
Application.CutCopyMode = False
Else: MsgBox ("The current data has already been moved to prior.")
End If
Application.ScreenUpdating = True
End Sub
'MsgBoxにWorksheetFunction.Sum(シート(2).Range(" D3からの結果何: D1000 "))'? ': – Slai
あなたは' WorksheetFunction.Sum()シート(2).Range( "D1000 D3")この式をデバッグがありますか?私はどのような結果が期待され、どのような結果がデバッガを示すのかを意味します。 – Alex
'Sheets(2)'はあなたが思っているシートでさえありますか?あなたの 'If'ステートメントの前に' MsgBox Sheets(2).Name'を含めて、それが期待しているシート名を返すようにしてください。 – YowE3K