エンドユーザーに値を入力させたいスプレッドシートがあります。または、スプレッドシートが自動的に数式に入力されます。また、直接入力が削除された場合は、式を再入力することもできます。現在、以下のコードは何もしません。どんな助けでも大歓迎です!直接入力または数式
Private Sub Worksheet_Change1(ByVal target As Range)
If target.Cells.Count > 1 Then Exit Sub
If Not Intersect(target, Range("B8")) Is Nothing Then
Range("B8").Formula = "=IF($B$1=""DC"",IF(MAX('TY Data'!$L:$L)>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$I:$I,'Wage Run'!$D$1),0),IF($B$1=""Division"",IF(MAX('TY Data'!$L:$L)>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$M:$M,'Wage Run'!$D$1),0)" _
& ",IF($B$1=""GBU"",IF(MAX('TY Data'!$L:$L)&>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$N:$N,'Wage Run'!$D$1),0),IF($B$1=""Rollup"",IF(MAX('TY Data'!$L:$L)>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$O:$O,'Wage Run'!$D$1),0),""""))))"
End If
End Sub
編集:私はあなたがイベントのトリガを無効にされていない古いサブ
Private Sub Worksheet_Change(ByVal target As Range)
If target.Cells.Count > 1 Then Exit Sub
If Not Intersect(target, Range("B1")) Is Nothing Then
Range("C1").ClearContents
End If
If target.Cells.Count > 1 Then Exit Sub
If Not Intersect(target, Range("B8")) Is Nothing And target.Value = "" Then
Range("B8").Formula = "=IF($B$1=""DC"",IF(MAX('TY Data'!$L:$L)>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$I:$I,'Wage Run'!$D$1),0),IF($B$1=""Division"",IF(MAX('TY Data'!$L:$L)>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$M:$M,'Wage Run'!$D$1),0)" _
& ",IF($B$1=""GBU"",IF(MAX('TY Data'!$L:$L)&>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$N:$N,'Wage Run'!$D$1),0),IF($B$1=""Rollup"",IF(MAX('TY Data'!$L:$L)>=VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),SUMIFS('TY Data'!$K:$K,'TY Data'!$A:$A,5101200,'TY Data'!$L:$L,VLOOKUP('Wage Run'!$F$1,Dates!$A:$D,3,0),'TY Data'!$D:$D,""AP0345R"",'TY Data'!$O:$O,'Wage Run'!$D$1),0),""""))))"
End If
End Sub
「Worksheet_Change1」とは何ですか?それはその名前を持つことはできません、それは決して発射されません。 –
また、ターゲットが空であることをテストしたいと思うでしょう。その前にIfを入れ、 'And Target.Value =" "' –
okです。少なくとも発射は今...しかし、今では範囲( "b8")でデバッグエラーが発生しています。 –