Ich kann nicht mehr...
Normalerweise soll er in der Tabelle 1 die 2 Zeile in Spalte N überprüfen was zb. die Nummer 12345678 ist ob es diese Nummer in Tabelle 2 Spalte N auch zu finden ist WENN JA soll er in beiden Tabellen dieses Feld makieren und nochmals den Preis makieren der in spalte AC ist bei beiden Tabellen
Das Problem ist alles wird grün gemacht und in der einen wird dann die hälte wieder blau gemacht...ich weiß nicht mehr woran es liegen kann
Normalerweise soll er in der Tabelle 1 die 2 Zeile in Spalte N überprüfen was zb. die Nummer 12345678 ist ob es diese Nummer in Tabelle 2 Spalte N auch zu finden ist WENN JA soll er in beiden Tabellen dieses Feld makieren und nochmals den Preis makieren der in spalte AC ist bei beiden Tabellen
Das Problem ist alles wird grün gemacht und in der einen wird dann die hälte wieder blau gemacht...ich weiß nicht mehr woran es liegen kann
VB.NET-Quellcode
- Imports Excel = Microsoft.Office.Interop.Excel
- Imports System.Drawing
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- ' Öffne Dialogfenster, um die beiden Excel-Dateien auszuwählen
- Dim openFileDialog1 As New OpenFileDialog()
- openFileDialog1.Filter = "Excel-Dateien (*.xlsx)|*.xlsx"
- openFileDialog1.Multiselect = True
- If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
- ' Speichere die ausgewählten Dateinamen
- Dim file1 As String = openFileDialog1.FileNames(0)
- Dim file2 As String = openFileDialog1.FileNames(1)
- ' Öffne Excel-Anwendung und Dateien
- Dim xlApp As Excel.Application = Nothing
- Dim xlWorkbook1 As Excel.Workbook = Nothing
- Dim xlWorkbook2 As Excel.Workbook = Nothing
- Dim xlWorksheet1 As Excel.Worksheet = Nothing
- Dim xlWorksheet2 As Excel.Worksheet = Nothing
- Try
- xlApp = New Excel.Application()
- xlWorkbook1 = xlApp.Workbooks.Open(file1)
- xlWorkbook2 = xlApp.Workbooks.Open(file2)
- ' Vergleiche die Spalten in den Tabellen
- xlWorksheet1 = CType(xlWorkbook1.Worksheets(1), Excel.Worksheet)
- xlWorksheet2 = CType(xlWorkbook2.Worksheets(1), Excel.Worksheet)
- Dim lastRow1 As Integer = xlWorksheet1.Cells(xlWorksheet1.Rows.Count, "N").End(Excel.XlDirection.xlUp).Row
- Dim lastRow2 As Integer = xlWorksheet2.Cells(xlWorksheet2.Rows.Count, "N").End(Excel.XlDirection.xlUp).Row
- For i As Integer = 2 To lastRow1 ' Schleife durch alle Zeilen in Tabelle 1
- Dim searchValue As String = xlWorksheet1.Range("N" & i).Value
- Dim searchRange As Excel.Range = xlWorksheet2.Range("N2:N" & lastRow2)
- Dim foundValues As Excel.Range = searchRange.Find(searchValue, LookIn:=Excel.XlFindLookIn.xlValues, MatchCase:=False, SearchFormat:=False)
- If foundValues IsNot Nothing Then ' Wenn die Sendungsnummer gefunden wurde
- For Each foundValue As Excel.Range In foundValues ' Schleife durch alle gefundenen Zeilen in Tabelle 2
- Dim foundRow As Integer = foundValue.Row
- Dim price1 As Double = xlWorksheet1.Range("AC" & i).Value
- Dim price2 As Double = xlWorksheet2.Range("AC" & foundRow).Value
- If price1 = price2 Then ' Wenn die Preise übereinstimmen
- xlWorksheet1.Rows(i).Interior.ColorIndex = 4 ' Makiere Zeile in Tabelle 1
- xlWorksheet2.Rows(foundRow).Interior.ColorIndex = 4 ' Makiere Zeile in Tabelle 2
- xlWorksheet1.Range("N" & i & ":AC" & i).Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue)
- End If
- Next
- End If
- Next
- ' Speichere Änderungen und schließe Excel-Anwendung und Dateien
- xlWorkbook1.Save()
- xlWorkbook2.Save()
- xlWorkbook1.Close()
- xlWorkbook2.Close()
- xlApp.Quit()
- Catch ex As Exception
- MessageBox.Show("Ein Fehler ist aufgetreten: " & ex.Message)
- End Try
- End If
- End Sub
- End Class