Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1640to1644
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

Mehrere Bezüge zu Wert + mehrerer Spalten copy

Mehrere Bezüge zu Wert + mehrerer Spalten copy
28.08.2018 13:15:23
Arnd-Olav
Liebe Freunde,
anbie meine Beispielmappe.
Mit dem Makro hat mir ein Kollege hier bereits TOP geholfen, ich komme nur mit dem Rest nicht weiter.
Die Mappe hat drei Sheets. Vom Sheet "Input" sollen die PNs ausgelesen werden und mit den entsprechenden CC Codes aus dem Sheet "AQPL" auf das Sheet "Mail" gepackt werden.
In der angehangenen Datei funktioniert bisher alles, was auf dem Sheet "Mail" grün ist. Das was blau ist, macht das Makro noch nicht.
Es gibt also noch das Problem, dass PNs doppelt vorkommen. Dafür müsste dieses Autofilter-Makro ggf Zeile für Zeile ausgeführt werden ?!
Und dann möchte ich die zusätzlcihen Spalten aus dem Sheet "Input" auch mit kopiert haben (QTY, UOM, ORDER, Condition, CAT und Date, die jetzt ebenfalls noch blau markiert sind)
Danke euch
https://www.herber.de/bbs/user/123583.xlsm
Public Sub V1()
Dim FilterArray As Variant
Dim loLetzte As Long, loLetzte1 As Long, i As Long
Application.ScreenUpdating = False
With Worksheets("Input")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
If loLetzte = 1 Then
MsgBox "Es gibt keine Suchbegriffe"
Exit Sub
End If
For i = 2 To loLetzte
If .Cells(i, 1)  "" Then
If FilterArray = "" Then
FilterArray = .Cells(i, 1)
Else
FilterArray = FilterArray & "," & .Cells(i, 1)
End If
End If
Next i
End With
With Worksheets("AQPL")
loLetzte1 = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("$A$1:$C$" & loLetzte1).AutoFilter Field:=1, _
Criteria1:=Split(FilterArray, ","), Operator:=xlFilterValues
If .Cells(.Rows.Count, 1).End(xlUp).Row > 1 Then
With .AutoFilter.Range
.Resize(.Rows.Count - 1).Offset(1, 0).Copy _
Worksheets("Mail").Cells(2, 1)
End With
Else
MsgBox "Kein Treffer im Blatt ""AQPL"""
End If
If .AutoFilterMode Then .AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Bezüge zu Wert + mehrerer Spalten copy
28.08.2018 16:46:31
Hans
Hallo Arnd-Olav
probier bitte mal diesen Code aus. Eine alte Methode, aber sie funktioniert.
mfg Hans
Option Explicit      '28.8.2018   für Herber Forum
'Code für Mail Liste auflisten
Sub Mail_erstellen()
Dim PNTxt As String
Dim CCTxt As String
Dim InLetzte As Long, a As Long
Dim AqLetzte As Long, z As Long
Dim IP As Worksheet, i As Long
Dim AQ As Worksheet, j As Long
Set IP = Worksheets("Input")
Set AQ = Worksheets("AQPL")
Application.ScreenUpdating = False
InLetzte = IP.Cells(Rows.Count, 1).End(xlUp).Row
AqLetzte = AQ.Cells(Rows.Count, 1).End(xlUp).Row
z = 2  '1.Zeile in Mail Tabelle
If InLetzte = 1 Then
MsgBox "Es gibt keine Suchbegriffe": Exit Sub
End If
With Worksheets("Mail")
'LastZell Bereich in Mail löschen
a = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Rows("2:" & a).Delete shift:=xlUp
PNTxt = IP.Cells(2, 1)  '1. PN Text setzen
'Schleife für Part # abarbeiten
For i = 2 To InLetzte
PNTxt = IP.Cells(i, 1)
'Schleife für CageCode Anfangzeile  (Part#)
For a = 2 To AqLetzte
If AQ.Cells(a, 1) = PNTxt Then Exit For
Next a
'Schleife zum Kopieren in Mail Tabelle
For j = a To AqLetzte
If AQ.Cells(j, 1)  PNTxt Then Exit For
CCTxt = AQ.Cells(j, 2)
.Cells(z, 1) = PNTxt  'PN Text setzen
.Cells(z, 2) = CCTxt  'CC Text setzen
'Daten QTY bis Date kopieren
IP.Cells(i, 2).Resize(1, 6).Copy
.Cells(z, 3).PasteSpecial xlPasteAll
Application.CutCopyMode = False
z = z + 1
Next j
Next i
End With
Worksheets("Mail").Select
End Sub

Anzeige
AW: Mehrere Bezüge zu Wert + mehrerer Spalten copy
29.08.2018 11:37:44
Arnd-Olav
Vielen Dank Hans. Das funktioniert. Erst hatte ich ein Problem, dann aber selber gemerkt, woran es lag (dasWorksheet AQPL muss nach PNs sortiert sein, um bei mehreren CCs diese zu kopieren).
Danke Dir
Arnd-Olav

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige