Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereich(Wenn Zelle leer dann Text)

Forumthread: Bereich(Wenn Zelle leer dann Text)

Bereich(Wenn Zelle leer dann Text)
17.10.2013 12:03:15
Steffen
Guten Morgen,
ich hoffe Ihr könnt mir weiterhelfen.
In meiner Excel Datei möchte ich einen Bereich prüfen lassen, sobald hier eine
Formel gelöscht wird und keine Text eingegeben wurde, soll die Formel wieder gesetzt werden.
Bis jetzt sieht mein Code so aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("B11:B24")) Is Nothing Then
Range(Target.Address).FormulaLocal = "=WENN(ISTFEHLER(SVERWEIS(C17;Eichgebühr;2;0));"";  _
_
_
SVERWEIS(C17;Eichgebühr;2;0))"
End If
End Sub

Ich weiß nur noch nicht wie ich die Range(Target.Address) richtig setze, so das er den Wert in die leere Zelle schreibt, statt auf den Bereich.
Vielen Dank!
Gruß steffen

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich(Wenn Zelle leer dann Text)
17.10.2013 12:35:53
Rudi
Hallo,
weißt eigentlich was du da machst?
Ich glaube nicht.
Du schreibst bei jeder Änderung der Auswahl in jede Zelle außer B11:B24 die Formel.
Willst du das?
Worksheet_Change wäre erheblich angebrachter.
Range(Target.Address) ist Quatsch. Wozu die Adresse eines Bereichs ermitteln um dann einen Bereich zu erzeugen? Target reich völlig aus.
Gruß
Rudi

Anzeige
AW: Bereich(Wenn Zelle leer dann Text)
17.10.2013 14:21:34
Bastian
Hallo Steffen,
ich hoffe, ich habe Dich richtig verstanden: Wenn im Bereich B11:B24 eine Formel gelöscht wird, und nichts in die Zelle eingegeben wird, soll die Formel wieder in die Zelle. Wenn aber etwas eingegeben wird, kann die Formel überschrieben werden. Zellen, die keine Formel enthalten können auch überschrieben werden.
Wenn das so stimmt, versuch mal folgenden Code:
Option Explicit
Dim strAlterWert As String
Dim HasFormula As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B11:B24")) Is Nothing Then Exit Sub 'Nur Änderungen im Bereich B11: _
B24 berücksichtigen
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" And HasFormula = True Then
Application.EnableEvents = False
Target.FormulaLocal = strAlterWert  'Formel wieder in Zelle schreiben
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Verhindern, dass mehr als eine Zelle selektiert wird
On Error GoTo ErrorExit
Application.EnableEvents = False
ActiveCell.Select
ErrExit:
Application.EnableEvents = True
'Formel der ausgewaehlten Zelle merken, falls Formel vorhanden
If Left(Target.Formula, 1) = "=" Then
HasFormula = True
strAlterWert = Target.FormulaLocal
Else
HasFormula = False
End If
ErrorExit:
End Sub

Gruß, Bastian
Anzeige
;

Forumthreads zu verwandten Themen

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