Office: (Office 2010) Wert suchen und löschen

Helfe beim Thema Wert suchen und löschen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Moin Moin zusammen Ich habe ein kleines Problem und mir schon 3 mal Excel abgeschossen. Mit folgenden Code kann ich einen Wert über eine TextBox in... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Blacky1980, 6. Februar 2021.

  1. Blacky1980 Erfahrener User

    Wert suchen und löschen


    Moin Moin zusammen

    Ich habe ein kleines Problem und mir schon 3 mal Excel abgeschossen.

    Mit folgenden Code kann ich einen Wert über eine TextBox in der Tabelle suchen und die Zelle mit dem Wert leeren. Soweit ist auch alles ok
    Nun möchte ich aber das auch die Zelle daneben geleert wird

    Hier mal mein Code

    Code:
    Private Sub CommandButton1_Click()
    Dim Spalte As Range
        With Worksheets("Tabelle2")
            Set Spalte = .Range("A2:U2500").Find(what:=TextBox1.Value, LookAt:=xlWhole) '("Weighted average:", LookIn:=xlValues)
            If Not Spalte Is Nothing Then
                Spalte.ClearContents
            Else
    
            End If
        End With
    End Sub
    
    Könnte sich das mal jemand anschauen und mir sagen wie ich das lösen kann.

    Vielen Dank

    Gruß Michael

    PS. Wünsche euch allen ein schönes und rihiges Wochenende und bleibt alle Gesund
     
    Blacky1980, 6. Februar 2021
    #1
  2. Blacky1980 Erfahrener User
    Habe was gefunden und umgebastellt

    Hier meine Lösung

    Code:
    Private Sub CommandButton1_Click()
    
        Dim rngBereich As Range
        Dim strAdresse As String
      
       With Worksheets("Material Bestellung 1")
        Set rngBereich = .Columns("A:U").Find(what:=TextBox1.Value, lookat:=xlWhole)
        If rngBereich Is Nothing Then
            Beep
            MsgBox prompt:="Suchbegriff nicht gefunden!"
            Exit Sub
        End If
        strAdresse = rngBereich.Address
        rngBereich.Offset(0, 0).ClearContents
        rngBereich.Offset(0, 1).ClearContents
       End With
    End Sub
     
    Blacky1980, 6. Februar 2021
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Michael,

    ergänze die Zeile:

    Code:
    Spalte.Offset(0, 1).ClearContents


    Wert suchen und löschen GrußformelWert suchen und löschen Beverly's Excel - Inn
     
    Beverly, 6. Februar 2021
    #3
  4. Blacky1980 Erfahrener User

    Wert suchen und löschen

    Hallo Karin
    Danke

    Nun habe ich doch ein kleines Problem.

    Wenn ich nun in mehreren TextBoxen (10) Werte suchen und löschen möchte wie müsste ich da vorgehen. Ich habe es mit diesen anpassungen versucht aber dann findet er nichts.

    Code:
    Set rngBereich = .Columns("A:U").Find(what:=TextBox1.Value + TextBox2.Value, lookat:=xlWhole)
    und

    Code:
    Set rngBereich = .Columns("A:U").Find(what:=TextBox1.Value & TextBox2.Value, lookat:=xlWhole)
    was ist da nun so falsch dran?

    Gruß Michael
     
    Blacky1980, 6. Februar 2021
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Michael,

    mit deinem Code verknüpfst du die Inhalte der TextBoxen und suchst nach dem verknüpften Begriff. Wenn du nach mehreren TextBox-Inhalten suchen willst musst du für jede TextBox eine eigene Such-Routine schreiben bzw. die TextBoxen in einer Schleife abarbeiten:

    Code:
    Private Sub CommandButton1_Click()
        Dim rngBereich As Range
        Dim intZaehler As Integer
        With Worksheets("Material Bestellung 1")
            For intZaehler = 1 To 10
                Set rngBereich = .Columns("A:U").Find(what:=Controls("TextBox" & intZaehler).Value, lookat:=xlWhole)
                If Not rngBereich Is Nothing Then
                    rngBereich.ClearContents
                    rngBereich.Offset(0, 1).ClearContents
                End If
            Next intZaehler
       End With
    End Sub
    
    Ich bin davon ausgegangen, dass es sich um ein UserForm handelt und die Steuerelemente TextBox1 bis TextBox10 heißen.


    Wert suchen und löschen GrußformelWert suchen und löschen Beverly's Excel - Inn
     
    Beverly, 6. Februar 2021
    #5
  6. Blacky1980 Erfahrener User
    Hallo Karin

    Danke das mit der Schleife habe ich noch nicht so drauf und habe es versucht aber leider ohne erfolgaber

    mir fehlte dieser Teil
    Code:
    .Find(what:=Controls("TextBox" & intZaehler)

    ich hatte es so versucht
    Code:
    .Find(what:=("TextBox" & intZaehler)
    in allen Varianten versucht.

    Gruß Michael
     
    Blacky1980, 6. Februar 2021
    #6
  7. Blacky1980 Erfahrener User
    Hallo Karin

    Habe den Code noch etwas an meine UserForm angepasst.

    Code:
    Private Sub CommandButton1_Click()
        Dim rngBereich As Range
        Dim intZaehler As Integer
        With Worksheets("Material Bestellung 1")
            For intZaehler = 1 To 10
                Set rngBereich = .Columns("A:U").Find(what:=Controls("TextBox" & intZaehler).Value, lookat:=xlWhole)
                If Not rngBereich Is Nothing Then
                    If Controls("OptionButton" & intZaehler).Value = True Then
                        rngBereich.ClearContents
                        rngBereich.Offset(0, 1).ClearContents
                    End If
                End If
            Next intZaehler
       End With
    End Sub
    Könnte man noch prüfen ob die TextBoxen gefüllt sind oder nicht da der Code wenn nur die erste TextBox belegt ist weiter am rodeln ist.

    Gruß Michael
     
    Blacky1980, 6. Februar 2021
    #7
  8. Beverly
    Beverly Erfahrener User

    Wert suchen und löschen

    Mi Michael,

    weshalb nur die 1. TextBox prüfen - sind die anderen TextBoxen abhängig von der jeweils vorhergehenden? Der Code muss doch jede TextBox prüfen ob sie gefüllt ist - oder sehe ich das falsch?

    Code:
            For intZaehler = 1 To 10
                ' wenn laufende TextBox nicht leer ist
                If Controls("Textbox" & intZaehler) <> "" Then
                    Set rngBereich = .Columns("A:U").Find(what:=Controls("TextBox" & intZaehler).Value, lookat:=xlWhole)
                    If Not rngBereich Is Nothing Then
                        If Controls("OptionButton" & intZaehler) Then
                            rngBereich.ClearContents
                            rngBereich.Offset(0, 1).ClearContents
                        End If
                    End If
                End If
            Next intZaehler
    
    Hinweis: bei den OptionButton muss man den aktivierten Zustand nicht mittels = True prüfen, da dies der Standardzustand ist.

    Frage: weshalb fragst du 10 OptionButton ab? Von denen kann doch immer nur einer aktiv sein. Laut deinem Code müsste für jede TextBox jeweils 1 OptionButton vorhanden sein, der auch noch die selbe Nummer wie die TextBox hat.


    Wert suchen und löschen GrußformelWert suchen und löschen Beverly's Excel - Inn
     
    Zuletzt bearbeitet: 6. Februar 2021
    Beverly, 6. Februar 2021
    #8
  9. Blacky1980 Erfahrener User
    Hallo Karin

    Wenn ich Material bestelle und ich eine Lieferung bekomme kann ich in der UserForm wählen ob von dem Atrikel alles, ein Teil oder nichts gekommen ist.
    TextBox 1- 10 haben die Artikelnummern
    TextBox 21 - 30 die Anzahl
    TextBox 41-50 zieht sich aus einem anderen Tabellenblatt die Bezeichnung anhand der TextBoxen 1-10.

    OptionButton 1-10 für Vollständig geliefert
    OptionButton 11-21 für teilweise geliefert wo dann auch TextBoxen31-40 angezeigt werden
    OptionButton 21-30 für nicht gekommen.

    Für einen Artikel wäre es
    TextBox1 ,21 ,41
    Art.Nr. Menge Bezeichnung

    OptionButton 1,11 und 21 (1. Gruppe) für einen Artikel.
    Vollständig, Teilweise oder nicht gekommen.

    TextBox31 nur Sichtbar wenn OptionButton 21 aktive dann kann man die Menge angeben die gekommen ist.



    Wird OptionButton1 ausgewählt werden die zwei Zellen geleert und der Wert aus TextBox21 in ein anderes Tabellenblatt geschrieben.

    Wird OptionButton11 ausgewählt werden die zwei Zellen nicht geleert und der Wert aus TextBox31 wird in ein anderes Tabellenblatt geschrieben und der Wert in die Zelle neben der gesucht geändert.

    Bei OptionButton21 soll nichts passieren.

    Ich kann es leider nicht besser erklären aber habe mal eine TestMappe in den Anhang gepackt mit dem letzten Code von Dir.
    Die Bezeichnung wird in der TestMappe nicht abgerufen da sonst die Datei zu groß wäre.
     
    Blacky1980, 6. Februar 2021
    #9
  10. Beverly
    Beverly Erfahrener User
    Hi Michael,

    wenn ich das richtig sehe müsstest du den Code um den Teil ergänzen, wenn die OptionButtons für "Teilweise" aktiviert wurden und für die OptionButton "ohne":

    Code:
                    If Not rngBereich Is Nothing Then
                        If Controls("OptionButton" & intZaehler) Then
                            rngBereich.ClearContents
                            rngBereich.Offset(0, 1).ClearContents
                        End If
                        If Controls("OptionButton" & intZaehler + 10) Then
                            ' hier der Code wenn Button "Teileise" aktiviert wurde
                        End If
                        If Controls("OptionButton" & intZaehler + 20) Then
                            ' hier der Code falls bei Auswahl "ohne" auch etwas passieren soll
                        End If
                    End If
    
    Ich würde aber an deiner Stelle standardmäßig die OptionButton True setzen, die am häufigsten aktiviert werden (z.B. die 1 - 10). Das kannst du beim Laden der Daten, also bei Auswahl im Kombinationsfeld realisieren, denn dann weißt du ja, wieviele Daten vorhanden sind. Dazu musst du den Code nur um 2 Zeilen ergänzen:

    Code:
    Private Sub ComboBox1_Change()
        Dim n As Long, Index As Long, Zähler As Long
        ' alle Textboxen löschen
        For Zähler = 1 To 10
                Me("TextBox" & CStr(Zähler)).Value = vbNullString
                Me("TextBox" & CStr(20 + Zähler)).Value = vbNullString
                Me("TextBox" & CStr(40 + Zähler)).Value = vbNullString
                Controls("OptionButton" & Zähler) = False '<== OptionButton zurücksetzen
        Next Zähler
        
        ' Index der gewählten Bestellnummer aus der Combobox
        Index = ComboBox1.ListIndex + 1
        
        ' Textboxen füllen
        Zähler = 1
        For n = 1 To 10
            If alleBestDaten(Index, 2 * n - 1) <> vbNullString Then
                Me("TextBox" & CStr(Zähler)).Value = alleBestDaten(Index, 2 * n - 1)
                Me("TextBox" & CStr(20 + Zähler)).Value = alleBestDaten(Index, 2 * n)
                Controls("OptionButton" & Zähler) = True '<== OptionButton aktivieren
                Zähler = Zähler + 1
            End If
        Next n
        TextBox61.Value = ComboBox1.Value
    End Sub
    

    Wert suchen und löschen GrußformelWert suchen und löschen Beverly's Excel - Inn
     
    Zuletzt bearbeitet: 7. Februar 2021
    Beverly, 7. Februar 2021
    #10
  11. Blacky1980 Erfahrener User
    Hallo Karin

    Werde ich mir morgen mal genauer anschauen und Testen.

    Vielen Dank

    Gruß Michael
     
    Blacky1980, 7. Februar 2021
    #11
  12. Blacky1980 Erfahrener User
    Hallo Karin
    Ich danke Dir für Deine Mühe und Deine Idee nur leider ist es nicht passend für mein Vorhaben.

    Begründung:
    Ich gebe die Bestellung auf und wenn das Material ankommt rufe ich mir die Bestellung auf. Nun kontrolliere ich, ob das Material so gekommen ist wie ich es auch bestellt habe. Nach und nach Hacke ich die Artikel mit den OptionButton ab. Entweder ja es ist alles da oder nur ein Teil oder gar nicht.

    Mit dem Code von Dir wird alles ohne das ich es kontrolliert habe als vollständig abgehackt.

    Trozdem vielen Herzlich Dank

    Gruß Michael
     
    Blacky1980, 7. Februar 2021
    #12
Thema:

Wert suchen und löschen

Die Seite wird geladen...
  1. Wert suchen und löschen - Similar Threads - Wert löschen

  2. Wert aus Inputbox in Textbox übernehmen ohne Inhalt zu löschen

    in Microsoft Excel Hilfe
    Wert aus Inputbox in Textbox übernehmen ohne Inhalt zu löschen: Hallo zusammen, ich habe mir ein Code mit hilfe KI gebastelt und komme nicht weiter. Wenn ich über die Inputbox eine Text eingebe, soll er den bestehenden Textinhalt nicht leeren sondern die...
  3. Drucken nur wenn Zelle Wert hat / Automatisches Löschen der Zelle beim Start

    in Microsoft Excel Hilfe
    Drucken nur wenn Zelle Wert hat / Automatisches Löschen der Zelle beim Start: Hallo Zusammen, ich - VBA-Nullnummer - habe mal wieder etwas für die VBA-Profis. Es soll nur gedruckt werden können, wenn in einer Zelle ein Wert ist. Die Zelle ist zusammengeführt, G2:H4. Die...
  4. Doppelte Werte mit gleiche Farbe löschen

    in Microsoft Excel Hilfe
    Doppelte Werte mit gleiche Farbe löschen: Hallo, ich habe aktuell das Problem, dass ich viele Doppelte Werte habe und diese in zwei verschiedenen Farben vorhanden sind. Nun sollen jedoch NUR die doppelten entfernt werden, die...
  5. Excel mit VBA ganze Zeile nach einem Wert in Zelle löschen

    in Microsoft Excel Hilfe
    Excel mit VBA ganze Zeile nach einem Wert in Zelle löschen: Hallo zusammen Mein Kopf ist kurz vorm Explodieren. Hoffe auf eure Hilfe: Ich versuche mit einem Makro anhand des Wertes der in Zelle G1 steht, alle Zeilen mit diesem Wert in der Tabelle zu...
  6. VBA Loop : Werte suchen und löschen

    in Microsoft Excel Hilfe
    VBA Loop : Werte suchen und löschen: Hallo zusammen, ich habe folgende Ausgangslage: Im Tabellenblatt Auswahl sollen Artikel eingegeben werden und via Formel wird der zugehörige Lagerplatz ausgegeben (funktioniert soweit), sodass...
  7. Formeln löschen Werte behalten

    in Microsoft Excel Hilfe
    Formeln löschen Werte behalten: Hallo Zusammen, mit dem unten stehenden Code kopiere ich zwei Blätter als xlsx an einen Ort. In der Hauptdatei sind in einigen Zellen Formel die Werte ergeben. Aus der gespeicherten Datei möchte...
  8. Wert löschen und wieder einsetzen

    in Microsoft Excel Hilfe
    Wert löschen und wieder einsetzen: Hallo Zusammen, wie kann ich es über eine Makro bewerkstelligen, einen Wert in einer Zelle zu löschen und den gleichen Wert wieder in die gleiche Zelle einzusetzen ? Sozusagen einen...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden