Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
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
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem beim Öffnen einer UF aus einer UF heraus?

Problem beim Öffnen einer UF aus einer UF heraus?
13.12.2005 08:52:44
Oliver
Hallo an alle,
ich habe da ein Problem, hinter deren Lösung ich nicht komme. Ich öffne aus einer UserForm (Betragseingabe) heraus eine weitere UserForm (Ziffernblock). Mein Problem liegt nun darin, dass ich immer noch die UserForm (Betragseingabe), aus der die neue UserForm (Ziffernblock) geöffnet wurde, immer noch im Hintergrund angezeigt wird, obwohl diese eigentlich durch den Befehl „Unload Betragseingabe“ geschlossen wurde. Wenn ich dann die UserForm „Ziffernblock“ schließe um wieder in die UserForm „Betragseingabe“ zu gelangen, habe ich das genau umgekehrt. Also die UserForm „Ziffernblock“ schließt nicht, sondern wird im Hintergrund noch angezeigt. Nachfolgend mal beide VBA Code, wie ich die UserFormen öffne.
Button in UserForm „Betragseingabe“ um UserForm „Ziffernblock“ zu öffnen:

Private Sub CommandButton3_Click()
Ziffernblock.TextBox1.Text = Betragseingabe.TextBox1.Text
Sheets("Stammdaten").Range("P2") = Betragseingabe.ComboBox1.Text
Unload Betragseingabe
Ziffernblock.Show
End Sub

Button in UserForm „Ziffernblock“ um UserForm „Betragseingabe“ zu öffnen:

Private Sub CommandButton1_Click()
Betragseingabe.ComboBox1.Text = Sheets("Stammdaten").Range("P2")
Sheets("Stammdaten").Range("P2").ClearContents
Betragseingabe.TextBox1.Text = Ziffernblock.TextBox1.Text
Betragseingabe.Show
Unload Ziffernblock
End Sub

Mache ich mit den obigen Codes irgend etwas falsch oder geht das gar nicht, was ich vorhabe, da es ein normales Verhalten der UserFormen ist? Nachfolgend auch noch der Code, mit dem die UserForm „Betragseingabe“ geöffnet wird, eventuell liegt es ja daran.
Sub Betragseingabe_öffnen()
Dim Wiederholungen As Integer, Jahr As String, Spalte As Integer
If Worksheets.Count > 3 Then
If Worksheets.Count > 1 Then
'Application.ScreenUpdating = False
Datenblätter_ausblenden
SpalteM = Sheets("Stammdaten").Range("M65536").End(xlUp).Row
If Sheets("Stammdaten").Cells(SpalteM, 13) = CDate(Format(Now, "dd.mm.yyyy")) Then GoTo Weiter
Abfrage = MsgBox("Die Datumsprüfung eines bestehenden Marktes, hat eine Änderung im Datum ergeben. Handelt es sich um einen neuen Markttag eines " & _
"bereits angelegten Marktes oder soll ein neuer Markt angelegt werden? Wenn es sich um einen neuen Markt handelt " & _
", dann bitte den " & Chr(34) & "Ja - Button" & Chr(34) & " betätigen. Handelt es sich um einen neuen Marktag eines" & _
" bereits angelegeten Markts, dann betätigen Sie den " & Chr(34) & "Nein - Button" & Chr(34) & ".", vbYesNo, "Abfrage")
If Abfrage = 6 Then
If Worksheets.Count = 4 Then
'############ Gesamtbetrag in Jahresübersicht übertragen ############################
Frage1 = MsgBox("Es wurden noch nicht verbuchte Markteinnahmen eines bereits angelegten Marktes gefunden. Sollen diese Einnahmen " & _
"an die dafür vorgesehene Stelle in der Jahresübersicht übertragen werden?", vbInformation + vbYesNo, "Frage")
If Frage1 = vbYes Then
letzte_Spalte = Sheets("Gesamtübersicht Markteinnahmen").Range("IV2").End(xlToLeft).Column
Jahr = Format(Now, "yyyy")
For Wiederholungen = 2 To Sheets("Gesamtübersicht Markteinnahmen").Range("IV2").End(xlToLeft).Column
If Sheets("Gesamtübersicht Markteinnahmen").Cells(2, Wiederholungen) = Jahr Then
Spalte = Wiederholungen
End If
Next
For Wiederholungen = 2 To Sheets("Gesamtübersicht Markteinnahmen").Range("A65536").End(xlUp).Row
If Sheets("Gesamtübersicht Markteinnahmen").Cells(Wiederholungen, 1) = Sheets("Stammdaten").Range("K2") Then
Sheets("Gesamtübersicht Markteinnahmen").Cells(Wiederholungen, Spalte) = Sheets("Stammdaten").Range("C2")
End If
Next
End If
'############ vorhandenes Datenblatt exprtieren ############################
Frage1 = MsgBox("Es wurden noch Daten eines bereits angelegten Marktes gefunden. Sollen diese Daten " & _
"in eine separate Datei exportiert werden?", vbInformation + vbYesNo, "Frage")
If Frage1 = vbYes Then
Pfad = ActiveWorkbook.Path
For Wiederholungen = Worksheets.Count To 1 Step -1
If Sheets(Wiederholungen).Name = "Stammdaten" Or _
Sheets(Wiederholungen).Name = "Deckblatt" Or Sheets(Wiederholungen).Name = "Gesamtübersicht Markteinnahmen" Then
Else
'Application.ScreenUpdating = False
Jahr = Format(Now, "yyyy")
Dateiname = ActiveWorkbook.Name
Neuer_Dateiname = Sheets(Wiederholungen).Cells(1, 1) & " " & Jahr & ".xls"
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Pfad & "\" & Neuer_Dateiname
Workbooks(Dateiname).Sheets(Wiederholungen).Cells.Copy _
Workbooks(Neuer_Dateiname).Sheets(1).Cells(1, 1)
ActiveWorkbook.Save
ActiveWindow.Close
End If
Next
End If
End If
Sheets("Stammdaten").Range("B2:D11").ClearContents
Sheets("Stammdaten").Range("E2").ClearContents
Sheets("Stammdaten").Range("M2:M5").ClearContents
For Wiederholungen = Worksheets.Count To 1 Step -1
If Sheets(Wiederholungen).Name = "Stammdaten" Or _
Sheets(Wiederholungen).Name = "Deckblatt" Or Sheets(Wiederholungen).Name = "Gesamtübersicht Markteinnahmen" Then
Else
Application.DisplayAlerts = False
Sheets(Wiederholungen).Delete
Application.DisplayAlerts = True
End If
Next
Teilnehmeranzahl.Show
Exit Sub
End If
If Abfrage = 7 Then
Sheets("Stammdaten").Cells(Sheets("Stammdaten").Range("M65536").End(xlUp).Offset(1, 0).Row, 13) = CDate(Format(Now, "dd.mm.yyyy"))
Betragseingabe.Show
Exit Sub
End If
Weiter:
Betragseingabe.Show
End If
Else
MsgBox "Es besteht kein Datenblatt, in dem ein Betrag eingegeben werden kann. Bitte legen Sie in dem Menüpunkt " _
& Chr(34) & "Menü" & Chr(34) & " über die entsprechende Menü-Schaltfläche einen neuen Markt an.", vbInformation, "Meldung"
End If
End Sub
Ich hoffe auf Eure Hilfe, denn ich probiere schon eine ganze Weile an den beiden UserFormen herum ohne sichtbaren Erfolg.
Danke schon mal im Voraus,
Oliver S.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Habe den Fehler gefunden!
13.12.2005 10:00:46
Oliver
Hallo an alle,
nach langem suchen bin ich nun doch von alleine drauf gekommen. In dem Makro „Datenblätter_ausblenden“, welches ja in dem von mir aufgeführten Makro ebenfalls gestartet wird, hatte ich vergessen mit dem Befehl „Application.ScreenUpdating = True“, die Bildschirmaktualisierung wieder einzuschalten. Im Normalfall geht das ja am Ende eines Makros von alleine, scheinbar aber nicht bei meiner Konstellation. Aber egal, jetzt funktioniert es jedenfalls.
Danke an alle, die sich eventuell den Kopf zerbrochen haben, woran es liegen könnte.
Gruß,
Oliver
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige