Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Eingabeereignis / klappt nicht so wie es soll.

Forumthread: VBA Eingabeereignis / klappt nicht so wie es soll.

VBA Eingabeereignis / klappt nicht so wie es soll.
27.12.2004 11:57:05
Sonnenpeter
Hallo zusammen,
habe mir mit Hilfe von Josef und Klaus ein Eingabeereignis gebastelt(siehe unten).
Nun das Problem:
Sofern ich nur in Spalte F arbeite funktioniert alles.
Wenn ich jedoch auch A bis E komplett makiere und lösche bleiben die Formeln in in Spalte G und H erhalten. Diese sollten jedoch auch gelöscht werden wenn in Spalte F keine Zahl mehr ist.
Wie kann ich das angehen.
Gruß / Sonnenpeter

Private Sub Worksheet_Change(ByVal Target As Range)
Dim zelle
If Target.Address = "$D$1" Then
MsgBox "Mein Makro"
End If
If Target.Column = 6 Then 'Spalte F
If Selection.Count = 1 Then
' Wenn nur eine Zelle ( = 1) ausgewählt ist, dann...
If Target > 0 Then
Target.Offset(0, 1).Formula = "Formel_1"
Target.Offset(0, 2).Formula = "Formel_2"
Else
Target.Offset(0, 1).Formula = ""
Target.Offset(0, 2).Formula = ""
End If
Else
' Wenn mehrere Zellen ausgewählt sind, dann...
For Each zelle In Selection
If zelle > 0 Then
zelle.Offset(0, 1).Formula = "meine Formel"
Else
zelle.Offset(0, 1).Formula = ""
End If
Next
End If
End If
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ups, noch etwas vergessen
27.12.2004 12:01:47
Sonnenpeter
Hallo nochmal,
Weiterhin sollte das Makro erst ab Zeile 11 die Formeln auswerfen.
Gruß / Sonnenpeter
AW: Ups, noch etwas vergessen
27.12.2004 12:47:03
Josef
Hallo Peter!
Probier mal:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
If Target.Address = "$D$1" Then
MsgBox "Mein Makro"
End If
If Not Intersect(Target, [A11:F65536]) Is Nothing Then
For lRow = Target.Rows(1).Row To Target.Rows(1).Row + Target.Rows.Count - 1
If Cells(lRow, 6) > 0 Then
Cells(lRow, 7).Formula = "meine Formel_1"
Cells(lRow, 8).Formula = "meine Formel_2"
Else
Cells(lRow, 7).Formula = ""
Cells(lRow, 8).Formula = ""
End If
Next
End If
End Sub

Gruß Sepp
Anzeige
DANKE
27.12.2004 13:03:44
Sonnenpeter
Danke Sepp,
funktioniert ohne Probleme :-)))
Gruß / Sonnenpeter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige