Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro wenn bestimmter Wert in Zeile

Makro wenn bestimmter Wert in Zeile
22.03.2006 09:27:57
thorben
Hallo Excel-Profis,
erstmal ein großes Lob an dieses Forum. Schon bei meinem letzten Problem haben mir eure Tipps sehr geholfen.
Nun zu meinem nächsten Problem. Und zwar habe ich, wie schon angegeben, keine VBA-Kenntnisse (bin aber schon fleißig am lernen :-)). Ich habe ein Formular für Mitarbeiter erstellt. In bestimmten Zeilen sollen sie per Dropdownliste ein Kürzel eingeben. Wenn Sie das Kürzel "S" (für sonstige) eingeben dann sollen sie sofort automatisch an ein anderes Arbeitsblatt "geschickt" werden.
Das Arbeitsblatt für die Eingabe (also wo das S eingeben wird) heißt "Anwesenheit" und das Arbeitsblatt wo der Anwender hingeschickt werden soll heißt "Begründungen". Im Blatt Anwesenheit sind die Dropdownzellen im Bereich F8 bis F59 und I8 bis I59. Bitte teilt mir auch mit, wo ich euren code im VBA-Editor eingeben muss. Ich hoffe ich habe mich nicht zu umständlich ausgedrückt.
Danke jetzt schon für eure Hilfe.
Gruß,
Thorben
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro wenn bestimmter Wert in Zeile
22.03.2006 13:11:03
Heiko
Hallo Thorben,
wenn dein DropDowns direkt in die Zellen schreiben, z.B. so.
In das Codefenster der Tabelle Anwesenheit.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTarget As Range, rngUeBereich As Range
' Der zu überwachende Bereich
Set rngUeBereich = Range("F8:F59,I8:I59")
Set rngTarget = Application.Union(Range(Target.Address), rngUeBereich)
If rngTarget.Address = rngUeBereich.Address Then
If Target.Count = 1 Then
If UCase(Target.Text) = "S" Then
Worksheets("Begründungen").Activate
' Wenn auch noch eine bestimmte Zelle dann so.
' Worksheets("Begründungen").Range("C13").Activate
End If
End If
End If
Set rngUeBereich = Nothing
Set rngTarget = Nothing
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Makro wenn bestimmter Wert in Zeile
22.03.2006 13:14:20
thorben
Danke Heiko.
ich werde es gleichmal ausprobieren.
AW: Makro wenn bestimmter Wert in Zeile
22.03.2006 13:23:08
thorben
Danke Heiko.
hab den code so eingegeben wie beschrieben. Hat alles wunderbar geklappt.
Kann gar nicht genug danken.
Gruß,
thorben
AW: Makro wenn bestimmter Wert in Zeile
22.03.2006 13:11:05
thorben
also ich hab den code jetzt schon soweit, dass er bei eingabe eines S in F8 zu einer anderen seite springt. aber ich schaffe es nicht den einen Zellenbereich anzugeben.
code sieht wie folgt aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("F") = "S" Then
Range("E8").Select
Sheets(5).Activate
End If
End Sub

Gruß,
thorben
Anzeige
;

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
Anzeige
Anzeige

Infobox / Tutorial

Makro für automatisches Wechseln zwischen Arbeitsblättern in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das automatisch zwischen Arbeitsblättern wechselt, wenn ein bestimmter Wert in einer Zelle eingegeben wird, gehe wie folgt vor:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Suche im Projekt-Explorer nach dem Arbeitsblatt „Anwesenheit“.
  3. Doppelklicke auf das Arbeitsblatt „Anwesenheit“.
  4. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngUeBereich As Range
    ' Der zu überwachende Bereich
    Set rngUeBereich = Range("F8:F59,I8:I59")

    If Not Intersect(Target, rngUeBereich) Is Nothing Then
        If Target.Count = 1 Then
            If UCase(Target.Text) = "S" Then
                Worksheets("Begründungen").Activate
            End If
        End If
    End If
End Sub
  1. Schließe den VBA-Editor und teste das Makro, indem du in eine der Dropdown-Zellen „S“ eingibst. Du solltest automatisch zum Arbeitsblatt „Begründungen“ weitergeleitet werden.

Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgelöst.

    • Lösung: Überprüfe, ob der Code im richtigen Arbeitsblatt (Anwesenheit) eingefügt wurde und dass die Zellen im Bereich F8 bis F59 und I8 bis I59 tatsächlich Dropdown-Listen sind.
  • Fehler: Keine Weiterleitung zum Arbeitsblatt.

    • Lösung: Stelle sicher, dass du „S“ (großgeschrieben) eingibst und überprüfe, ob die Arbeitsblätter korrekt benannt sind.

Alternative Methoden

Anstelle von VBA kannst du auch die Funktion „Datenüberprüfung“ nutzen, um die Eingabe in bestimmten Zellen zu steuern. Allerdings ermöglicht VBA eine direkte Weiterleitung zu einem anderen Arbeitsblatt, was mit Standardfunktionen nicht möglich ist.


Praktische Beispiele

  1. Einfaches Beispiel: Wenn du in den Zellen F8 bis F59 oder I8 bis I59 „S“ eingibst, wechselt das Arbeitsblatt automatisch zu „Begründungen“.
  2. Erweiterung: Du kannst den Code anpassen, um andere Kürzel zu erkennen und zu unterschiedlichen Arbeitsblättern zu wechseln.
If UCase(Target.Text) = "X" Then
    Worksheets("Zusätzliche Informationen").Activate
End If

Tipps für Profis

  • Verwende Application.EnableEvents = False, um rekursive Aufrufe zu vermeiden, wenn du in deinem Code Zellen änderst.
  • Dokumentiere deinen Code immer gut, damit du und andere die Änderungen in der Zukunft nachvollziehen können.
  • Teste dein Makro in einer Kopie deiner Datei, um ungewollte Änderungen an wichtigen Daten zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich das Makro auf andere Zellen anwenden? Du kannst den Bereich in der Zeile Set rngUeBereich = Range("F8:F59,I8:I59") anpassen, um andere Zellen zu überwachen.

2. Kann ich mehrere Werte für die Weiterleitung einfügen? Ja, du kannst mehrere If-Bedingungen im Code hinzufügen, um verschiedene Werte zu erkennen und zu unterschiedlichen Arbeitsblättern zu leiten.

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