|  
                                             
	Hallo liebes VBAForum, 
	 
	ich bin ein blutiger VBA-Anfänger und weiß teilweise gar nicht, was ich tue. Mühsam habe ich ein Programm gebaut (danke, Herber.de!) welches nach dem Start eine Userform öffnet, in der man zwei Tabellen öffnen kann, die einmal in "Tabelle 1" und einmal in "Tabelle 2" geöffnet werden. Durch einen dritten Button lassen sich die Daten miteinander vergleichen und Unterschiede werden farblich markiert. 
	 
	Das klappt soweit gut, aber es werden ganze Zeilen markiert, ich möchte aber nur, dass die jeweiligen Zellen markiert werden. "Rows" durch "Cells" ersetzen habe ich schon versucht. Leider bin ich nun an der Grenze meines "Wochend-Seminar-Wissens". Danke im Voraus! 
	 
	Hier der Code erstmal für das importieren: 
	Private Sub CommandButton3_Click() 
	Dim ImportDatei As Variant 
	Dim wbImport As Workbook 
	 
	ImportDatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm", Title:="Eine Datei auswählen") 
	 
	If ImportDatei = False Then Exit Sub 
	 
	Set wbImport = Workbooks.Open(ImportDatei) 
	 
	 
	Cells.Select 
	Application.CutCopyMode = False 
	Selection.Copy 
	Windows("Vergleich.xlsm").Activate 
	Sheets("Alt").Select 
	Cells.Select 
	ActiveSheet.Paste 
	 
	End Sub 
	 
	 
	---------------------------------------- 
	Und hier der Code für den Vergleich: 
	 
	 
	Private Sub CommandButton2_Click() 
	 
	 
	Dim rng As Range 
	Dim lRow As Long, lRowT As Long 
	Dim iCol As Integer 
	Dim bln As Boolean 
	Set rng = Worksheets("Alt").Range("A1").CurrentRegion 
	Sheets("Aktuell").Activate 
	For lRow = 1 To Range("A1").CurrentRegion.Rows.Count 
	 
	bln = True 
	For lRowT = 1 To rng.Rows.Count 
	 
	For iCol = 1 To 400 
	If Cells(lRow, iCol) <> rng(lRowT, iCol) Then 
	bln = False 
	Exit For 
	End If 
	Next iCol 
	If bln = True Then 
	Exit For 
	ElseIf lRowT < rng.Rows.Count Then 
	 
	bln = True 
	End If 
	Next lRowT 
	If bln = False Then 
	Range(Cells(lRow, 1), Cells(lRow, 400)).Interior.ColorIndex = 6 
	'Range(Cells(lRow, iCol), Cells(lRow, iCol)).Interior.ColorIndex = 6 
	 
	End If 
	Next lRow 
	Range("A1").Select 
	Unload Me 
	 
	End Sub 
	 
	 
	P.S.: Wie kann ich dann noch erreichen, dass wenn ich eine Mappe öffne, diese aber aus mehreren Tabellenblätter besteht, ich alle Seiten importieren kann? 
     |