Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

Grunsätliches zur Userform

Grunsätliches zur Userform
23.09.2023 23:01:12
Luna
Hallo ins Forum,
ich habe mir mit meinen doch sehr limitierten VBA Kentnissen, mit viel Mühe durch Recherche, Videos, lesen im Internet und Hilfestellugen hier im Forum für die Arbeit eine Userform erstellt die mir, meiner Meinung nach, auch wirklich gut gelungen ist.
Userbild
Dazu hätte ich aber ein paar Fragen.
1. Die UF habe ich zu Hause auf dem Laptop programmiert, wenn ich sie jetzt aber auf dem 2. Bildschirm öffne sind die Listboxen total verschoben und auch die Größe passt nicht mehr. Schiebe ich sie wieder auf den Laptop ist alles ok. Kann ich das irgendwie einstellen?
2. Wenn ich die UF jetzt auf dem Rechner in der Arbeit öffne habe ich das gleiche Problem. Wie verhindert ihr das? Oder muss ich das alles nochmal machen auf dem Rechner in der Arbeit?
3. Beim programmieren der UF hat sich auch immer wieder, selbstständig die Größe der UF geändert. Nach z.B. einfügen von neuen Textboxen etc. musste ich die UF immer wieder neu anpassen und sie größer ziehen. Ist das so oder was mache ich da falsch?
Ich wäre also dankbar wenn ihr mir da Tipps geben könntet wie ich so etwas vermeiden kann oder wie man es besser macht. Vor allen Dingen das Problem mit den verschiedenen Bildschirmen oder Rechnern/Laptops.
Vielen Dank an alle die ihre Erfahrungen teilen
Saludos Luna

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grunsätliches zur Userform
23.09.2023 23:52:09
Luna
Ein kurzer Nachtrag. Am schlimmsten ist es mit der UF wenn ich am Laptop "Projizieren" auswähle und dann "Erweitern". Da ist alles durcheinander und manchmal ist die UF zu einem Teil auf dem Erweiterten Bildschirm und der Rest auf dem Laptop. Ich hoffe da auf Tipps und Tricks eurerseits.
Saludos nochmal Luna
AW: Grunsätliches zur Userform
24.09.2023 11:03:27
snb
Ohne den Code zu kennen wird das nix.
AW: Grunsätliches zur Userform
24.09.2023 13:18:12
Luna
Hola snb,
welchen Code möchtest du. Direkt für die Userform habe ich nichts. Nur für die Listboxen und Textboxen habe ich Code. Ich nutze nur in der Woorkbook Open Anweisung das "UserForm1.Show False". Mehr nicht. Es geht mir vordergründig noch nicht einmal um Code, der natürlich trotzdem sehr hilfreich wäre, sondern darum wie man grundsätzlich ein Userform aufbaut. Welche Einstellungen sollte man setzen? Sollte man immer eine Postionierung der UF programmieren? Ich habe sie nämlich nicht. Und wie beschrieben sind meine Kentnisse im VBA Bereich bescheiden.
Saludos Luna
Anzeige
AW: Grunsätliches zur Userform
24.09.2023 14:55:48
Alwin Weisangler
Hallo Luna,

ein Userform hat standardmäßig eine weiße Kopfzeile. Deine ist aber in einen weinroten Farbton angelegt. Das geht nur über Programmierung (Manipulation via API) so zu ändern.
Es sei denn das Bild, welches du hochgeladen hast ist geschnitten.
Eine weitere Möglichkeit, wäre, dass die Datei bereits einen Knacks abbekommen hat.
Lade doch einfach anonymisiert die Datei mit der kompletten Programmierung hoch, damit man feststellen kann, woran es liegt.
so ist es derzeit nur Raterei.

Gruß Uwe
AW: Grunsätliches zur Userform
24.09.2023 17:12:15
Luna
Hola Alwin und an alle anderen die sich angesprochen fühlen lade ich die Datei mal hoch.
Ich hoffe ihr könnt damit etwas anfangen.
https://www.herber.de/bbs/user/163081.xlsm
aber ich wollte eigentlich gar nicht soviel Mühen hervorrufen. Und seid bitte nicht zu streng mit mir da ich wie beschrieben ein Laie in VBA bin und mir alles mühsam zusammengesucht/gebaut habe. Die Pfade zu den Bildern habe ich als Constante. Bei Doppelklick auf den Pafd öffnet sich dann das Bild.
Vielen Dank an alle die sich die Mühe machen
Saludos Luna
Für weitere Fragen bin ich immer da. Nur bitte seid nicht böse wenn ich nicht schnell antworte da wir in Costa Rica 8 Stunden zurück sind.
Anzeige
AW: Grunsätliches zur Userform
24.09.2023 20:56:51
Alwin Weisangler
Hallo Luna,

Lösche Image1 und füge ein neues Image1 wieder ein. Beim Test der PictureSizeMode war keine Reaktion mehr zwischen den 3 Einstellungen. Es sieht so aus, als ob das ImageControl nicht mehr korrekt funktioniert.
Dann Verwende bei Klickereignissen entweder _Change oder _Click oder _DblClick.
Wenn es unbedingt 2 sein müssen dann in Kombination mit _MouseDown und stelle da Button=1 (linke Maustaste) oder Button=2 (rechte Maustaste):


if Button=1 then
dein Code...
end if

Damit verhinderst du ungewollte/unnötige Auslösung im Zusammenhang mit Doppelklick.
Den Code kann man auch vereinfachen - mal nur eine Prozedur daraus:


Private Sub ListBox3_Click()
'Set Image1.Picture = Nothing
With Daten
.Range("A2").Value = ListBox3.List(ListBox3.ListIndex)
TextBox1.Text = .Range("B2").Value
TextBox2.Text = .Range("D2").Value
TextBox3.Text = .Range("C2").Value
TextBox4.Text = .Range("E2").Value
TextBox5.Text = .Range("A2").Value
End With
If Dir(Pfad & TextBox1 & ".JPG") > "" Then
Image1.Picture = LoadPicture(Pfad & TextBox1 & ".JPG")
Else
Image1.Picture = LoadPicture(Pfad & "0.JPG")
End If

End Sub

Variablen mit as Single macht auch wenig Sinn bei den heutigen Rechnern. Nimm statt dessen Double - also so:


Dim sngTop%, sngLeft%
Me.StartUpPosition = 0
sngLeft = Application.Left + Application.Width / 2 - Me.Width / 2
sngTop = Application.Top + Application.Height / 2 - Me.Height / 2.1

Me.Left = sngLeft
Me.Top = sngTop

Da mir zum Testen die Grafiken fehlen, kann ich Diese als weitere mögliche Fehlerquelle (Auflösungsgröße etc.) nicht ausschließen.

Gruß Uwe
Anzeige
AW: Grunsätliches zur Userform
24.09.2023 21:43:02
Luna
Hola Uwe,
vielen Dank für deine Mühe. Habe das umgesetzt was du geschrieben hast und es sieht alles gut aus. Besten Dank dafür.
Da ich wie beschrieben Laie in diesem Metier bin verstehe ich nur nicht was du mit diesem Teil sagen willst.

"Dann Verwende bei Klickereignissen entweder _Change oder _Click oder _DblClick.
Wenn es unbedingt 2 sein müssen dann in Kombination mit _MouseDown und stelle da Button=1 (linke Maustaste) oder Button=2 (rechte Maustaste):
if Button=1 then
dein Code...
end if"

Ich nutze ja nur diese Arten von Ereignissen.
Aber alles Gut. Ich komme Schritt für Schritt weiter. Soviel hattest du ja nicht zu verbessern 😊
Saludos und Danke nochmal
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige