このコードを動作させるのに問題があります。 ActiveCell.Valueと共に(ByValue Target as Range)部分がなくても意図どおりに動作しますが、これらを含めて、エラーが表示されています。マクロのオプションの奇妙な問題
私はこれに応じて他の多くの機能を備えており、修正できることを確認したいと考えています。
ありがとうございます!
Private Sub CT(ByVal Target As Range)
'
' CT Macro
'
Sheets("Outbound Tactics").Select
If ActiveCell.Value = "Yes" Then
ActiveCell.Select
Range(Selection, ActiveCell.Offset(0, 23)).Select
Selection.Copy
Sheets("Completed Tactics").Select
ActiveSheet.Range("C4").Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Application.CutCopyMode = False
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Outbound Tactics").Select
ActiveCell.Select
Range(Selection, ActiveCell.Offset(0, 23)).Select
Selection.Delete
End If
End Sub
PS:私が理解から、最初の部分が連続で呼び出されることなく、マクロの実行を持つためにあり
どのようにサブを呼びますか?サブを呼び出すときには範囲を渡す必要があります。:CT(Range( "A1")) 'または何もしないので削除します。別のノートでは、selectを使わないでください。参照してください:http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros –
それは全く変わっていません。マクロに指示する場合は、作業するためのターゲットが必要です。マクロを呼び出すたびにマクロを導入する必要があります。あなたのコードを見ることで、これまで使用されていないTargetが入力として必要なことはありません。 [詳細はこちら](http://www.functionx.com/vbaexcel/functions/Lesson3.htm) – Sgdva
Worksheet_Changeイベントの名前を変更することはできません - 私はあなたが行ったことを推測していますか? – SJR