Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

ListenVergleich/Spalten problem

Betrifft: ListenVergleich/Spalten problem von: rag
Geschrieben am: 23.10.2014 10:10:29

Hallo,

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

  

Betrifft: AW: ListenVergleich/Spalten problem von: rag
Geschrieben am: 28.10.2014 08:26:06

Helfen Bitte


 

Beiträge aus den Excel-Beispielen zum Thema "ListenVergleich/Spalten problem"