|  
                                             
	Hallo Leute, 
	ich hoffe ihr könnt mir helfen. 
	Ich habe schon Ewigkeiten das Net und das Forum durchsucht und ein paar Sachen gefunden. 
	Leider bin ich nicht an mein Ziel gekommen. 
	 
	Ich habe eine Excel Datei mit zwei Blättern. 
	 
	Jetzt möchte ich Tabelle 1 Spalte 2 mit 
	Tabelle zwei Spalte 4 vergleichen. 
	Dabei will ich ermitteln welche Werte ich Zellen von Tabelle 2, schon in Tabelle 1 vorhanden sind. 
	Und wenn diese vorhanden sind will ich in entsprechender Zeile , in Spalte 20 ein X setzten. 
	 
	Genau das habe ich schon mit VBA gemacht, 
	das ganze klappt auch ganz gut. 
	 
	Nur leider sind es pro Tabelle 200.000 Datensätze und das dauert mit VBA 25h. 
	 
	Habt Ihr eine möglichkeit dieses schneller zu machen. 
	Grüße 
	Marco 
	  
''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++        Deklartion
Dim Wks1 As Worksheet
Dim lngCounterColum As Long
Dim lngCounterRow_Clean As Long
Dim lngCounterRow_FileAll As Long
Dim CkeckBit As Boolean
Dim EndRow_Clean As Long
Dim EndColumn_Clean As Long
Dim EndRow_FileAll As Long
Dim EndColumn_FileAll As Long
Dim error As Integer
Dim OK As Integer
Dim Row As Long
Dim ColumnART As Long
Dim ColumnERP As Long
Dim Test1 As String
Dim Test2 As String
Dim FindString As String
Dim Rng As Range
Dim Cell As String
''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++        Deklartion
Sub Search()
For Wks = 1 To Worksheets.Count
    If Worksheets(Wks).Name = "PDM_Daten" Then
    
            
        Set Wks_Clean = Sheets("PDM_Daten")
        Set Wks_FileAll = Sheets("fileAll00-0F")
        
        With Wks_Clean
        EndRow_Clean = .Cells(Rows.Count, 2).End(xlUp).Row                        '' Ermitteln letzte Zeile
        EndColumn_Clean = .Cells(2, Columns.Count).End(xlToLeft).Column           '' Ermittel letzte Spalte
        
        End With
        
        With Wks_FileAll
        EndRow_FileAll = .Cells(Rows.Count, 4).End(xlUp).Row                        '' Ermitteln letzte Zeile
        EndColumn_FileAll = .Cells(2, Columns.Count).End(xlToLeft).Column           '' Ermittel letzte Spalte
        
        End With
            For lngCounterRow_Clean = 1 To EndRow_Clean
            
        
                    FindString = Wks_Clean.Cells(lngCounterRow_Clean, 2).Value
                    
                    If Trim(FindString) <> "" Then
                        With Wks_FileAll.Range("D:D")
                            Set Rng = .Find(What:=FindString, _
                                            After:=.Cells(.Cells.Count), _
                                            LookIn:=xlValues, _
                                            LookAt:=xlWhole, _
                                            SearchOrder:=xlByRows, _
                                            SearchDirection:=xlNext, _
                                            MatchCase:=False)
                                                        
                            If Not Rng Is Nothing Then
                                Cell = Rng.Address
                                Cell = Right(Cell, Len(Cell) - 3)
                                Wks_FileAll.Cells(Cell, 20).Value = "X"
                                Wks_FileAll.Cells(2, 21).Value = lngCounterRow_Clean
                            ''Else
                                ''MsgBox "Nothing found"
                            End If
                        End With
                    End If
                 
                ''Next lngCounterRow_FileAll
    
            
            Next lngCounterRow_Clean
        
        
        
        
        
        
        Application.ScreenUpdating = False                                  '' Screen Update
           
        
End If
     
Next Wks
Exit Sub
End Sub
	  
     |