Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office
Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen
zurück: Zellinhalt in andere Zellen kopieren mittels Makros weiter: Aufruf von Sub in der UserForm1 von Modul1 aus Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Maxz
Gast


Verfasst am:
27. Aug 2012, 17:41
Rufname:

Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen - Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen

Nach oben
       Version: Office 2007

Hallo. Bin grade echt mal wieder am verzweifeln. Suche seit 3 Stunden rum, habe diverse andere Lösungen getestet aber nichts klappt.

Ich habe eine Exceldatei. Im Sheet Tabelle1 befinden sich in der Spalte A diverse Beschreibungen von Maßnahmen (Kostenoptimierung etc.). In Spalte B die dazugehörige Maßnahmennummer.

Jetzt möchte ich diese Daten (Insgesamt um die 14000 Maßnahmen) in Spalte A nach diversen Begriffen durchsuchen (beispielsweise IT, Software, hardware), um die entsprechenden Maßnahmen herauszukriegen, die sich auf die IT beziehen.

Wenn nun beispielsweise in einer Beschreibung in Spalte A das Wort "IT" fällt, soll die komplette Maßnahmenbeschreibung + die danebenstehende Maßnahmennummer in ein anderes Sheet (Tabelle2) kopiert werden. Dies soll für den kompletten Datensatz geschehen, also der komplette Datensatz soll einmal durchsucht werden.

Praktisch wäre es auch, wenn ich nach mehreren Begriffen auf einmal suchen kann (wie oben shcon genannt beispielsweise It, Software, hardware, Computer etc.). Dabei müssen natürlich nicht alle Begriffe vorkommen in der Beschreibung, sondern ich möchte lediglich die Datensätze haben, die mindestens einen der Begriffe enthalten.

Problem ist auch, dass ich bei anderen Skripten Probleme mit dem Suchbegriff IT hatte, da die Großschreibung nicht beachtet wurde und Beschreibungen in denen Worte wie "Profit" vorkamen, ebenfalls kopiert wurden, da dort ebenfalls "it" allerdings kleingeschrieben vorkommt. Daher sollte eine Groß/Kleinschreibung beachtet werden.

Ich hoffe, jemand kriegt das hin Very Happy
Der Klappspaten
Anfänger


Verfasst am:
27. Aug 2012, 21:30
Rufname: Junior

AW: Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen - AW: Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen

Nach oben
       Version: Office 2007

Hi

Mal die ganz einfache Variante, die Du auch selber erweitern/abändern kannst. Ob das klappt, hängt ein wenig von der Grösse (Anzahl Zeichen) der Massnahmen-Beschreibung in der 1. Spalte ab. Wenns nicht läuft resp. überläuft, dann die Strings einzeln in Tabelle2 kopieren und nicht im Array sammeln.

Code:
Sub MassnahmenSuchen()

Dim strSrc1 As String
Dim strSrc2 As String
Dim strSrc3 As String
Dim strSrc4 As String
Dim objCell As Range
Dim rngMassnahmen As Range
Dim lastrow As Long
Dim AnzZeilenTab1 As Integer
Dim myWS As Worksheet
Dim arrMassn()
Dim j As Integer

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

Set myWS = ActiveWorkbook.Worksheets("Tabelle1")
lastrow = myWS.Cells(Rows.Count, 1).End(xlUp).Row
AnzZeilenTab1 = Worksheets("Tabelle1").UsedRange.Rows.Count
Set rngMassnahmen = myWS.Range("A2:A" & lastrow)

strSrc1 = InputBox("Bitte geben Sie Ihren ersten Suchbegriff ein", "Suchbegriff 1")
strSrc2 = InputBox("Bitte geben Sie Ihren zweiten Suchbegriff ein", "Suchbegriff 2")
strSrc3 = InputBox("Bitte geben Sie Ihren dritten Suchbegriff ein", "Suchbegriff 3")
strSrc4 = InputBox("Bitte geben Sie Ihren vierten Suchbegriff ein", "Suchbegriff 4")

j = 0
ReDim arrMassn(AnzZeilenTab1, 2)
For Each objCell In rngMassnahmen.Cells
  If strSrc1 <> "" And InStr(1, strSrc1, objCell) <> 0 Then
    arrMassn(j, 1) = objCell.Value
    arrMassn(j, 2) = objCell.Offset(0, 1).Value
      j = j + 1
      GoTo Weitermachen
          ElseIf strSrc2 <> "" And InStr(1, strSrc2, objCell, vbTextCompare) <> 0 Then
            arrMassn(j, 1) = objCell.Value
            arrMassn(j, 2) = objCell.Offset(0, 1).Value
              j = j + 1
              GoTo Weitermachen
                ElseIf strSrc3 <> "" And InStr(1, strSrc3, objCell, vbTextCompare) <> 0 Then
                  arrMassn(j, 1) = objCell.Value
                  arrMassn(j, 2) = objCell.Offset(0, 1).Value
                    j = j + 1
                    GoTo Weitermachen
                        ElseIf strSrc4 <> "" And InStr(1, strSrc4, objCell, vbTextCompare) <> 0 Then
                          arrMassn(j, 1) = objCell.Value
                          arrMassn(j, 2) = objCell.Offset(0, 1).Value
                            j = j + 1
                            GoTo Weitermachen
    End If
Weitermachen:
Next

Worksheets("Tabelle2").Activate
Cells(1, 1).Value = "Gefundene Massnahmen"
Cells(1, 2).Value = "Massnahmentext"

For i = 0 To UBound(arrMassn)
  If arrMassn(i, 1) <> "" Then
    Cells(i + 2, 1).Value = arrMassn(i, 1)
    Cells(i + 2, 2).Value = arrMassn(i, 2)
  End If
Next

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub


In allgemeines Modul kopieren. Findet nur die alleinstehenden Worte, Verwendung von Wildcards nicht möglich (InStr). Die nicht ausgefüllten Suchbegriffe werden ignoriert (brauchst also nicht immer 4 davon anzugeben).

Wenn Du WortCombos finden willst (Suchbegriff: "Programm", Fundstelle: "Programmverantwortlicher"), dann die Zeilen
Code:
If strSrc1 <> "" And InStr(1, strSrc1, objCell) <> 0 Then
ersetzen mit
Code:
If strSrc1 <> "" And objCell.Value Like "*" & strSrc1 & "*" Then


Für gute Lösungen in diesem Forum suchen. Da gibt es massenhaft tolle Beispiele.

Gruss, Peter

_________________
Zu Atari-Zeiten haben wir mit 0/1 gerechnet, und jetzt .....?
Feedback kommt gut
Maxz
Gast


Verfasst am:
28. Aug 2012, 08:20
Rufname:


AW: Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen - AW: Excel VBA Begriff Suchen, Zelle Kopieren und Einfügen

Nach oben
       Version: Office 2007

Läuft perfekt. Vielen vielen Dank!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Zelle in bestimmer Zeile finden 12 lhh 2029 15. Sep 2004, 10:21
lhh Zelle in bestimmer Zeile finden
Keine neuen Beiträge Excel Formeln: Formatierung Zelle ( Formel ) 5 Gast 1333 01. Sep 2004, 13:19
ae Formatierung Zelle ( Formel )
Keine neuen Beiträge Excel Formeln: Frage... (suchen und löschen) 2 fs-racing 687 01. Sep 2004, 12:13
fs-racing Frage...  (suchen und löschen)
Keine neuen Beiträge Excel Formeln: Formatierung einer anderen Zelle wenn in der einen ein Text 2 Gast 4992 01. Sep 2004, 11:04
Gast Formatierung einer anderen Zelle wenn in der einen ein Text
Keine neuen Beiträge Excel Formeln: Suche Zelle nach einem ähnlichem Wert ab... (wildcart) 2 Ranzi 2531 09. Aug 2004, 18:22
icke Suche Zelle nach einem ähnlichem Wert ab... (wildcart)
Keine neuen Beiträge Excel Formeln: Hyperlink per VBA kopieren 1 Gast 1112 03. Aug 2004, 16:57
ae Hyperlink per VBA kopieren
Keine neuen Beiträge Excel Formeln: Kopieren für Anfänger 3 taraniel 2007 29. Jul 2004, 20:36
fl618 Kopieren für Anfänger
Keine neuen Beiträge Excel Formeln: Bei SVERWEIS wird die Matrix mit hochgezählt, beim kopieren. 1 MariaMagda 1595 28. Jul 2004, 14:14
Thomas Ramel Bei SVERWEIS wird die Matrix mit hochgezählt, beim kopieren.
Keine neuen Beiträge Excel Formeln: Text und fortlaufende Nr. in eine Zelle 2 Strebe nach Können 1003 16. Jul 2004, 19:19
Strebe nach Können Text und fortlaufende Nr. in eine Zelle
Keine neuen Beiträge Excel Formeln: Extrahieren von Text bis zum ersten Semikolon einer Zelle 8 Gast 2943 13. Jul 2004, 18:59
Arnim Extrahieren von Text bis zum ersten Semikolon einer Zelle
Keine neuen Beiträge Excel Formeln: punkt am ende der zelle? 3 marKUSS 1806 08. Jul 2004, 14:26
Gast punkt am ende der zelle?
Keine neuen Beiträge Excel Formeln: Datum einfügen 1 akm1978 1117 04. Jul 2004, 00:33
akm1978 Datum einfügen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Dreamweaver Forum