Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA-Code in verschied. Dateiversionen vergleichen

Forumthread: VBA-Code in verschied. Dateiversionen vergleichen

VBA-Code in verschied. Dateiversionen vergleichen
Jörg-HH
Hallo zusammen
über das Thema "irgendwas vergleichen" gibt's ja hunderte Archivtreffer. Leider betreffen die immer nur Excel. Ich habe folgendes Problem, dessen Ursache ich in VBA vermute:
Ein simples Gültigkeits-Dropdown funktioniert "plötzlich" nicht mehr. Vor einem halben Jahr ging's noch. Allerdings habe ich es wohl auch ein halbes Jahr nicht benutzt - hingegen jede Menge weiteren Code für alles Mögliche entwickelt.
Nun bewahre ich brav alle alten Versionen der Datei auf und konnte durch probieren zurückverfolgen, bei welcher Version es noch ging und ab wann nicht mehr (Okt. 08). Dann habe ich die Codes der Arbeitsblätter der beiden Versionen per Augenschein nebeneinander verglichen und konnte keinen Unterschied sehen. Auch sonst kann ich keine gravierenden Änderungen finden.
Gibt es einen Code oder was auch immer, der den gesamten Code einer Version mit einer anderen vergleicht und mir die Zeilen mit Änderungen (bzw. neu hinzugekommene) anzeigt? (Oder vielleicht auch sonstige Änderungen in Excel aufspürt...)
Danke für 'n Tip...
Jörg
Anzeige
AW: VBA-Code in verschied. Dateiversionen vergleic
17.07.2009 16:38:15
Klaus
Sind vielleicht Zeilen fixiert?
Beim Mac führt das auch unter Office 2003 zum Aussetzer …
Gruß
Klaus
an Fixierg kann's nicht liegen
17.07.2009 16:46:52
Jörg-HH
Hi Klaus, es ist in einem Blatt eine Fixierung - aber die gab's vorher auch schon...
AW: VBA-Code in verschied. Dateiversionen vergleichen
17.07.2009 18:12:07
ransi
HAllo
Hier mal was mit der ganz heißen Nadel zusammengestrickt.
(Fast ohne Fehlerbehandlung)
Es geht 2 x ein Datei öffnen Dialog auf.
Da wählst du die zu vergleichenden Dateien aus.
Achte drauf das sie nicht den gleichen Namen haben, das geht nicht gut.
Dann hast du schonmal was zum vergleichen.("von Hand")
Ich bastel noch etwas dranrum, dann gehts automatisch.
ransi
Anzeige
ooops...Code vergessen.
17.07.2009 18:13:06
ransi
Option Explicit


Private Sub CommandButton1_Click()
Dim newApp As Application
Dim strText As String
Dim dlg As FileDialog
Dim c As Object
Dim wb(1 To 2) As Workbook
Dim L As Long
Dim Z As Long
Dim I
Set newApp = CreateObject("Excel.Application")
With newApp
    .Visible = False
    .EnableEvents = False
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(1) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(2) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    For I = 1 To 2
        If wb(I).VBProject.Protection = False Then
            For Each c In wb(I).VBProject.VBComponents
                Z = 0
                With c.CodeModule
                    If .CountOfLines > 0 Then
                        For L = 1 To .CountOfLines
                            If Trim(Application.Clean(.Lines(L, 1))) <> "" Then
                                Z = Z + 1
                                Cells(Z, I) = Trim(Application.Clean(.Lines(L, 1)))
                            End If
                        Next
                    End If
                End With
            Next
            Else:
            MsgBox "Das VBA-Project ist geschützt." & vbCrLf & "Bitte den Schutz aufheben und nochmal starten."
        End If
    Next
End With
raus:
If Not wb(1) Is Nothing Then wb(1).Close False
If Not wb(2) Is Nothing Then wb(2).Close False
newApp.Quit
End Sub


Anzeige
wow...
17.07.2009 20:51:34
Jörg-HH
Hi Ransi
bin begeistert und zugleich völlig überfordert. Hab alle fraglichen Dateien geschlossen, den Code in eine neue Datei gefüllt, den Butten gebastelt, gedrückt - und wuschschsch.... hatte ich zwei Spalten zu ca. 1800 Codezeilen...
Die Frage ist nun: Was lese ich da? Den Code aus zwei Dateien, oder die Änderungen von einer zur anderen Datei?
Grüße -Jörg
Anzeige
AW: wow...
17.07.2009 21:05:01
ransi
HAllo Jörg
das ist der code von den 2 Dateien.
Ich bastel noch was das damit die Änderungen kenntlich gemacht gemacht werden.
ransi
Unterschiede von 2 Programmcodes listen
18.07.2009 11:50:19
2
HAllo Jörg
Das ist ein Interessantes Problem.
Teste mal diesen Code:
Option Explicit


Private Sub CommandButton1_Click()
Dim newApp As Application
Dim dlg As FileDialog
Dim c As Object 'As VBComponent
Dim wb(1 To 2) As Workbook
Dim L As Long 'Zähler
Dim Z As Long 'Zähler
Dim I As Integer 'Zähler
Dim str_Modul As String 'Code im CodeModul
Dim strLine As Variant 'Code gesplittet nch vbcrlf
Dim Dic1 As Object 'As Dictionary
Dim Dic2 As Object 'As Dictionary
Dim K 'As Dictionary.Key
Set Dic1 = CreateObject("Scripting.Dictionary")
Set Dic2 = CreateObject("Scripting.Dictionary")
Set newApp = CreateObject("Excel.Application")
With newApp
    .Visible = False
    .EnableEvents = False
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(1) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(2) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    For I = 1 To 2
        If wb(I).VBProject.Protection = False Then
            A = A + 1
            Z = 0
            For Each c In wb(I).VBProject.VBComponents
                With c.CodeModule
                    If .countoflines > 0 Then
                        str_Modul = .Lines(1, .countoflines)
                        str_Modul = Replace(str_Modul, "_" & vbCrLf, "")
                        arr = Split(str_Modul, vbCrLf)
                        For L = LBound(arr) To UBound(arr)
                            strLine = WorksheetFunction.Trim(arr(L))
                            If strLine <> "" Then
                                Select Case I
                                    Case 1
                                        Dic1(strLine) = c.Name
                                        Z = Z + 1
                                        Cells(Z, 1) = c.Name
                                        Cells(Z, 2) = strLine
                                    Case 2
                                        Dic2(strLine) = c.Name
                                        Z = Z + 1
                                        Cells(Z, 3) = c.Name
                                        Cells(Z, 4) = strLine
                                End Select
                            End If
                        Next
                    End If
                End With
            Next
            Else:
            MsgBox "Das VBA-Project ist geschützt." & vbCrLf & "Bitte den Schutz aufheben und nochmal starten."
        End If
    Next
End With
'Vergleichen
Z = 1
Cells(1, 5) = "in Datei 1 aber nicht in Datei 2"
Cells(1, 7) = "in Datei 2 aber nicht in Datei 1"
For Each K In Dic1.keys
    If Not Dic2.exists(K) Then
        Z = Z + 1
        Cells(Z, 5) = Dic1(K)
        Cells(Z, 6) = K
    End If
Next
Z = 1
For Each K In Dic2.keys
    If Not Dic1.exists(K) Then
        Z = Z + 1
        Cells(Z, 7) = Dic2(K)
        Cells(Z, 8) = K
    End If
Next
Do Until newApp.Workbooks.Count = 0
    DoEvents
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
Loop
newApp.Quit
Exit Sub
raus:
Do Until newApp.Workbooks.Count = 0
    DoEvents
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
Loop
newApp.Quit
End Sub


Die Unterschiede werden in F und H gelistet.
ransi
Anzeige
AW: Unterschiede von 2 Programmcodes listen
18.07.2009 12:07:01
2
HAllo
Irgendwie hab ich eben den verkehrten Code erwischt....
Der hier tuts:
Option Explicit


Private Sub CommandButton1_Click()
Dim newApp As Application
Dim dlg As FileDialog
Dim c As Object 'As VBComponent
Dim wb(1 To 2) As Workbook
Dim L As Long 'Zähler
Dim Z As Long 'Zähler
Dim I As Integer 'Zähler
Dim str_Modul As String 'Code im CodeModul
Dim Arr As Variant 'Code gesplittet nach vbcrlf
Dim strLine As String 'Line
Dim Dic1 As Object 'As Dictionary
Dim Dic2 As Object 'As Dictionary
Dim K 'As Dictionary.Key
Set Dic1 = CreateObject("Scripting.Dictionary")
Set Dic2 = CreateObject("Scripting.Dictionary")
Set newApp = CreateObject("Excel.Application")
With newApp
    .Visible = False
    .EnableEvents = False
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(1) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(2) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    For I = 1 To 2
        If wb(I).VBProject.Protection = False Then
            Z = 0
            For Each c In wb(I).VBProject.VBComponents
                With c.CodeModule
                    If .countoflines > 0 Then
                        str_Modul = .Lines(1, .countoflines)
                        str_Modul = Replace(str_Modul, "_" & vbCrLf, "")
                        Arr = Split(str_Modul, vbCrLf)
                        For L = LBound(Arr) To UBound(Arr)
                            strLine = WorksheetFunction.Trim(Arr(L))
                            If strLine <> "" Then
                                Select Case I
                                    Case 1
                                        Dic1(strLine) = c.Name
                                        Z = Z + 1
                                        Cells(Z, 1) = c.Name
                                        Cells(Z, 2) = strLine
                                    Case 2
                                        Dic2(strLine) = c.Name
                                        Z = Z + 1
                                        Cells(Z, 3) = c.Name
                                        Cells(Z, 4) = strLine
                                End Select
                            End If
                        Next
                    End If
                End With
            Next
            Else:
            MsgBox "Das VBA-Project ist geschützt." & vbCrLf & "Bitte den Schutz aufheben und nochmal starten."
        End If
    Next
End With
'Unterschiede rausarbeiten und listen
Z = 1
Cells(1, 5) = "in Datei 1 aber nicht in Datei 2"
Cells(1, 7) = "in Datei 2 aber nicht in Datei 1"
For Each K In Dic1.keys
    If Not Dic2.exists(K) Then
        Z = Z + 1
        Cells(Z, 5) = Dic1(K)
        Cells(Z, 6) = K
    End If
Next
Z = 1
For Each K In Dic2.keys
    If Not Dic1.exists(K) Then
        Z = Z + 1
        Cells(Z, 7) = Dic2(K)
        Cells(Z, 8) = K
    End If
Next
'Aufräumen
Do Until newApp.Workbooks.Count = 0
    DoEvents
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
Loop
newApp.Quit
Exit Sub
raus:
Do Until newApp.Workbooks.Count = 0
    DoEvents
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
Loop
newApp.Quit
End Sub




ransi
Anzeige
...das legt den Rechner lahm :-)
18.07.2009 14:05:36
Jörg-HH
Hi Ransi
ich hab den zweiten Code probiert (ist der so unterschiedlich zum ersten?) - da wird mir was in den Spalten A und B angezeigt, step by step zum zugucken, und irgendwie ist der Rechner dann mit 50% Leistung blockiert. Nach 5 Minuten hab ich Excel beendet.
Wie kommt das denn? Gestern die alte Version ging doch so rasant...?
Grüße - Jörg
Anzeige
AW: ...das legt den Rechner lahm :-)
18.07.2009 14:58:09
ransi
HAllo
Wieviel andere Mappen hast du noch offen ?
Wenn du die schließt, ist es dann besser ?
ransi
ja, is besser...
18.07.2009 18:48:52
Jörg-HH
...jetzt sind innerhalb von Sekundenbruchteilen nicht nur 1800 Codezeilen erschienen, sondern 6500. In Spalten E+F hat er mir 23 Ausdrücke ausgeworfen und in den Spalten G+H 145. Die muß ich jetzt mal durchstöbern nach komischen Inhalten... Dank dir für den Schubs...
Das ist ja alles sehr beeindruckend. Oft ist es so: Wenn einer von euch hier was bastelt, dann verstehe ich den Code wenigstens im Nachhinein in groben Zügen. Aber in diesem Fall ist dermaßen viel (für mich) Neues dabei, daß ich kaumn was kapier. Fällt mir da grad ins Auge: Was bedeutet denn die -1 im Ausdruck If dlg.Show = -1 Then...
Gib mir doch mal 'ne ungefähre Vorstellung: Wie lange sitzt man als Excelprofi an so einer Lösung, und wie viele Jahre Erfahrung gehen dem voraus?
Grüße - Jörg
Anzeige
Kommentare
19.07.2009 10:00:40
ransi
HAllo Jörg
Gib mir doch mal 'ne ungefähre Vorstellung: Wie lange sitzt man als Excelprofi an so einer Lösung...
Keine Ahnung wie lange ein Profi daransitzt, bin keiner, von daher kann ich da auch nur raten.
Ich hab ca 1 stunde gebraucht. Allerdings ohne vernünftige Fehlerroutinen.
Die dauern erfahrungsgemäß immer am längsten.
Wenn der "Fahrplan" feststeht, ist soein Code recht schnell geschrieben.
Defekte oder nicht vorhandene Verweise können auch schuld sein das dein Code nicht rund läuft.
Hab die Überprüfung mal mit reingehäkelt.
Ausserdem das Ganze noch ein wenig kommentiert.
Option Explicit


Private Sub CommandButton1_Click()
Dim newApp As Application
Dim dlg As FileDialog
Dim c As Object 'As VBComponent
Dim wb(1 To 2) As Workbook
Dim L As Long 'Zähler
Dim Z As Long 'Zähler
Dim I As Integer 'Zähler
Dim str_Modul As String 'Code im CodeModul
Dim Arr As Variant 'Code gesplittet nach vbcrlf
Dim strLine As String 'Line
Dim Verweis As Object 'As Reference
Dim Dic1 As Object 'As Dictionary
Dim Dic2 As Object 'As Dictionary
Dim K 'As Dictionary.Key
Set Dic1 = CreateObject("Scripting.Dictionary")
Set Dic2 = CreateObject("Scripting.Dictionary")
Set newApp = CreateObject("Excel.Application")
With newApp
    .Visible = False
    .EnableEvents = False
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then 'Kein Abbrechen oder Schließkreuz
        Set wb(1) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    Set dlg = Application.FileDialog(msoFileDialogOpen)
    If dlg.Show = -1 Then
        Set wb(2) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
    End If
    For I = 1 To 2
        If wb(I).VBProject.Protection = False Then 'VBA_Projct ist ungeschützt
            Z = 0
            For Each Verweis In wb(I).VBProject.References 'vorhandene Verweise auslesen
                Z = Z + 1
                If I = 1 Then 'Für die erste Datei
                    Dic1(Verweis.Description) = Verweis.IsBroken 'Verweis ins Dictionary
                    Cells(Z, 1) = Verweis.Description 'Verweis ausgeben
                    Cells(Z, 2) = Verweis.IsBroken 'Schauen ob der Verweis ungültig ist
                    Else: 'Für die zweite Datei
                    Dic2(Verweis.Description) = Verweis.IsBroken
                    Cells(Z, 3) = Verweis.Description
                    Cells(Z, 4) = Verweis.IsBroken
                End If
            Next
            For Each c In wb(I).VBProject.VBComponents 'Schleife über jede VBComponent
                With c.CodeModule
                    If .countoflines > 0 Then 'Schauen ob da was drin steht
                        str_Modul = .Lines(1, .countoflines) 'der ganze Code im CodeModul
                        str_Modul = Replace(str_Modul, "_" & vbCrLf, "") 'Mit " _" getrennte Zeilen zusammnfügen
                        Arr = Split(str_Modul, vbCrLf) 'Den Code in Zeilen aufteilen
                        For L = LBound(Arr) To UBound(Arr) 'die einzelnen Zeilen abklappern
                            strLine = WorksheetFunction.Trim(Arr(L))
                            If strLine <> "" Then 'Schauen ob in der Zeile was drin steht
                                Select Case I 'Für die erste Datei
                                    Case 1
                                        Dic1(strLine) = c.Name 'Die Zeile in ein Dictionary aufnehmen
                                        Z = Z + 1
                                        Cells(Z, 1) = c.Name 'Das Modul in der die Zeile steht
                                        Cells(Z, 2) = strLine 'Die eigentliche Zeile
                                    Case 2 'Für die zweite Datei
                                        Dic2(strLine) = c.Name 'Die Zeile in ein Dictionary aufnehmen
                                        Z = Z + 1
                                        Cells(Z, 3) = c.Name
                                        Cells(Z, 4) = strLine
                                End Select
                            End If
                        Next
                    End If
                End With
            Next
            Else:
            MsgBox "Das VBA-Project ist geschützt." & vbCrLf & "Bitte den Schutz aufheben und nochmal starten."
            GoTo raus
        End If
    Next
End With
'Unterschiede rausarbeiten und listen
Z = 1
Cells(1, 5) = "in Datei 1 aber nicht in Datei 2"
Cells(1, 7) = "in Datei 2 aber nicht in Datei 1"
For Each K In Dic1.keys
    If Not Dic2.exists(K) Then
        Z = Z + 1
        Cells(Z, 5) = Dic1(K)
        Cells(Z, 6) = K
    End If
Next
Z = 1
For Each K In Dic2.keys
    If Not Dic1.exists(K) Then
        Z = Z + 1
        Cells(Z, 7) = Dic2(K)
        Cells(Z, 8) = K
    End If
Next
'Aufräumen
Do Until newApp.Workbooks.Count = 0
    DoEvents
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
Loop
newApp.Quit
Exit Sub
raus:
Do Until newApp.Workbooks.Count = 0
    DoEvents
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
Loop
newApp.Quit
End Sub


ransi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA-Code in verschiedenen Dateiversionen vergleichen


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Starte Excel und öffne den VBA-Editor mit ALT + F11.
  2. Neues Modul einfügen: Klicke mit der rechten Maustaste auf VBAProject, wähle Einfügen und dann Modul.
  3. Code einfügen: Kopiere den nachfolgenden VBA-Code in das Modul:
Option Explicit

Private Sub CommandButton1_Click()
    Dim newApp As Application
    Dim dlg As FileDialog
    Dim c As Object
    Dim wb(1 To 2) As Workbook
    Dim L As Long
    Dim Z As Long
    Dim I As Integer

    Set newApp = CreateObject("Excel.Application")
    With newApp
        .Visible = False
        .EnableEvents = False

        Set dlg = Application.FileDialog(msoFileDialogOpen)
        If dlg.Show = -1 Then
            Set wb(1) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
        End If

        Set dlg = Application.FileDialog(msoFileDialogOpen)
        If dlg.Show = -1 Then
            Set wb(2) = newApp.Workbooks.Open(dlg.SelectedItems(1))
        Else: GoTo raus
        End If

        For I = 1 To 2
            If wb(I).VBProject.Protection = False Then
                For Each c In wb(I).VBProject.VBComponents
                    With c.CodeModule
                        If .CountOfLines > 0 Then
                            For L = 1 To .CountOfLines
                                If Trim(Application.Clean(.Lines(L, 1))) <> "" Then
                                    Cells(Z + 1, I) = Trim(Application.Clean(.Lines(L, 1)))
                                    Z = Z + 1
                                End If
                            Next L
                        End If
                    End With
                Next c
            Else
                MsgBox "Das VBA-Project ist geschützt. Bitte den Schutz aufheben und nochmal starten."
            End If
        Next I
    End With

raus:
    If Not wb(1) Is Nothing Then wb(1).Close False
    If Not wb(2) Is Nothing Then wb(2).Close False
    newApp.Quit
End Sub
  1. Button erstellen: Füge einen Button in dein Excel-Blatt ein und verlinke ihn mit der CommandButton1_Click-Subroutine.
  2. Dateien auswählen: Klicke auf den Button, um die Dateien auszuwählen, die Du vergleichen möchtest.

Häufige Fehler und Lösungen

  • VBA-Projekt ist geschützt: Stelle sicher, dass die VBA-Projekte in beiden Excel-Dateien nicht geschützt sind. Dies kannst Du in den Eigenschaften der Datei überprüfen.
  • Leistungsprobleme: Wenn der Code zu langsam läuft, schließe andere geöffnete Excel-Dateien, um die Leistung zu verbessern.
  • Fehlende Referenzen: Achte darauf, dass alle benötigten VBA-Referenzen im Projekt vorhanden sind.

Alternative Methoden

  • Manuelles Vergleichen: Du kannst auch die Inhalte der VBA-Projekte manuell vergleichen, indem Du die Module in beiden Dateien öffnest. Dies ist jedoch zeitaufwändig und fehleranfällig.
  • Drittanbieter-Tools: Es gibt spezielle Software, um Quellcodes zu vergleichen und Unterschiede hervorzuheben. Diese Tools bieten oft erweiterte Funktionen, die in Excel nicht verfügbar sind.

Praktische Beispiele

  1. Code vergleichen zwischen Excel-Versionen: Wenn Du eine alte und eine neue Version einer Datei hast, kannst Du den oben genannten VBA-Code verwenden, um Unterschiede im Quellcode der VBA-Module zu erkennen.
  2. Mac-Dateien vergleichen: Für Mac-Nutzer kann der gleiche Code verwendet werden, solange beide Dateien in einer kompatiblen Excel-Version gespeichert sind.
  3. PDF vergleichen Mac: Es gibt auch Möglichkeiten, PDF-Dateien auf einem Mac zu vergleichen, aber dafür sind separate Programme erforderlich.

Tipps für Profis

  • Verwendung von Debugging-Tools: Nutze die Debugging-Funktionen in VBA, um Probleme im Code schneller zu identifizieren.
  • Versionskontrolle: Halte eine Versionshistorie Deiner Excel-Dateien, um bei Bedarf auf frühere Versionen zurückgreifen zu können.
  • Trim VBA verwenden: Verwende die Trim-Funktion, um überflüssige Leerzeichen in Deinem Code zu entfernen, was die Lesbarkeit verbessert.

FAQ: Häufige Fragen

1. Was bedeutet die -1 im Ausdruck If dlg.Show = -1 Then?

  • Der Wert -1 bedeutet, dass der Benutzer auf "Öffnen" gedrückt hat. Ein Wert von 0 würde bedeuten, dass der Dialog geschlossen wurde, ohne eine Datei auszuwählen.

2. Wie lange dauert es, so einen Code zu erstellen?

  • Es hängt von der Erfahrung ab, aber ein geübter Excel-Profi könnte mehrere Stunden benötigen, um einen soliden, fehlerfreien Code zu entwickeln.

3. Kann ich diesen Code auch auf einem Mac verwenden?

  • Ja, der Code ist auch für Excel auf Mac geeignet, solange Du die richtige VBA-Version hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige