Hallo Leute
Ich habe einmal wieder versucht ein Problem zu lösen.
Ich bekomme Täglich eine Liste MAS per Mail zugesendet.
Dort steht in einem Sheet in der Spalte "B" eine Meldungsnummer.
Diese beginnt mit 0000 und geht dann mit z.B.: 12345678 weiter. (000012345678)
Wie ihr euch denken könnt, ändert sich 12345678.
In Spalte "N" steht die Auftragsnummer.
Nun habe ich eine 2. Datei mit dem Namen "Ticketing TMZ"
Dort ist das Sheet "Tickets" darin befindet sich die Meldungsnummer in Spalte "V"
Aber diese haben nicht immer das 0000 davor.
In dieses Sheet sollen die Auftragsnummern aus der MAS Tabelle in die Spalte "AA" eingefügt werden.
Ich habe versucht aus anderen Kodes und dem Internet mir einen Kode zu erstellen.
Aber genau den Teil des Kopierens und Einfügens den ich aus dem Internet habe (und auch nicht verstehe)
scheint nicht zu funktionieren.
Immerhin habe ich die Beiden Fehlermeldungen bei QName und QSheet dadurch herausbekommen indem ich das ".Name" entfernt habe.
Auch der Suchlauf scheint zu funktionieren.
AAABER: Er Kopiert aus dem Zielsheet "Ticketing TMZ" die Spalte AJ in das Quellsheet Spalte "W"
Also 1. die falsche Richtung und
2. die falschen Spalten.
Die Ausgeblendeten Spalten können eigentlich auch nichts damit zu tun haben, weil auch dort die Spalten nicht passen.
Aber zumindest die Zielspalte habe ich den Fehler identifiziert: Ich habe versehentlich 23 anstelle 27 eingefügt.
Ist aber immernoch die falsche Richtung und die Falsche Quellspalte (Zur Info AJ wäre 36)
Ich hoffe ihr könnt mir den Code berichtigen.
Irgendwie in Richtung:
If Not rSuche Is Nothing Then
Qname & Qsheet Cells("N:" & rSuche).copy 'Neuer Teil anstelle Roter Teil
Zname & Zsheet Cells("AA:" & rFinde).paste 'Neuer Teil anstelle Roter Teil
End If
Next iLauf
End With
Danke
Sub Austausch_MAS_Ticketing()
' Quelldatei MAS festlegen
MsgTxt = "Sind die Tabellen Ticketing und MAS geöffnet? Ist die Datei der MAS gewählt?"
If MsgBox(MsgTxt, vbYesNo Or vbQuestion, "Richtige Quelldatei gewählt?") = vbNo Then
Exit Sub ' 2. Blacklist weiterbearbeiten =>raus
End If ' 1. Weiter mit Kopieren
' Else
'Suche nach Nummer (1)
Dim rSuche As Range, rFinde As Range
Dim lngLetzte1 As Long, lngLetzte2 As Long
Dim QName As Workbook, ZName As Workbook
Dim QSheet As Worksheet, ZSheet As Worksheet
Dim iLauf As Integer
Set QName = ActiveWorkbook.Name 'Erstellt sich aus aktiver Quelldatei (MAS) 'Fehler beim Kompilieren: Typen unverträglich
Set QSheet = ActiveSheet.Name 'Erstellt sich aus aktiven Quellsheet (MAS) ' Laufzeitfehler "424" Objekt erforderlich
Set ZName = Workbooks("Ticketing TMZ") ' hier Namen Zieldatei
Set ZSheet = ZName.Sheets("Tickets") ' hier Namen Zielsheet
With QSheet
lngLetzte1 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count) ' Letzte Zelle in Spalte B des Quellsheets wird ermittelt
End With
With ZSheet
lngLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count) ' Letzte Zelle in Spalte A des Quellsheets wird ermittelt
End With
Set rFinde = ZSheet.Range("V2:V" & lngLetzte2) ' Hier wird in dem Zielsheet in der Spalte V gesucht.
With QSheet 'Aus den Werten des Quellsheets
For iLauf = 2 To lngLetzte1 ' Ab Zeile 2
Set rSuche = rFinde.Find(what:=.Cells(iLauf, 2), LookAt:=xlWhole, LookIn:=xlValues) 'Hier wird in Zelle B der Quelldatei als Suchwert genommen.
If Not rSuche Is Nothing Then
rSuche.Offset(0, 14).Copy .Cells(iLauf, 23) ' hier wird aus der Quelldatei aus der Spalte N der wert in die Zieldatei Spalte AA eingefügt?
End If
Next iLauf
End With
|