Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1644to1648
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

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

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
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!
Anzeige
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.
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
Gerne u. Danke für die Rückmeldung. o.w.T.
26.09.2018 12:40:25
Werner

355 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige