ListenVergleich/Spalten problem
03.11.2014 10:55:25
rag
Die Funktion klappt wunderbar, nur problem ist, dass beim schreiben der spalte (j,27)
StandortBestandsliste.Sheets("Maschinen").Cells(j, 27).End(xlUp).Offset(1, 0).Value = ActiveWorkbook.Sheets("Maschinen").Cells(i, 27).Value
nicht geschrieben werden.
Bei alle andere spalten werden die neuen Daten geschrieben, aber nur in der Spalte 27 nicht! Lieg es daran, dass die Spalte 27 "AA" ist, also nach Z kommt. Z hat die Spalte 26.
Danke
Option Explicit
Dim StandortBestandsliste As Workbook
Dim MyWorkBook As String
Function ListenVergleich() As Boolean
Dim MyGrossFileName As String
Dim fso As Object
Dim sFile As String
Set fso = CreateObject("Scripting.FileSystemObject")
'MyGrossFileName = ActiveWorkbook.Path & "\Erfassungsliste_FITS_FN.xls"
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Titel"
.InitialFileName = "C:\Users\Dokumente\Wöchentliche Report\Erfassungslieste"
.AllowMultiSelect = False
.Filters.Clear
.Show
If .SelectedItems.Count = 1 Then
MyGrossFileName = .SelectedItems(1)
End If
End With
MyWorkBook = ThisWorkbook.Name
If fso.FileExists(MyGrossFileName) Then
Set StandortBestandsliste = Workbooks.Open(MyGrossFileName)
ListenVergleich = True
Else
ListenVergleich = False
MsgBox ("File not found: " & MyGrossFileName)
End If
End Function
Sub DoWork()
Dim i, j As Long
Dim maxT, maxG As Long
Dim maschineGefunden As Boolean
'Dim letzteZeile As Long
If ListenVergleich Then
Workbooks(MyWorkBook).Activate
maxT = ActiveWorkbook.Sheets("Maschinen").Cells.SpecialCells(xlCellTypeLastCell).Row
maxG = StandortBestandsliste.Sheets("Maschinen").Cells.SpecialCells(xlCellTypeLastCell). _
_
Row
For i = 5 To maxT
maxG = StandortBestandsliste.Sheets("Maschinen").Cells.SpecialCells( _
xlCellTypeLastCell).Row
maschineGefunden = False
For j = 5 To maxG
If ActiveWorkbook.Sheets("Maschinen").Cells(i, 22).Value = _
StandortBestandsliste.Sheets("Maschinen").Cells(j, 22).Value Then
' PC Name gefunden
maschineGefunden = True
' Update Zellen
StandortBestandsliste.Sheets("Maschinen").Cells(j, 18).Value = _
ActiveWorkbook.Sheets("Maschinen").Cells(i, 18).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 19).Value = _
ActiveWorkbook.Sheets("Maschinen").Cells(i, 19).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 21).Value = _
ActiveWorkbook.Sheets("Maschinen").Cells(i, 21).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 23).Value = _
ActiveWorkbook.Sheets("Maschinen").Cells(i, 23).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 24).Value = _
ActiveWorkbook.Sheets("Maschinen").Cells(i, 24).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 27).Value = _
ActiveWorkbook.Sheets("Maschinen").Cells(i, 27).Value
End If
Next j
If Not maschineGefunden Then 'Masschine nicht gefunden
' With StandortBestandsliste.Sheets("Maschinen")
' .Cells(.Rows.Count, 27).End(xlUp).Offset(1, 0).Value = .Cells(i, 27).Value
' End With
StandortBestandsliste.Sheets("Maschinen").Cells(j, 18).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 18).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 19).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 19).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 21).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 21).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 22).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 22).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 23).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 23).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 24).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 24).Value
StandortBestandsliste.Sheets("Maschinen").Cells(j, 27).End(xlUp).Offset(1, 0).Value _
_
= ActiveWorkbook.Sheets("Maschinen").Cells(i, 27).Value
End If
Next i
End If
End Sub