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

Nach vbModeless -> Fokus auf Wsheet

Nach vbModeless -> Fokus auf Wsheet
Matthias
Hallo zusammen
Ich öffne eine Exceldatei, welche im "Auto open" eine Prozedur startet, welche den Inhalt einer externen Exceldatei einliest. Während dieses Vorganges zeige ich einen Fortschritsbalken mit vbModeless an.
Sobald sich dieser Balken schliesst, Aktiviere ich das entpsrechende Window und Selektiere eine Zelle. Trotzdem ist dieses Window nicht aktiv. D.h. wenn ich ohne Klick irgendwo im Excel den Tabulator oder eine andere Taste drücke, passiert überhaupt nichts.
Habt ihr eine Idee was ich hier noch ergänzen muss?
Vielen Dank.
Matthias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Nach vbModeless -> Fokus auf Wsheet
25.03.2010 09:01:35
Rudi
Hallo,
schieß mal noch
AppActivate Application.Caption
hinterher.
Gruß
Rudi
AW: Nach vbModeless -> Fokus auf Wsheet
25.03.2010 09:08:09
Matthias
Hi Rudi
Danke für den Tipp. Hat leider nicht funktioniert.
Lieber Gruss
Matthias
AW: Nach vbModeless -> Fokus auf Wsheet
25.03.2010 11:15:55
fcs
Hallo Mathias,
mit sauberer Zuweisung von Objekt-Variablen sollte es kein Problem sein. Nach dem Einlesen der Daten zur gewünschten Tabelle zu navigieren, wenn nacheinander Arbeitsmappe und Tabellenblatt aktiviert werden und anschliessend die Zelle selektiert.
Nachfolgend ein unter Excel 2003 erstelltes Makro. Mein UF enthält dabei außer dem Fortschritts-Scrolbalken auch noch ein Label zur Anzeige des Prozentswerts.
Gruß
Franz
'Erstellt unter Excel 2003
Sub HoleDaten()
Dim wbZiel As Workbook, wbQuelle As Workbook
Dim wksZiel As Worksheet, wksQuelle As Worksheet
Dim ZeileZ As Long, ZeileQ As Long, Spalte As Long, ZeileMax As Long
Dim LastProzent As Double
Const DeltaProzent = 2 'Prozentschritte für Aktualisierung Fortschrittsanzeige
'Zieldatei
Set wbZiel = ThisWorkbook
Set wksZiel = wbZiel.Worksheets("Tab1")
'Quelldaten-Datei öffnen
Set wbQuelle = Workbooks.Open(Filename:="C:\Lokale Daten\Test\DataQuelle.xls", _
ReadOnly:=True)
Set wksQuelle = wbQuelle.Worksheets(1)
ZeileMax = wksQuelle.Cells(wksQuelle.Rows.Count, 1).End(xlUp).Row
'Fortschritts-Userform anzeigen
'besondere Eigenschaften von Steuerelementen im UF
'UF_Fortschritt         - ShowModal     =  False
'ScrollBar_Fortschritt  - Min           = 0
'ScrollBar_Fortschritt  - Max           = 100
'ScrollBar_Fortschritt  - Orientation   = 1 - fmOrientationHorizontal
UF_Fortschritt.Caption = "Fortschritt laden " & wbQuelle.Name
UF_Fortschritt.Label_Prozent.Visible = False
UF_Fortschritt.Show
Application.ScreenUpdating = False
ZeileZ = 3 'Startzeile in Zieltabelle für eingelesene Daten
'Altdaten im Zielblatt löschen
With wksZiel
If .Cells.SpecialCells(xlCellTypeLastCell).Row >= ZeileZ Then
.Range(.Rows(ZeileZ), .Cells.SpecialCells(xlCellTypeLastCell).EntireRow).ClearContents
End If
End With
'Daten aus Quelle einlesen
For ZeileQ = 1 To ZeileMax
'Userform-Fortschrittsanzeige aktualisieren
If ZeileQ / ZeileMax * 100 >= LastProzent + DeltaProzent Then
UF_Fortschritt.ScrollBar_Fortschritt.Value = CLng(ZeileQ / ZeileMax * 100)
UF_Fortschritt.Repaint
LastProzent = CLng(ZeileQ / ZeileMax * 100)
End If
'nächsten Datensatz holen
If wksQuelle.Cells(ZeileQ, 1) = "B" Then
For Spalte = 1 To 7
wksZiel.Cells(ZeileZ, Spalte) = wksQuelle.Cells(ZeileQ, Spalte)
Next
ZeileZ = ZeileZ + 1
End If
Next
'Fortschritts-Userform schliessen
Unload UF_Fortschritt
'Quelldaten-Datei schliessen
wbQuelle.Close savechanges:=False
'bestimmte Zelle in Zieltabelle Tabelle selektieren
Application.ScreenUpdating = True
wbZiel.Activate
wksZiel.Activate
wksZiel.Range("B3").Select
End Sub
'oder auch alternativ mit vollständigen Objekt-Namen
With Workbooks("MeineDatei.xls")
.Activate
With .Worksheets("TabelleXYZ")
.Activate
.Range("B3").Select
End With
End With
End Sub

Anzeige
AW: Nach vbModeless -> Fokus auf Wsheet
25.03.2010 14:57:35
Matthias
Vielen Dank für deine Mühe Franz. Ich habe es leider nicht genau so übernehmen können und eine andere Lösung dafür gefunden. Einen schönen Nachmittag.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige