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

Forumthread: Wenn Anfangsbuchstabe in Spalte,dann Zeile kopiern

Wenn Anfangsbuchstabe in Spalte,dann Zeile kopiern
25.09.2018 19:24:03
Clancy
Hallo zusammen!
Ich bin wechselnd am Ausrasten und Weinen, ich check' einfach nicht, was das Problem ist und hoffe auf eure Hilfe.
Anhand eines Codes, den ich hier gefunden habe, bin ich schon recht weit, hänge jetzt aber fest.
Ausgangslage:
Tabellenblatt "ProMon" enthält viele Spalten und Zeilen.
Spalte B enthält Daten für Bereiche.
Sprich: Fängt Wert mit "C" an, gehört die ganze Zeile zum Bereich "C".
Ziel:
Wenn Anfangsbuchstabe in Spalte B in "ProMon", dann diese Zeile in Tabellenblatt für diesen Anfangsbuchstaben aka Bereich kopieren.
Problem:
Ich habe viele Posten, die z.B. mit "A" beginnen und dann noch zwei Stellen weiter spezifiziert werden.
Also z.B. "A12" oder "A9A".
Was ich schaffe:
Dass, wenn ich spezifisch sage
"strSearch = "A9A" ,
er mir diese Zeilen alle in das Tabellenblatt "A" kopiert.
Aber wenn ich einfach nur
"strSearch = "A**"
eingebe, passiert nichts.
Das ist der Code, den ich hier gefunden habe:

Sub Copy_x()
Dim i As Long, suchCol As Long
Dim strSearch As String
Dim srcWks As Worksheet, tarWks As Worksheet
'Tabellennamen anpassen
'srcWks wo gesucht werden soll
Set srcWks = Worksheets("ProMon")
'tarWks wo hinkopiert werden soll
Set tarWks = Worksheets("Ausstattung")
'8 = Spalte H
suchCol = 2
'strSearch = was gesucht werden soll
strSearch = "A**"
With srcWks
For i = 1 To .Cells(Rows.Count, suchCol).End(xlUp).Row
If .Cells(i, suchCol).Text = strSearch Then
Rows(i).Copy Destination:=tarWks.Cells(tarWks.Cells(Rows.Count, 1).End(xlUp). _
Row + 1, 1)
End If
Next i
End With
End Sub

Ich habe es schon mit "left" an verschiedenen Stellen probiert, aber da schimpft Excel dann mit mir.
Was fehlt mir? In meinem Kopf ist das so einfach, aber offenbar ist das schwieriger, als ich denke.
Danke vorab für eure Hilfe und viele Grüße!
Clancy
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:kleine Beispieldatei (owT)
25.09.2018 19:26:17
Fennek
AW: AW:kleine Beispieldatei (owT)
25.09.2018 19:35:34
Werner
Hallo Clancy,
meinst du so?
hier:
strSearch = "A?"

und hier:
If .Cells(i, suchCol).Text Like strSearch Then

Treffer ist alles was 3 Zeichen lang ist und mit A beginnt.
Gruß Werner
AW: AW:kleine Beispieldatei (owT)
26.09.2018 08:23:01
Clancy
Danke schön, funktioniert perfekt!
Eine kleine Sache noch:
Ich hatte es in einem anderen Code schon mal geschafft, dass das Einfügen der kopierten Zeilen in dem jeweiligen Tabellenblatt erst ab Zeile x (hier wäre es 9) beginnt.
Lässt sich das leicht ergänzen?
Gruß! Clancy
Anzeige
sry Fennek, falscher Zweig. o.w.T.
25.09.2018 19:37:14
Werner
AW: sry Fennek, falscher Zweig. o.w.T.
26.09.2018 07:41:56
Clancy
Wow, danke für die superschnelle Hilfe!
Hätte ich das gewusst wäre ich noch die paar Minuten länger im Büro geblieben.
Ich probiere es gleich mal aus!
AW: sry Fennek, falscher Zweig. o.w.T.
26.09.2018 08:32:22
Clancy
PS: Hier mein Versuch, der bewirkt aber absolut gar nix :-D
Sub Copy_x()
Dim i As Long, suchCol As Long
Dim strSearch As String
Dim srcWks As Worksheet, tarWks As Worksheet
Dim myLastRow
'Tabellennamen anpassen
'srcWks wo gesucht werden soll
Set srcWks = Worksheets("ProMon")
'tarWks wo hinkopiert werden soll
Set tarWks = Worksheets("Ausstattung")
'8 = Spalte H
suchCol = 2
'strSearch = was gesucht werden soll
strSearch = "A?"
With srcWks
myLastRow = .Cells(Rows.Count, 1).End(xlUp).Row ' sucht die letzte gefüllte Zelle in  _
Spalte A
If myLastRow 

Anzeige
Beispielmappe bitte
26.09.2018 08:59:24
Werner
Hallo,
mach mal eine kleine Beispielmappe mit ein paar Datensätzen in der du dein Wunschergebnis aufzeigst.
Gruß Werner
AW: Beispielmappe bitte
26.09.2018 09:09:53
Clancy
Hi Werner!
Alles klar, einen Augenblick! Baue eben eine öffentliche Version.
Bis gleich!
AW: Beispielmappe bitte
26.09.2018 10:51:11
Clancy
Hello again!
Er zeigt mir immer die Fehlermeldung an, dass das Dateiformat nicht passt :-/
Habe sogar versucht, es als .xlsx zu speichern und den Code vom Modul in "Diese Arbeitsmappe" geschoben, hilft aber nix.
Kann man Screenshots hochladen? Vielleicht funktioniert das.
Anzeige
AW: Beispielmappe bitte
26.09.2018 10:57:50
Werner
Hallo,
mit einem Bild kann ich nichts anfangen, außer es anzuschauen.
Voraussetzungen für Datei upload:
-Datei nicht größer als 300kb
-Datei nicht zu tief in irgenwelchen Verzeichnissen, am besten auf den Desktop legen
-keine Umlaute/Leerzeichen im Dateinamen
Gruß Werner
Anzeige
AW: Beispielmappe bitte
26.09.2018 12:23:37
Werner
Hallo,
würde ich so machen:
Option Explicit
Sub Copy_x()
Dim i As Long, suchCol As Long, loLetzte As Long
Dim strSearch As String, Blattname As String, boGefunden As Boolean
Dim srcWks As Worksheet, tarWks As Worksheet, ws As Worksheet
strSearch = InputBox("Gesuchten Anfangsbuchstaben eingeben:", "Suche nach..")
Blattname = UCase(strSearch)
strSearch = UCase(strSearch) & "?"
suchCol = 2
Set srcWks = Worksheets("Tabelle1")
For Each ws In ThisWorkbook.Worksheets
If ws.Name = Blattname Then
boGefunden = True
Exit For
End If
Next ws
If boGefunden Then
Set tarWks = Worksheets(Blattname)
With srcWks
For i = 9 To .Cells(Rows.Count, suchCol).End(xlUp).Row
If .Cells(i, suchCol).Text Like strSearch Then
loLetzte = tarWks.Cells(tarWks.Rows.Count, 1).End(xlUp).Offset(1).Row
If loLetzte 
Nach welchem "Buchstaben" du suchst wird über eine Inputbox abgefragt. Damit kannst du steuern in welches jeweilige Blatt du die Daten übertragen willst.
Eine Fehlerbehandlung, ob es das entsprechende Blatt überhaupt gibt, ist eingebaut. Ansonsten würde der Code in einen Fehler laufen.
Gruß Werner
Anzeige
AW: Beispielmappe bitte
26.09.2018 12:36:33
Clancy
WOW, danke schön Werner!!
Das sieht bedeutend logischer und in sich geschlossen aus.
Mein Ding funktioniert zwar, ist aber hässlich wie die Nacht und spürbar amateurhaft.
DANKE SCHÖN dafür!! Das kann ich bestimmt auch noch für weitere Aufgaben benutzen.
Ich freue mich riesig über deine Hilfe für einen Fremden! :-)
Lieben Gruß,
Clancy
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
26.09.2018 12:40:25
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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