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: 03.11.2014 10:55:25

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: Rudi Maintaire
Geschrieben am: 03.11.2014 11:31:40

Hallo,
Lieg es daran, dass die Spalte 27 "AA" ist, also nach Z kommt. Z hat die Spalte 26.

definitiv nicht. Ws soll das damit zu tun haben?

Gruß
Rudi


  

Betrifft: AW: ListenVergleich/Spalten problem von: rag
Geschrieben am: 03.11.2014 11:53:01

Ja woran liegt es dann Bitte?


  

Betrifft: AW: ListenVergleich/Spalten problem von: Rudi Maintaire
Geschrieben am: 03.11.2014 12:08:20

Hallo,
Ja woran liegt es dann Bitte?
vermutlich an deinem Code.

Lad mal die Mappen hoch.

Gruß
Rudi


  

Betrifft: AW: ListenVergleich/Spalten problem von: rag
Geschrieben am: 03.11.2014 12:41:42

Also es sind drei Excel Dateien.

Anfangen tue ich mit der Datei Erfassungsliste_PITS_CMS.xlsm
In der Datei sind 6 Spalten mit Query, sind rot Markiert, die hollen sich immer automatisch aus der DAtei Erfassungsliste _PITS_Solidcore.

Wenn die Datei abgefargt ist, dann auf mit der Button "Vergleichen" wird die erste Datei, nach dem Sich die informationen geholt hat mit Query Abfragen, wird sie dann mit der Datei Erfassungsliste_PITS_FN verglichen. PC Namen die vorkommen, werden derren Informationen aktualisiert.
Pc Namen die nicht vorkommen, sollen unten in der Tabelle eingefügt werden.

Es klappt auch wunder Bar, aber leider bei manchen neuen PC Namen, werden die anderen Spalten, nicht bis ende geschrieben. Siehe Bild!




https://www.herber.de/bbs/user/93506.zip
Du musst die Pfade ändern, damit das Programmverlauf funktioniert.

Danke die Sehr :)


  

Betrifft: AW: ListenVergleich/Spalten problem von: Rudi Maintaire
Geschrieben am: 03.11.2014 12:55:48

Hallo,
PC Namen die vorkommen, werden derren Informationen aktualisiert.
Und warum überprüfst du dann die Taktfrequenz????

If ActiveWorkbook.Sheets("Maschinen").Cells(i, 22).Value =  _
    StandortBestandsliste.Sheets("Maschinen").Cells(j, 22).Value Then
                        ' PC Name gefunden
                        maschineGefunden = True

Der Computername steht doch in Spalte Z (=26)!!

Gruß
Rudi


  

Betrifft: AW: ListenVergleich/Spalten problem von: rag
Geschrieben am: 03.11.2014 13:12:47

Sorry, das obere Coding, ist von der Alte, also das was im Code Steht in der Datei, stimmt so.
Also Computername ist im Feld 26


  

Betrifft: AW: ListenVergleich/Spalten problem von: rag
Geschrieben am: 06.11.2014 08:36:52

Und hast du es ausprobiert Rudi?


 

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