Hi, Ich habe das Makro jetzt angepasst und es läuft.
Ich benötige aber noch die Zeilennummern.
Quellnummer = die Zeile wo der Suchbegriff steht (Quellsheet)
Zielnummer = In welcher Zeile wurde es gefunden (Zielsheet)
Wahrscheinlich muss ich nur bei einer Variablen die .Row anhängen. Aber ich finde nicht bei welchen.
Danke
Option Explicit
Sub AbzugausMEM()
'
' Abzug aus MEM aktuelle Datenübernahme
'
'Part 1 Neue MEM Meldungen in Tabelle einfügen
Dim QName As Workbook
Dim QSheet As Worksheet
Dim ZPath As String
Dim ZName As String
Dim ZSheet As String
'Set QPath = ActiveWorkbook.Path
Set QName = ActiveWorkbook 'Erstellt sich aus aktiver Quelldatei "Datenexport"
Set QSheet = ActiveSheet 'Erstellt sich aus aktiven Quellsheet "Meldung"
'ZPath = "D:\Users\YYY\XXXXXXXXX\Desktop\ADAM Rohdaten\ Makro\"
ZName = "Test_Makro20221020_Dokumentation_Datenblatt.xlsm"
ZSheet = "Dokumentation"
'Abfrage unbedingt aktivieren
'MsgTxt = "Ist es wirklich die MEM Export? " & vbCr & QName.Name & vbCr & QSheet.Name
'
'If MsgBox(MsgTxt, vbYesNo Or vbQuestion, "MEM Export?") = vbNo Then
' Exit Sub ' 2. Blacklist weiterbearbeiten =>raus
' End If ' 1. Weiter mit Kopieren
' Zwischenspeicher leeren
'Clear Clipboard = True
Application.CutCopyMode = False
Dim rngDatenexport As Excel.Range 'Quellrange Woher kommen die Daten. Nach welchen Werten wird durchsucht
Dim rngDokumentation As Excel.Range 'Zielrange Wohin wird geschrieben. Wo stehen die Werte die durchsucht werden
'Meldungsnummern im Datenexport
With Workbooks(QName.Name).Worksheets(QSheet.Name) ' Mit der Quelldatei, Quellsheet
Set rngDatenexport = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp)) 'Die Range "A2" bis letzte Zeile in Spalte "A"
End With
'Meldungsnummern in der Dokumentation
With Workbooks(ZName).Worksheets(ZSheet) ' mit der Zieldatei, Zielsheet
'With Worksheets("Dokumentation")
Set rngDokumentation = .Range("D3", .Cells(.Rows.Count, "D").End(xlUp)) 'Die Range "D3" bis letzte Zeile in Spalte "D"
End With
Dim rngDatenexportNr As Excel.Range
Dim rngDokumentationNr As Excel.Range
For Each rngDatenexportNr In rngDatenexport.Cells ' Das weiss ich nicht was es tut. Evtl. schreibst du hier die Aktuelle Suchzeile rein?
Set rngDokumentationNr = rngDokumentation.Find( _
What:=rngDatenexportNr.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByColumns, _
MatchCase:=False) 'hier fängst du die gefundenen Zeilennummer ein.
If Not rngDokumentationNr Is Nothing Then
Debug.Print "Meldungsnummer '" & rngDatenexportNr.Value & "' existiert bereits in der Dokumentation"
Else
Debug.Print "Meldungsnummer '" & rngDatenexportNr.Value & "' fehlt in der Dokumentation"
End If
Next
End Sub
|