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

Forumthread: VBA Makro beim Öffnen von Excel -> starten

VBA Makro beim Öffnen von Excel -> starten
09.04.2024 08:16:23
Erik
Guten Morgen zusammen.

Ich habe dieses Makro:

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("AG:AG")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value > 3 Then
Target.Cells(1, -22) = "Fzg. abge.?"
Else
Target.Offset(0, 1).ClearContents
End If

End Sub


das bei der Eingabe in Spalte AG genau das macht was es soll.
Allerdings befindet sich ein AG eine Formel, die die Werte 1-5 aus einer Matrix über SVERWEIS bekommt.

Das Makro macht den Eintrag aber nur bei manueller Eingabe.
Wie muss das Makro aussehen damit es beim Starten von Excel die Spalte AG prüft und dann ersetzt?

Vielen Dank und Gruß
Erik

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro beim Öffnen von Excel -> starten
09.04.2024 10:28:10
Yal
Hallo Erik,

Worksheet_Change reagiert, wie der Name es hindeutet, auf Änderung auf dem Blatt, und zwar nur Eingabe, sei es per Hand oder per Paste (Copy-Paste). Ein neue Ergebnis durch eine Formel, die nicht geändert wurde, ist keine Change im Excel-Sinne.

Du musst die Paramter vom SVerweis anschauen und genau diese Quellzellen unter Beobachtung stellen.

Da Du auf die gesamte Spalte AG dieselbe Verhalten erwartet, kann man davon ausgehen, dass dein Excel sauber nach Spalten orgnaisiert ist. Daher sollte in dem SVerweis eine Quelle aus der aktuellen Zeile aber immer dieselbe Spalte zu finden sein.

Vielleicht kannst Du kommunizieren, was in deinem SVerweis steht.

VG
Yal
Anzeige
AW: VBA Makro beim Öffnen von Excel -> starten
09.04.2024 12:01:09
Erik
Hallo Yal,

habe etwas am Makro gebastelt und nun diese Änderung.
Die Abfrage soll aber größer 2 kleiner 5 sein.
Wie muss ich die Zeile abändern?

Sub pruefen()



Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1) > 2 Then Cells(i, 2) = Cells(i, 2) & "prüfen!"
Next i
Application.ScreenUpdating = True



End Sub


Vielen Dank und Gruß
Erik
Anzeige
AW: VBA Makro beim Öffnen von Excel -> starten
09.04.2024 12:16:53
Yal
Hallo Erik,

das Verfahren "Step -1" ist nur notwendig, wenn Zeilen/Spalten gelöscht werden.

Solche einfache Fragen kannst Du auch chatGPT stellen. Da sind die Antwort schon belastbar.

(Achte auf einem sauberen Einrücken des Codes. Beim Lesen viel wichtiger als leere Zeilen dazwischen)
Sub pruefen()

Dim Z As Range 'Z wie Zelle

Application.ScreenUpdating = False
For Each Z In Range(Range("A1"), Cells(Rows.Count, 1).End(xlUp))
If Z.Value > 2 And Z.Value 5 Then Z.Offset(0, 1).Value = Z.Offset(0, 1).Value & " prüfen!"
'alternativ
'If Z.Value > 2 And Z.Value 5 Then Z.Offset(0, 1).Interior.ColorIndex = 3
Next i
Application.ScreenUpdating = True
End Sub


Ich habe eine Alternativ eingebaut: Zelle werden rot. Nach Prüfung kann man die ganze Zeile Markieren und Farbe wergwerfen.

Wenn die Reihenfolge der Datensätze (=Zeile) nicht relevant ist, oder aufgrund einer Merkmale die originale Reihenfolge wiederherstellbar ist, kannst Du die Daten sortieren. Dann brauchst Du keine Makro.

VG
Yal
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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