Laufzeitfehler 1004 OLE Object
16.08.2021 07:17:57
Sebastian
ich hab leider ein kleines aber nerviges Problem
Ich hab eine große Arbeitsmappe mit mehrern Aktiv X Steuerelemensten programmmiert. Diese Arbeitsmappe muss von mehrern Nutzern gleichzeitig bearbeitet werden.
Dies funktioniert auch ohne Probleme. Das nervige Problem hab ich mit den Steuerelementen (glaub ich).
Bei der vorherigen Version der Arbeitsmappe haben sich die Positionen, Größe und Schriften der Steuerelemete immer wieder bei den Usern geändert. Um dieses in Zukunft zu vermieden, hab ich in der neuen Version ein Modul geschrieben, sodass die Buttons immer an der selben Stelle, Größe und Schriftart bleiben. Auch dies Funktioniert, solang ich der einzige User bin.
Gebe ich jedoch die Mappe für mehrere Nutzer frei, kommt folgende Fehlermeldung:
Laufzeitfehler 1004:
Die Top-Eigenschaft des OLEObject-Objektes kann nicht festgesetzt werden.
Leider kann ich die Mappe nicht hochladen, da diese zu groß ist.
Anbei das Makro auf den ich den Fehler zurückführe:
Makro hinter dem Button
Ansicht Leitstand
Private Sub AnsichtLS_Click()
Range("A4").Select
ActiveWindow.FreezePanes = True
Range("A:AJ").EntireColumn.Hidden = False
Range("I:I").EntireColumn.Hidden = True
Range("K:K").EntireColumn.Hidden = True
Range("O:T").EntireColumn.Hidden = True
Range("Y:AI").EntireColumn.Hidden = True
AutoFilterEinschalten1
Call Buttonfixierung
End Sub
'Makro hinter AutoFilterEinschalten1 --> in einem Modul hinterlegt
Sub AutoFilterEinschalten1()
With Steuerung
If Not .AutoFilterMode Then .Rows(3).AutoFilter
Cells.EntireRow.Hidden = False
If IsEmpty([A4]) Then
[A4].Select
Else
[A4].End(xlDown).Offset(1).Activate 'Erste leere Zelle der Spalte A aktivieren
'Die letzten 2 Einträge anzeigen und Bildschirm rollen :
If ActiveCell.Row > 2 Then ActiveWindow.ScrollRow = ActiveCell.Row - 15
End If
Cells.EntireRow.Hidden = False
End With
End Sub
Makro hinter Buttonfixierung --> Modul
Sub Buttonfixierung()
'Buttons fixieren
With Steuerung
'Ansichtsbuttons
With .AnsichtLS
.Top = 40: .Left = 7.5
.Width = 129.75: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
With .AnsichtSL
.Top = 75: .Left = 7.5
.Width = 129.75: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
With .AnsichtVoll
.Top = 109.5: .Left = 7.5
.Width = 129.75: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Info Eingänge
With .Info_geplante_Eingänge
.Top = 75: .Left = 170
.Width = 129.75: .Height = 60
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Datenerfassung
With .Datenerfassung1
.Top = 40: .Left = 330
.Width = 199.8: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Schleusenübernahme
With .Schleusenübernahme
.Top = 75: .Left = 330
.Width = 199.8: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Zeitstempel
With .Zeitstempel
.Top = 75: .Left = 590
.Width = 345: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Clear
With .Clear
.Top = 109.5: .Left = 590
.Width = 345: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Tagesabschluss
With .Tagesabschluss
.Top = 40: .Left = 590
.Width = 345: .Height = 30
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
End With
With Produktionsanpassung
'Ansichtsbutton
With .Ansicht2
.Top = 125: .Left = 7.5
.Width = 150: .Height = 40
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Zeitstempel
With .Zeitstempel2
.Top = 125: .Left = 250
.Width = 502: .Height = 40
.Font.Name = "Arial"
.Font.Size = 16
.Font.Bold = True
End With
'Datum
With .Datum
.Top = 175.5: .Left = 4.5
.Width = 79.5: .Height = 33
.Font.Name = "Arial"
.Font.Size = 14
End With
'User
With .User
.Top = 175.5: .Left = 836.25
.Width = 79.5: .Height = 33
.Font.Name = "Arial"
.Font.Size = 14
End With
'Kostenstelle
With .Kostenstellen
.Top = 125.5: .Left = 761
.Width = 166: .Height = 39.75
.Font.Name = "Arial"
.Font.Size = 14
End With
End With
End Sub
Ich hoffe mir kann jemand helfen.Vielen Dank