Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
472to476
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
472to476
472to476
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
UserForm in makro einbinden
20.08.2004 09:39:48
Gregor
Hallo zusammen
Ich habe eine Tabelle mit verschiedenen Spalten, ua. Min und Max. Beim Ablauf eines Markors soll der Benutzer den Wert der Spalte Min oder Max auswählen können. Dazu habe ich eine UserForm mit zwei Button Min und Max erstellt.
Mit "UserForm1.show" wird diese angezeigt. Der Benutzer wählt jetzt Min oder Max.
Die Auswahl Min soll die Spalte 21 definieren, die Auswahl Max die Spalte 22. Die gewählte Auswahl will ich als Konstante "MinMax" im Makro weiterverwenden.
zB:
Länge = Worksheets("Tabelle1").Cells(5, MinMax).Value
usw.
Wie muss ich diese Auswahl via UserForm einbinden?
Gruss und vielen Dank
Gregor

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm in makro einbinden
Michael
Hallo Gregor
Ich bin mir jetzt ned sicher ob ich das richtig verstanden hab aber cih glaub so gehts:
klick doppelt auf den jeweiligen button und dort kannst dan programmieren was passieren soll wenn er z.b. min gedrückt hat du kannst auch noch am anfang schrieben userform1.hide damit man die userfor nicht mehr sieht ;)
mfg Michael
AW: UserForm in makro einbinden
Gregor
Michal
Vielen Dank, ich komme aber nicht ganz weiter. Habe nun folgende Makros:
Unter Module
------------
Sub Shapes_Längen_markieren()
Dim intLastRow As Variant
Dim intcounter As Variant
Dim n As Variant
Dim Länge As Integer
Dim MinMax As String
UserForm1.Show (--> Benutzer trifft Auswahl mit Button, Makros siehe unten)
Worksheets(1).Activate
intLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For intcounter = 3 To intLastRow
n = Worksheets(1).Cells(intcounter, 2).Value
Länge = Worksheets(1).Cells(intcounter, MinMax).Value
Worksheets(2).Select
ActiveSheet.Shapes(n).Select
Select Case Länge
Case Is >= 0
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 57 'Meeresgrün
Case Is >= 50
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 3 'Grelles Grün
Case Is >= 100
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 54 'Blaugrau
Case Else
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 5 'Gelb
End Select
Next intcounter
SendKeys ("{ESC}")
usw.
Unter Formulare
---------------

Private Sub CommandButton1_Click()
UserForm1.Hide
MinMax = 21
End Sub


Private Sub CommandButton2_Click()
UserForm.Hide
MinMax = 22
End Sub

Problem: Die Variable MinMax enthält nach diesem Vorgehen den Wert "", also Leer, statt 21 oder 22.
Was mache ich falsch?
Danke und Gruss
Gregor
Anzeige
AW: UserForm in makro einbinden
Michael
Den Teil im Modul unter dem Userform1.show
kopier in die zwei button ereignissen also das dan wei folgt aussieht:
Modul:
Sub Shapes_Längen_markieren()
UserForm1.Show (--> Benutzer trifft Auswahl mit Button, Makros siehe unten)
End Sub
Formulare:

Private Sub CommandButton1_Click()
UserForm1.Hide
MinMax = 21
Worksheets(1).Activate
intLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For intcounter = 3 To intLastRow
n = Worksheets(1).Cells(intcounter, 2).Value
Länge = Worksheets(1).Cells(intcounter, MinMax).Value
Worksheets(2).Select
ActiveSheet.Shapes(n).Select
Select Case Länge
Case Is >= 0
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 57 'Meeresgrün
Case Is >= 50
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 3 'Grelles Grün
Case Is >= 100
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 54 'Blaugrau
Case Else
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 5 'Gelb
End Select
Next intcounter
SendKeys ("{ESC}")
usw.
End Sub


Private Sub CommandButton2_Click()
UserForm.Hide
MinMax = 22
Worksheets(1).Activate
intLastRow = Cells(Rows.Count, 2).End(xlUp).Row
For intcounter = 3 To intLastRow
n = Worksheets(1).Cells(intcounter, 2).Value
Länge = Worksheets(1).Cells(intcounter, MinMax).Value
Worksheets(2).Select
ActiveSheet.Shapes(n).Select
Select Case Länge
Case Is >= 0
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 57 'Meeresgrün
Case Is >= 50
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 3 'Grelles Grün
Case Is >= 100
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 54 'Blaugrau
Case Else
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 5 'Gelb
End Select
Next intcounter
SendKeys ("{ESC}")
usw.
End Sub

Dann müssts eigentlich funktionieren
mfg Michael
Anzeige
AW: UserForm in makro einbinden
20.08.2004 14:29:06
Gregor
Michael
Vielen Dank, so funktioniert es. Ich habe wirklich gedacht, man müsse wieder in die Prozedur im Modul zurückkehren.
Kannst du mir noch sagen, wie man defaultmässig immer den ersten Button aktiviert, ich habe das unter Hilfe nicht gefunden? Und zwar bei Msg Box wie bei UserForm.
Danke
Gregor
AW: UserForm in makro einbinden
Michael
Bitte
Also bei der form manchst du das folgender maßen:
1)Form öffnen
2)Rechtsklicken und "Aktivierreihenfolge" auswählen
3)dort den button der standartmäßig markiert sien soll an erste reihe stellen ;)
bei ein msgbox geht das glaub ich ned aber du kannst ja mal suchen under msgbox aktivierreihenfolge
mfg Michael
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige