Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1932to1936
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
Inhaltsverzeichnis

VBA Wert im Bereich suchen & evtl hinzu

VBA Wert im Bereich suchen & evtl hinzu
26.05.2023 11:49:01
Björn Kruse

Guten Tag,

Im Sheet1 soll mit Klicken des Buttons "Jahreszahl" die Zahl aus Sheet1 K1 mit der Zeile 4 in Sheet 4 verglichen werden, wenn der Wert in der Zeile gefunden wird soll eine MsgBox erscheinen mit "Gefunden!". Falls die Zahl nicht gefunden wird soll in die erste freie Zell der Wert eingefügt werden. Meine eigenen Versuche mit Unterstützung von ChatGpt scheitert am Fehler 13 Typen Unverträglich.

https://www.herber.de/bbs/user/159333.xlsm

Sub DurchsuchenUndEinfügen()
    Dim WertSuchen As String
    Dim Suchbereich As Range
    Dim Zelle As Range
    Dim Gefunden As Boolean
    
    ' Wert zum Suchen aus Sheet1
    WertSuchen = Sheets("Sheet1").Range("K1").Value
    
    ' Suchbereich in Zeile 2 von Sheet2
    Set Suchbereich = Sheets("Sheet4").Rows(4)
    
    Gefunden = False
    
    ' Durchsuche den Suchbereich nach dem Wert
    For Each Zelle In Suchbereich
        If Zelle.Value = WertSuchen Then '-- Fehler 13
            Gefunden = True
            Exit For
        End If
    Next Zelle
    
    ' Überprüfe, ob der Wert gefunden wurde
    If Gefunden Then
        MsgBox "Gefunden"
    Else
        ' Einfüge des Werts in die erste freie Zelle in Zeile 2
        Sheets("Sheet2").Rows(2).End(xlToRight).Offset(, 1).Value = WertSuchen
    End If
End Sub



Ich hoffe ihr könnt mir weiterhelfen

Mit freundlichen Grüßen

Björn Kruse

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Wert im Bereich suchen & evtl hinzu
26.05.2023 12:11:24
peterk
Hallo

Wenn in Deiner Zelle eine Zahl steht, musst Du WertSuchen als LONG definieren, oder Du ersetzt die ".Value" durch ".Text" dann wird ein Stingvergleich durchgeführt.

Peter


AW: VBA Wert im Bereich suchen & evtl hinzu
26.05.2023 12:32:53
Björn Kruse
Danke für die Antwort.
Wenn ich String durch Long ersetze bleibt der Fehler. Wenn ich .value durch .text ersetzt funktioniert die Suche nicht und erläuft bis zum Einfügen durch und fügt auch vorhandene Zahlen einfach an.


AW: VBA Wert im Bereich suchen & evtl hinzu
26.05.2023 12:23:23
Piet
Hallo

ich weiss nicht ob es noch einfachere Lösungen gibt, so klappt es bei mir!
Ein Fehler ist m.E. die ganze Zeile als Suchbereich angeben, statt den echten Range Bereich.
Auf Gefunden mit Wahr/Falsch kann man verzichten, ich programmiere so was direkt mit Exit Sub.
Zu Bedenken ist in der letzten Einfügezeile Sheet2, was passiert wenn Zelle A2 leer ist? Dann ist xlToRight die letzte Spalte!

mfg Piet

  • Sub DurchsuchenUndEinfügen()
        Dim WertSuchen As String
        Dim Suchbereich As Range
        Dim Zelle As Variant
        
        ' Wert zum Suchen aus Sheet1
        WertSuchen = Sheets("Sheet1").Range("K1").Value
        
        ' Suchbereich in Zeile 2 von Sheet2
        lsp = Sheets("Sheet4").Cells(4, Columns.Count).End(xlToLeft).Column
        Set Suchbereich = Sheets("Sheet4").Range("A4").Resize(1, lsp)
        
        ' Durchsuche den Suchbereich nach dem Wert
        For Each Zelle In Suchbereich
            ' Überprüfe, ob der Wert gefunden wurde
            'If Year(Zelle) = Year(WertSuchen) Then '-- Fehler 13
            If Zelle = WertSuchen Then MsgBox "Gefunden": Exit Sub
        Next Zelle
        
       ' Einfüge des Werts in die erste freie Zelle in Zeile 2
       lsp = Sheets("Sheet2").Cells(2, 1).End(xlToRight).Column + 1
       If lsp > Columns.Count Then lsp = 1  'Korrektur 1.Spalte
       Sheets("Sheet2").Cells(2, lsp).Value = WertSuchen
    End Sub



  • Anzeige
    AW: VBA Wert im Bereich suchen & evtl hinzu
    26.05.2023 12:32:39
    Björn Kruse
    Das Einfügen passiert in der überprüften Zeile also Zeile4 Sheet4, da habe ich mich anscheinend vertippt. Würde das noch etwas grundsätzliches am Code ändern? Die Zeile ist nie leer da immer mindestens Name stehen würde.


    AW: VBA Wert im Bereich suchen & evtl hinzu
    27.05.2023 18:18:34
    Herbert_Grom
    Hallo Björn,

    ich habe Piets Code etwas abgeändert und es hat bei mir funktioniert. Schau es dir mal an.

    https://www.herber.de/bbs/user/159350.xlsm

    Servus


    AW: VBA Wert im Bereich suchen & evtl hinzu
    26.05.2023 12:40:19
    Piet
    Hallo Björn

    wenn sichergestellt ist das die 1.Spalte immer einen Eintrag hat kannst du den alten Code verwenden.
    Welches Sheet? 2 oder 4? - Freut mich wenn es mit meinem Vorschlag klappt! Grüsse aus Ankara

    piet

    Anzeige

    308 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige