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

Forumthread: VBA Namen suchen und rechts was eintragen

VBA Namen suchen und rechts was eintragen
23.01.2016 17:32:06
Erwin
Hallo Zusammen,
Ich habe eine Mitarbeiterliste mit mehreren Teams, die unterschiedliche Arbeitszeiten haben. Ich erstelle diese Liste jede Woche neu, muss aber immer kleinere Anpassungen machen, die ich automatisieren möchte.
Hier die Datei: https://www.herber.de/bbs/user/102988.xlsm
Wenn ich in Spalte B einen bestimmten Namen finde, muss in den Spalten F und J (Achtung - verbundene Zelle mit Spalte K) ein Eintrag gemacht werden.
Beispiel:
finde in Spalte B den Namen "Team1_Name4" dann trage in Spalte F "90" und in Spalte J "5" ein
finde in Spalte B den Namen "Team2_Name8" dann trage in Spalte F "75" und in Spalte J "3" ein.... und so weiter.
Ich benötige einen VBA Code, da dies Teil einer anderen Prozedur wird.
Vielen Dank schon mal
Grüße - Erwin

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Namen suchen und rechts was eintragen
23.01.2016 18:41:04
Crazy
Hi
das könnte so gehen
wobei mir unklar ist wo du die einzutragenden Werte her bekommst
btw immer diese sch... verbundenen Zellen
Option Explicit
Sub test()
Dim c As Range
Dim rngBereich As Range
Dim strSuche As String
Dim lngEingabe1 As Long
Dim lngEingabe2 As Long
strSuche = InputBox("Suchname eingeben")
If strSuche = "" Then Exit Sub
lngEingabe1 = InputBox("Wert für Spalte F")
lngEingabe2 = InputBox("Wert für Spalte J")
Set rngBereich = Sheets("Montag").Range("B22:C52")
Set c = rngBereich.Find(strSuche, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
Cells(c.Row, "F").Value = CLng(lngEingabe1)
Cells(c.Row, "J").Value = CLng(lngEingabe2)
Else
MsgBox "nix gefunden"
End If
Set c = Nothing
Set rngBereich = Nothing
End Sub

MfG Tom

Anzeige
AW: VBA Namen suchen und rechts was eintragen
23.01.2016 18:57:33
Erwin
Hallo Tom,
danke für den Code, der passt ganz genau und super flexibel.
P.S.: Die Werte bekomme ich lfd. mitgeteilt und habe diese dann im Kopf ;)
Grüße Erwin
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA zur automatischen Eintragung von Werten neben gesuchten Namen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei: Stelle sicher, dass Du die Datei mit der Mitarbeiterliste geöffnet hast, in der Du nach Namen suchen möchtest.

  2. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere die Entwicklertools.

  3. Füge ein neues Modul hinzu: Klicke auf Entwicklertools > Visual Basic, dann im VBA-Editor auf Einfügen > Modul.

  4. Kopiere den VBA-Code: Füge den folgenden Code in das Modul ein:

    Option Explicit
    Sub test()
        Dim c As Range
        Dim rngBereich As Range
        Dim strSuche As String
        Dim lngEingabe1 As Long
        Dim lngEingabe2 As Long
    
        strSuche = InputBox("Suchname eingeben")
        If strSuche = "" Then Exit Sub
    
        lngEingabe1 = InputBox("Wert für Spalte F")
        lngEingabe2 = InputBox("Wert für Spalte J")
    
        Set rngBereich = Sheets("Montag").Range("B22:C52")
        Set c = rngBereich.Find(strSuche, LookIn:=xlValues, lookat:=xlWhole)
    
        If Not c Is Nothing Then
            Cells(c.Row, "F").Value = CLng(lngEingabe1)
            Cells(c.Row, "J").Value = CLng(lngEingabe2)
        Else
            MsgBox "Nix gefunden"
        End If
    
        Set c = Nothing
        Set rngBereich = Nothing
    End Sub
  5. Führe das Makro aus: Schließe den VBA-Editor und gehe zurück zu Excel. Klicke auf Entwicklertools > Makros, wähle test aus und klicke auf Ausführen.

  6. Gib die gesuchten Werte ein: Du wirst aufgefordert, den Namen sowie die Werte für die Spalten F und J einzugeben.


Häufige Fehler und Lösungen

  • Fehler: "Nix gefunden": Stelle sicher, dass der gesuchte Name exakt geschrieben ist und in den angegebenen Zellbereich fällt. Überprüfe auch, ob die Zellen nicht leer sind.

  • Fehler: Keine Eingabe: Wenn Du das Eingabefeld zum Namen schließt, ohne etwas einzugeben, wird das Makro abgebrochen. Achte darauf, dass Du einen Namen eingibst.

  • Fehler: Verbundene Zellen: Der Code funktioniert nur, wenn die Zellen in Spalte F und J nicht verbunden sind. Wenn sie verbunden sind, musst Du das Layout überarbeiten.


Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch die Funktion SVERWEIS nutzen, um die Werte manuell zu suchen:

=SVERWEIS(A1;B2:C100;2;FALSCH)

Diese Formel sucht nach dem Wert in A1 innerhalb des Bereichs B2:C100 und gibt den entsprechenden Wert zurück. Dies ist eine einfache Möglichkeit, um Namen in Excel zu suchen.


Praktische Beispiele

  • Beispiel 1: Wenn Du nach "Team1_Name4" suchst, gib "90" für Spalte F und "5" für Spalte J ein. Der Code trägt diese Werte automatisch ein.

  • Beispiel 2: Suche "Team2_Name8" und gib "75" und "3" für die entsprechenden Spalten F und J ein.


Tipps für Profis

  • Verwende die Find-Methode effizient: Du kannst die Find-Methode weiter anpassen, um nach Teilstrings oder Groß-/Kleinschreibung zu suchen, um die Suche noch flexibler zu gestalten.

  • Automatisierung: Überlege, wie Du diesen VBA-Code in größere Automatisierungsprozesse einbinden kannst, um weitere manuelle Schritte zu eliminieren.

  • Makros speichern: Speichere die Datei als .xlsm, um sicherzustellen, dass Deine Makros erhalten bleiben.


FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code anpassen, um mehrere Namen gleichzeitig zu suchen? Du kannst eine Schleife einfügen, die durch eine Liste von Namen iteriert und die Eintragungen automatisiert.

2. Was ist, wenn meine Excel-Version VBA nicht unterstützt? In diesem Fall kannst Du die Funktionen von Excel wie SVERWEIS oder FILTER verwenden, um Deine Daten zu verwalten, jedoch mit mehr manuellem Aufwand.

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