PDA

Vollständige Version anzeigen : msgbox Buttons ansprechen


Venom
12.07.2004, 22:11
Hallo
Ich habe ein Userform das wenn es geschlossen wird einen bestimmten Teil des dokuments nimmt nd auf ein anderes Blatt kopiert
danach soll eine msgbox kommen die fragt ob ein ganz bestimmter Teil auf dem 2 Blatt gelöscht werden soll
Dies wollte ich so regeln das wenn der Benutzer den Button auf der msgbox anklickt dann die funktion ausgeführt wird oder wenn der Button Nein geklickt wird soll der Bereich gelöscht werden.

Ich habe den Code
If Opt_Ja = True Then
ActiveWindow.SmallScroll Down:=-9
Range("A1:O37").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=6
Range("A40").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=36
Range("E67").Select
MsgBox "Soll der 100% Test auf der 2. Seite angezeigt werden?", vbYesNo
If vbYes = True Then
Range("D4:D37").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=18
Range("D43").Select
ActiveWindow.SmallScroll Down:=-15
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=33
Range("E73").Select
Else
Range("D43:D76").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection.Interior
.ColorIndex = 2
.Pattern = xlSolid
End With
Selection.ClearContents
Range("F48").Select
End If Unload Me
frm_uebungen2.Show
Else
Sheets("Trainingsplan").Select
ActiveWindow.SmallScroll Down:=30
Range("A39:O117").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.ClearContents
Selection.Interior.ColorIndex = 2
Range("A1").Select
Unload Me
frm_abschluss.Show
End If

End Sub

Es geht mir um den roten Bereich!

Danke

jinx
13.07.2004, 04:44
<font size="2" face="Century Gothic">Moin, Venom,

Du musst den Rückgabewert der MsgBox an eine Variable übergeben und dann auswerten (Rückgabewert ist Integer), etwa in der Art:

Antwort = (MsgBox "Soll der 100% Test auf der 2. Seite angezeigt werden?", vbYesNo)
If Antwort = vbYes Then ...

Ähm... der Code des Makro-Rekorder ist eigentlich immer überarbeitungsbedürftig, die Anweisungen für den Bildlauf und die vieleln Select-Anweisungen sind unnötig (hier ein Ansatz für Excel97):

Range("A1:O37").Copy
Range("A40").PasteSpecial xlPasteValues
Application.CutCopyMode = False

obwohl ich da eigentlich eine Schleife und das direkte Ansprechen zur Entlastung der Zwischenablage verwenden würde...</font>

Hajo_Zi
13.07.2004, 04:47
Hallo Venom

welches Problem gibt es in dem Teil? Ich hätte es vielleicht ohne select gelöst.


If vbYes = True Then
Range("D4: D37").Copy Destination:=Range("D43")
Else
With Range("D43: D76")
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
With .Interior
.ColorIndex = 2
.Pattern = xlSolid
End With
.ClearContents
End With
End If

<img src="http://home.media-n.de/ziplies/images/grusz.gif" align="middle" height="40" alt="Grußformel">
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
<span style=" font-weight:bold;">Das Forum lebt auch von den R&uuml;ckmeldungen.</span>
Betriebssystem XP Pro SP1 und Excel Version 2003
<a href="http://home.media-n.de/ziplies/" target="_blank">
<img border="0" src="http://home.media-n.de/ziplies/images/logo_hajo.gif" align="middle" height="40" alt="Homepage"></a>
<span style=" font-family:Arial,Arial; font-size:14pt; font-weight:bold; color:#FF0000;">Sehr wichtig</span><br>
Das Forum ist auf der Seite<b> Besucher-Award</b> in der Rubrik <strong>Boards</strong> gelistet und nominiert.
Es liegt nun an<b> dir</b> ob unser Forum gut genug f&uuml;r die Nummer 1 ist.<br>
Bitte besuche die Abstimmseite und vote f&uuml;r uns.<br> <strong>Man kann alle 3 Stunden neu abstimmen.</strong>
Wir danken Euch sehr herzlich<br>
<a href="http://www.besucher-award.de/abstimmungen/boards.php" target="_blank" >
<img src="http://serve-u.de/phil/images/vote_anim.gif" width="141" height="56" border="0"></a>
Die Abstimmung läuft bis zum 31.07.2004