Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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
Per VBA Workbook in den Vordergrund holen
08.10.2015 10:45:44
Kai
Liebe Forumsgemeinde,
das ist mein erster Beitrag; ich bitte bei groben Fehlern um Nachsicht und Hilfe.
Ich versuche gerade folgendes:
Ich habe eine Arbeitsmappe mit einem leeren Tabellenblatt und rufe per Makro eine userform auf. _
Über diese userform wird eine zweite Arbeitsmappe über

Set oFileDialog = Application.FileDialog(msoFileDialogOpen)

geöffnet und über die Auswahl von verschiedenen Buttons manipuliert. Mit einem Button-Klick soll die userform ausgeblendet und die zweite geöffnete Arbeitsmappe zu direkten Eingabe in den Vordergrund geholt werden. Gerade das klappt aber nicht. Es ist immer die Arbeitsmappe, aus der heraus ich das Makro starte, im Vordergrund.
Folgende Versuche brachten Fehler bzw. gar keinen Effekt:
Private Sub btn_LV_Click()
Dim LastRow As Integer
LastRow = 3
If AktWorkbook Is Nothing Then
MsgBox ("Bitte zuerst Auftrag laden/erzeugen")
Exit Sub
Else
AktWorkbook.Worksheets("LV").Activate
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(LastRow + 1, 1).Select
'AktWorkbook.Activate => kein Effekt
'Windows(AktWorkbook.Name).WindowState = xlMaximized => Kein Effekt
'AppActivate AktWorkbook.Name => Fehlermeldung
'AppActivate Application.Caption => Fehlermeldung
Me.Hide
End If
End Sub
Hat jemand eine Idee, wie ich das hinbekomme?
Vielen Dank im Voraus
Kai

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Workbook in den Vordergrund holen
08.10.2015 11:05:57
Tino
Hallo,
wo und wie wird AktWorkbook eine Excelmappe zugewiesen?
Evtl. ist es ja die falsche!
Gruß Tino

AW: Per VBA Workbook in den Vordergrund holen
08.10.2015 11:35:48
Kai
Hallo Tino,
AktWorkbook ist deklariert als
Public AktWorkbook as Workbook und wird über:
Private Sub btn_load_Auftrag_Click()
'Hier die Möglichkeit, einen Auftrag für die weitere Be-/Abarbeitung zu laden.
'Dabei soll in der zu ladenden Datei geguckt werden, ob die zwingenden Daten sprich Tabellen  _
vorhanden sind
Dim oFileDialog As FileDialog
frm_menu.Hide
Set oFileDialog = Application.FileDialog(msoFileDialogOpen)
With oFileDialog
.Title = "Auftrag einlesen"
.Filters.Add "XLS-Dateien", "*.xls", 1
If .Show = -1 Then
Application.ScreenUpdating = False
Set AktWorkbook = Workbooks.Open(.SelectedItems(1))
Application.ScreenUpdating = True
If Not WorksheetEx(AktWorkbook, "INI") Then
MsgBox "Kein gültiger Auftrag"
AktWorkbook.Close
End If
End If
End With
If Not AktWorkbook Is Nothing Then
frm_menu.Caption = "Hauptdialog " & AktWorkbook.Name
frm_auftrag.Caption = "Auftragsbearbeitung " & AktWorkbook.Name
End If
frm_menu.Show
End Sub
zugewiesen. Ich habe auch die Korrektheit über

MsgBox AktWorkbook.Name
geprüft. Es ist definitiv die richtige Arbeitsmappe.
Daran kann es eigentlich nicht liegen.
Hast Du noch weitere Ideen?
Danke auf jeden Fall für Deine Antwort!
Tschüss
Kai

Anzeige
kann es nicht nachvollziehen ... (offen)
08.10.2015 12:05:29
Tino
Hallo,
kann es bei einem kleinen Test bei mir nicht nachvollziehen.
Ich lass die Frage mal offen!
Gruß Tino

AW: kann es nicht nachvollziehen ... (offen)
09.10.2015 11:18:01
Kai
Hallo Tino,
ich habe den Code, den ich einsetze, einmal auf die wesentliche Problematik runtergebrochen und 2 Dateien erstellt.
  1. Datei Modulentester.xlsm mit den Makros
  2. Datei TT.xls mit Musterdaten

Beide Dateien findet man gezippt unter
https://www.herber.de/bbs/user/100678.zip
Das geplante Vorgehen soll soll sein:
  1. Ich starte Excel und öffne die Datei "Modulentester.xlsm" und rufe ich das Makro "init_frm" auf
  2. In der userform klicke ich auf den Schalter "Auftrag laden" und lade die Arbeitsmappe "TT.xls"
  3. Wenn ich nun den Schalter "LV bearbeiten" klicke, soll die userform ausgeblendet werden (funktioniert) und die Arbeitsmappe "TT.xls" mit ausgewählter freier Zelle für weitere Eingaben im Vordergrund erscheinen.

Das klappt jedoch nicht. Irgendwie stelle ich mich da zu dumm an.
Ich hoffe auf Hilfe
Tschüss Kai

Anzeige
AW: kann es nicht nachvollziehen ... (offen)
09.10.2015 11:21:21
Kai
Sorry, ganz vergessen zu erwähnen. Ich arbeite mit Excel 2016

heute kann ich nicht mehr ... (offen)
09.10.2015 11:56:18
Tino
Hallo,
heute bin ich nicht mehr am Rechner, erst morgen wieder!
Gruß Tino

bei mir geht es wie beschrieben...
10.10.2015 07:39:17
Tino
Hallo,
bei mir funktioniert es wie beschrieben unter Win7 mit xl2010.
Ich würde evtl. beim zurückgehen in Modulentester.xlsm die UserForm wieder aktivieren da diese ausgeblendet bleibt.
kommt als Code in DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_Activate() 
Dim oAktUF As Object 
For Each oAktUF In UserForms 
    If oAktUF.Name = "frm_menu" Then 
        oAktUF.Show 
        Exit For 
    End If 
Next oAktUF 
End Sub 
 
Gruß Tino

Anzeige
AW: bei mir geht es wie beschrieben...
12.10.2015 07:49:06
Kai
Hallo Tino,
danke für die obige Sub. Was bei mir (und auf 2 anderen Rechnern) NICHT klappt, ist, dass die Arbeitsmappe TT.xls im Vordergrund ist nach dem klicken auf den Button "LV bearbeiten". Ich muss die Arbeitsmappe über Alt + Tab oder klicken in der Taskleiste in den Vordergrund holen.
Hast Du da eine Idee?
Danke und Tschüss
Kai
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige