Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vba: teilstring suchen und kopieren

vba: teilstring suchen und kopieren
Jonathan
Hallo zusammen,
in einer Spalte A meiner Tabelle können in einer Zelle mehrere, durch Komma getrennte, Nummern vorkommen.
Die länge wie auch die Anzahl der verschiedenen Nummern in einer Zelle ist unterschiedlich.
In den Zellen A3-A5 stehen die zu suchenden Nummern.
Nun soll die Spalte A nach den zu suchenden Nummern durchgesucht werden. Wird eine der Nummern gefunden soll diese eine Nummer in die Spalte B kopiert werden.
Wichtig zu erwähnen ist, dass die drei zu suchenden Nummern nie in einer Zelle zusammen stehen können.
Für ein besseres Verständnis hier eine Bsp.-Datei:
https://www.herber.de/bbs/user/68999.xls
Vielen Dank für eure Hilfe!
Gruß
Jonathan
Anzeige

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

Betreff
Benutzer
Anzeige
AW: vba: teilstring suchen und kopieren
10.04.2010 15:20:40
Gerd
Halo Jonathan,
an den Bereichabgrenzungen kannst noch etwas feilen.
Sub bi()
Dim j As Long, k As Long, l As Integer
For j = 9 To Cells(9, 1).End(xlDown).Row
For l = 0 To UBound(Split(Cells(j, 1), ","))
For k = 3 To 5
If Cells(k,1) "" then
If Trim$(Split(Cells(j, 1), ",")(l)) = Cells(k, 1) Then Cells(j, 2) = Cells(k, 1): _
Exit For
End If
Next k
Next l
Next j
End Sub
Gruß Gerd
Anzeige
AW: vba: teilstring suchen und kopieren
10.04.2010 15:30:21
Jonathan
Hallo Gerd,
super, vielen Dank - funktioniert.
Gruß
Jonathan
AW: vba: teilstring suchen und kopieren
10.04.2010 15:51:23
Peter
Hallo Jonathan,
auch so sollte das funktionieren:
Option Explicit
Public Sub Suchen()
Dim WkSh           As Worksheet
Dim lLetzte        As Long
Dim lZeile         As Long
Dim sBegriff(2)    As String
Dim iBegr          As Integer
Dim vZellenInhalt  As Variant
Dim iZeIn          As Integer
Dim bGefunden      As Boolean
   Application.ScreenUpdating = False
   
   Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
   
   sBegriff(0) = Trim(WkSh.Range("A3").Value)
   sBegriff(1) = Trim(WkSh.Range("A4").Value)
   sBegriff(2) = Trim(WkSh.Range("A5").Value)
   
   lLetzte = WkSh.Cells(Rows.Count, 1).End(xlUp).Row
   If lLetzte < 9 Then lLetzte = 9
   WkSh.Range("B9:B" & lLetzte).ClearContents
   
   For lZeile = 9 To lLetzte
      bGefunden = False
      vZellenInhalt = Split(WkSh.Range("A" & lZeile).Value, ",")
      For iZeIn = LBound(vZellenInhalt) To UBound(vZellenInhalt)
         For iBegr = 0 To 2
            If Trim(vZellenInhalt(iZeIn)) = sBegriff(iBegr) Then
               WkSh.Range("B" & lZeile).Value = sBegriff(iBegr)
               bGefunden = True
               Exit For
            End If
         Next iBegr
         If bGefunden = True Then Exit For
      Next iZeIn
   Next lZeile
End Sub
Gruß Peter
Anzeige
;

Forumthreads zu verwandten Themen

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