Hallo Sascha,
ich hab die Controls per Vba dezimieren können, schau halt ob
ich zuviel entfernt habe oder ob noch welche weg müssen, mach
das dann manuell. Sind jetzt 112 Controls auf Datenmaske.
Oh super… muss ja wahnsinnig umständlich gewesen sein!
geht so, gibt ja Vba das hilt gelegentlich
Damit hast Du praktisch alles drausse was unnütze ist…
Ich schau mal ob ich noch was finde…
Nachstehende Codes sind hilfreich dabei.
ControlsLoeschen listet auf einem neuen Blatt (kannste später löschen) alle Controls und ihre Positionen in der UF auf.
Koordinatensystem kennst du mit x,y *annehm*
Bei UFs ist 0,0 links oben in der Ecke.
Die Liste ist nach den Positionen sortiert, du seiehst ja ob noch welche übereinanderliegen, da kann wohl alles bis auf eine weg.
Wenn die Liste erstellt ist, dann mache ein x in F bei allen Objekten die weg müssen.
Dann sortiere die Spalten nach F, dann haste alle x-er als Block. Alles bis auf diesen Block löschst du.
Dann starte ControlsLoeschen
Das ist aber nur Fehlerkorrektur. Ursachenkorrektur mußte an dir vornehmen *lächel*
Löschen muß löschen sein, k.A. was du da gemacht hast.
Die UF Auswahl habe ich umgestellt.
Ja, das ist super. Vielen Dank
Du und der andere ihr müßt Shift drücken dann mit der linken
maus irgendwo auf die UF klicken (Da wo nix ist), dann kommt
die Passwortabfrage usw.
Das „X“ und „Konfiguration“ sind funktionslos.Tiptop. Gefällt mir sehr gut!!
Danke. Ich dacht mir das so, wenn da was ist zum Klicken werden auch leute draufklicken. So sehen sie nix zum Draufklicken und probieren’s erst gar nicht.
Da man aber grundsätzlich Usern alles zutrauen muß könnte man das noch verfeinern indem man auf die gleiche Weise mit Shift und linker maus auf das Feld in der UF klicken muß wo früher dein X ist.
Da ist dann ein Label oder irgendwas, der zwar visible an sich ist aber man sieht ihn nicht
Und wenn man da noch Shift zusammen mit RECHTER maustaste braucht zum Draufklicken wird es dann doch sehr unwahrscheinlich daß da einer per Zufall dies tut, abgesehen davon kommt danach ja noch die PW Abfrage.
Frage zu dem Mitternächtlichen Makro. Das habe ich soweit daß es funktioniert und jeden Morgen um 1 Sek nach Mitternacht losläuft.
Naja, theoretisch. Getestet habe ich das nicht.
Aber ich bin sehr sicher daß es funktionieren wird, habe es begutachten lassen *gg*
Kann es vorkommen daß zu dieser Zeit, also so der Bereich 1-2 Mintuen nach Mitternacht, jmd am PC sitzt der grad was eingibt oder ein anderes makro am laufen hat?
das ganze funktoioniert mit Application.OnTime. Kannst ja schonmal in F1 schauen was das ist.
Ggfs. muß ich da noch LatestTime oder wied as heißt als Parameter angeben.
Gruß
Reinhard
Option Explicit
Sub ControlsLoeschen()
Dim i As Integer
Dim oDic As Object
Set oDic = CreateObject("Scripting.Dictionary")
Dim strCode$
With ThisWorkbook.VBProject.VBComponents("Datenmaske")
strCode = .CodeModule.Lines(1, .CodeModule.CountOfLines)
With .designer.Controls
For i = .Count - 1 To 0 Step -1
If Application.CountIf(Columns(1), .Item(i).Name) \> 0 Then
.Remove .Item(i).Name
End If
Next i
End With
End With
End Sub
Sub ControlsKontrolle()
Dim i As Integer
Worksheets.Add after:=Worksheets(Worksheets.Count)
With ThisWorkbook.VBProject.VBComponents("Datenmaske")
With .designer.Controls
Range("A1:E1") = Split("Name left top width height")
For i = 0 To .Count - 1
Cells(i + 2, 1).Value = .Item(i).Name
Cells(i + 2, 2).Value = .Item(i).Left
Cells(i + 2, 3).Value = .Item(i).Top
Cells(i + 2, 4).Value = .Item(i).Width
Cells(i + 2, 5).Value = .Item(i).Height
Next i
End With
End With
Columns("A:E").Sort Key1:=Range("E2"), Order1:=xlAscending, Key2:=Range("D2") \_
, Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, Header:= \_
xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("A:E").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes, \_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("A:E").Columns.AutoFit
End Sub