Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

error07464_01

error07464_01
07.10.2021 10:39:44
Rainer
Guten Tag,
ich habe mir ein etwas umfangreicheres Programm für die private Buchhaltung und Aktenordnung gebastelt. Immer wenn ich ein bestimmtes Arbeitsblatt geöffnet hatte erhalte ich beim darauf folgenden Öffnen der Arbeitsmappe („Awaldi.xlsm“) eine Fehlermeldung.
https://www.herber.de/bbs/user/148484.xlsx
Wenn ich die Meldung schließe kann ich ganz normal mit dem Programm arbeiten. Excel hat die Datei lediglich in „Awaldi[Repariert]“ umbenannt bzw. kopiert.
Ich speichere dann immer die reparierte Datei unter dem Namen des Originals und alles läuft wie gewünscht. Daten wurden dabei nicht geändert oder gelöscht.
Aber es nervt halt. Ich kann die Ursache der Fehlermeldung nicht finden. Es würde mich sehr freuen, wenn mir ein VBA-Profi den entscheidenden Tipp geben könnte. Vielen Dank schon mal.
Liebe Grüße Rainer.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: error07464_01
07.10.2021 11:11:46
peterk
Hallo
Schreibst Du mit einem Makro Sortierkriterien oder Gültigkeitskriterien?
Peter
AW: error07464_01
07.10.2021 12:31:04
Rainer
Hallo Peter,
danke erstmal für die schnelle Antwort. Aber sorry, was mit Sortierkriterien versus Gültigkeitskriterien an dieser Stelle gemeint ist, hab ich nicht verstanden. Beim Öffnen der UserForm "UFoA" werden routinemäßig verschiedene ComboBoxen und ander Steuerelement mit Daten gefüllt. Unter anderem auch die Listbox "LiBoA". Zuvor werden die Daten, die in die Listbox geladen werden sollen, sortiert. Da beim Arbeiten im gesamten Projekt immer mal wieder Datensätze sortiert werden müssen habe ich eine einzige Sub, die nur sortiert und die ich von jeder Prozedur im Projekt aufrufen kann, konstruiert. Die Sub "Sortieren" läuft problemlos und stabil. Hier mal die Prozedur, die "Sortieren" aufruft ...

Private Sub LiBoA_füllen()
Dim bytSortUpDown As Byte
Dim firstZ As Integer
Dim lastZ As Integer
Dim lngKlientNr As Long
Dim lngOppoNr As Integer
Dim nS As Byte
Dim Produkt As String
Dim S1 As Byte
Dim S2 As Byte
Dim strKlientFolderNam As String
Dim strOppoNam As String
Dim strOppoFileNam As String
UFoA.LiBoA.Clear
n = 0
bytSortUpDown = 11
firstZ = 5
WS = 2
With ThisWorkbook.Sheets(WS)
nS = .UsedRange.Columns.Count
lastZ = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
End With
S1 = 3
S2 = 3
Application.ScreenUpdating = False
Call Sortieren(bytSortUpDown, firstZ, lastZ, nS, S1, S2, WS)
With ThisWorkbook.Sheets(WS)
For Z = 5 To .UsedRange.Rows.Count
If .Cells(Z, 1) = "" Then Exit For
If Mid(.Cells(Z, 1), 1, 2) = bytKlientNr Then
lngOppoNr = .Cells(Z, 1)
Produkt = .Cells(Z, 5)
strOppoNam = .Cells(Z, 2)
strOppoFileNam = .Cells(Z, 3)
With UFoA.LiBoA
.AddItem ""
.List(n, 0) = Z
.List(n, 1) = lngOppoNr
.List(n, 2) = strOppoNam
.List(n, 3) = Produkt
.List(n, 4) = strOppoFileNam
n = n + 1
End With
End If
Next Z
.Activate
.Range("A5").Select
End With
With ThisWorkbook.Sheets(1)
.Activate
.Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub
und hier die hier die Sub, die das eigentliche Sortieren durchführt.

Public Sub Sortieren(bytSortUpDown, firstZ, lastZ, nS, S1, S2, WS)
Dim WksObj As Worksheet
Set WksObj = Worksheets(WS)
If nS = 0 Then nS = WksObj.UsedRange.Columns.Count
If lastZ = 0 Then lastZ = WksObj.Cells(Rows.Count, 1).End(xlUp).Row
With WksObj
.Sort.SortFields.Clear
If Left(bytSortUpDown, 1) = 1 Then .Sort.SortFields.Add Key:=Range(Cells(firstZ, S1), Cells(lastZ, S1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
If Left(bytSortUpDown, 1) = 2 Then .Sort.SortFields.Add Key:=Range(Cells(firstZ, S1), Cells(lastZ, S1)), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
If Right(bytSortUpDown, 1) = 1 Then .Sort.SortFields.Add Key:=Range(Cells(firstZ, S2), Cells(lastZ, S2)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
If Right(bytSortUpDown, 1) = 2 Then .Sort.SortFields.Add Key:=Range(Cells(firstZ, S2), Cells(lastZ, S2)), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With .Sort
.SetRange Range(Cells(firstZ, 1), Cells(lastZ, nS))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Set WksObj = Nothing
End Sub
"Sortieren" setze ich auch bei andern Projekten ein und überall läuft diese Sub problemlos. Ich vermute, dass sich da zwei Vorgänge irgendwie gegenseitig stören. Nur bin ich noch nicht dahinter gestiegen was genau. Manchmal ist man ja auch Betriebsblind und ein Außenstehender sieht den Fehler sofort. Das jedenfalls ist meine Hoffnung in dieser Sache.
Liebe Grüße Rainer.
Anzeige
AW: error07464_01
09.10.2021 11:04:39
Piet
Hallo
ich kann dir einen Hinweis geben, suchen must du bitte selbst. In deinem Beispiel waren keine UserFormen und keine Makros.
Ein Schnelltest mit deinem Makro gab einen Fehler in der Zeile Apply Laut Internet zuständig für Range Bereich Zuordnungen. Internet Beispiel:
Key:=Range("I4:I11"9 .SetRange Range("J4:L18") Key und SetRange stimmten nicht überein. Prüfe bitte dein Programm ob das bei dir auch zutrifft?
Mehr kann ich nicht tun, das Programm ist mir zu umfacngreich um jedes Detail zu testen!
mfg Piet
AW: error07464_01
09.10.2021 11:35:05
Piet
Hallo Rainer Nachtrag
solche versteckten Fehler sind sehr tückischund können einen nerven. Ich habe mir in 25 Jahren Programmieren angerwöhnt sie aus Prinzip zu finden!!
Baue dir in die Sortierroutine eine Msgbox ein und schaue dir die übergebenen Daten genau an. Im Zweifelsfall Selektiere mit Range.Select jede einzelne Adresse und setze zum Makro Stopp ein "End" dahinter, oder einen Break, um das Programm genau an dieser Stelle zu stoppen. Dann kannst du optisch sehen was falsch läuft. Kann einige Zeit dauern, aber wenn du den Fehler entdeckst hast schlägst du dich sicher an den Kopf, weil er so einfach war!
Viel Glück bei der Suche.
mfg Piet
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige