2017-08-10 4 views
-3

を使用して:エクセル - 私は、マクロを使用するのは非常に新しいですので...私はどこVBAを実行しようとしています私はこのような単純なクエリでは、いくつかの助けを求めることができると思ったVBA

D5が空白の場合は、E5が空白の場合、F5 のクリアコンテンツは、D100/E100/F100を通ってこれを繰り返します。

これはこれを明確にします。

ありがとうございます!

編集:「最初にそれを解決しようとする努力をする」に応じて、これは私の最初の符号化(もグーグルからの支援は)だったが、それは唯一私が疑問を提起している理由を1行を見

If Target.Cells.Count > 1 Then Exit Sub 

If Not Intersect(Target, Range("D5")) Is Nothing Then 
    Range("E5").ClearContents 

End If 

    If Target.Cells.Count > 1 Then Exit Sub 

If Not Intersect(Target, Range("E5")) Is Nothing Then 
    Range("F5").ClearContents 

End If 

End Sub

+0

注:私は、これらの細胞は、それらの上にドロップダウンリスト機能を持っているので、マクロを使用します。 – Newbie

+3

ようこそスタックオーバーフローへ。これはコード作成サービスではありません。問題を自分でまず解決するために努力してください(ここでは既存の質問を検索して読むことが含まれます)。これを済ませたら、コードを書くことができます。困難に陥った場合は、あなたがしようとしていることを説明し、あなたが書いたコードの*関連部分*を含めて、特定の質問をしてください。がんばろう。 –

+0

なぜE5をチェックしていますか?あなたはただそれをクリアしました。 D5が空白の場合クリアE5:F5はあなたがしたいことをしなければならない....あなたの質問は完全にはっきりしていない – jsotola

答えて

0

このコードを試してみてください:)

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim n As Long 

    If Target.Column = 4 Then 
     If IsEmpty(Cells(Target.Row, 4)) Then 
       Range("E" & Target.Row).ClearContents 
       Range("F" & Target.Row).ClearContents 
     End If 
    End If 
End Sub 
+0

omgありがとう、これは私が欲しかったことです。 :)ありがとう! – Newbie

0

私は基本的に空であることが分かった最初のセルの後にすべてのセルをクリアするため、これをやりたいと思う理由は何も分かりません。しかし、ねえ、私はあなたのプロジェクトを知らない。ここでそれを行うための迅速かつ汚れた方法です。

For x = 5 to 100 
    If IsEmpty(cells(5, x)) then 
    Cells(5, x+1).Clear 
Next 
関連する問題