Anzeige
Archiv - Navigation
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige