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

zur aktiven Arbeitsmappe zurück wechseln

zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 10:32:23
MiSch
Hallo Helfende,
ich stehe vor dem Problem, dass ich am Ende meines Codes nicht wieder in die ursprüngliche Arbeitsmappe/Tabellenblatt zurückkehre.
Zu Beginn des Codes setzte ich ein Application.ScreenUpdating = False
welches ich im Verlauf wg einer Application.InputBox einmal wieder true und nach der Auswahl auf false setzte.
Am Ende wieder auf true und danach sollte der Wechsel ins ursprüngliche Blatt erfolgen - das ist das Blatt woraus das Macro gestartet wurde.
Am Ende verbleibe ich in der Mappe woraus ich die Auswahl der Inputbox entnahm.
ich versuchte.
ThisWorkbook.Sheets("Name").Activate oder .select
per Macrorecorder erhielt ich Windows(Name).Activate
Name = ThisWorkbook.Name (wird am Anfang erstellt)
Wenn ich nun Windows(Name).Activate im Code nutze funktioniert das im Debugging Modus (F8 oder ausführen bis Curser) aber nicht wenn ich das Marco aus dem Arnbeitsblatt starte.
Ich bin ratlos wo der Unterschied ist und was ich noch versuchen könnte.
Kann mir bitte jemand helfen?
Viele Grüße an all die Fleißigen hier im Forum
Michael

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 11:22:46
MiSch
Hallo Hajo,
danke für die Antwort. grundsätzlich ist schon klar, dass man auf select und activate verzichten kann, auch dass der Recoder nicht immer optimierten Code ausspuckt.
Allerdings bin ich immer noch ratlos.
Zum einen weil der code im debugging funktioniert - vielleicht nicht schön aber ich wäre zufrieden mit dem Code wenn er beim Durchlaufen auch funktionieren würde.
Zum zweiten, weil mir keine Alternative einfällt, welche funktioniert ohne activate oder select. Ich möchte ganz an Ende zum ursprünglichen Blatt zurückkehren. Ohne dass dem Select irgendwelche Handlungen folgen würden, die auch ohne select direkt ausführbar wären.
Selbst wenn ich unten einfüge, dass im entsprechend Blatt (ohne select) ein Wert in eine Zelle geschrieben oder etwas in eine Zelle eingefügt wird wechselt die Ansicht nicht zum gewünschten Blatt.
Leide habe ich in den Anlagen auch nicht das gefunden was bei mir anwendbar wäre, oder hab ich es überlesen?
Viele Grüße
Michael
Anzeige
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 11:26:48
Hajo_Zi
Halo Michael,
ich bin dann raus.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
frage jemand der neben Dir sitzt der sieht die Datei.
Die meisten hier sehen Sie nicht.
Da Sie nicht auf Deinen Rechner schauen.
Vielleicht sollte die Datei verlinkt werden?
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten ändern. Schaue Datei
http://hajo-excel.de/gepackt/fremd/Datei_verschluesseln.zip
Gruß Hajo
Anzeige
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 12:06:09
MiSch
Hallo Hajo,
sorry, ich hätte gehofft, dass mein Problem auf einen klassischen Fehler zurückzuführen ist.
Ich habe meinen Code auf das Wesentliche gekürzt.
Bei der Inputbox wechsele ich mit AltTAb auf ein anderes Blatt wo der Bereich markiert wird. Mit ok läuft der code weiter. Es bleibt die Mappe sichtbar wo ich die Auswahl getroffen habe. Würde aber gerne zur Code führenden DAtei wechseln.
Das ganze funktioniert mit F8 aber nicht mit "play"
Ich hoffe das hilft weiter, viele Grüße
Michael
'Public Sub Probe_einfügen()
Sub Probe_einfügen()
'Probennamen aus Probensammelliste (EA) kopieren -> einfügen mit Makro
Dim Anzahl As Integer         'Anzahl Proben As Long
Dim Spalte As Integer        'Laufzahl Spalte As Long
Dim rngSpalte As Range          'letzte Spalte
Dim objRange As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Name = ThisWorkbook.Name
ThisWorkbook.Sheets("Hilfstabelle").Range("A:A").ClearContents        '-> beendet hä _
ndisches copy (löscht Inhalt der Zwischenablage) -> wird bei on open ausgeführt
Application.ScreenUpdating = True
Set objRange = Application.InputBox(Prompt:="Proben/Bereich auswählen.", Title:="Auswahl",  _
Type:=8)
objRange.Copy
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Hilfstabelle").Range("A1").PasteSpecial Paste:=xlPasteAll ', Operation: _
=xlNone, SkipBlanks:=False, Transpose:=False
Anzahl = ThisWorkbook.Sheets("Hilfstabelle").Cells(65000, 1).End(xlUp).Row
Ende:
'Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
'Application.Wait Now + TimeSerial(0, 0, 10)
Windows(Name).Activate
'ThisWorkbook.Sheets("Vollumfang").Range("D1").Value = 1
End Sub

Anzeige
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 11:57:36
Tino
Hallo,
am besten ist es, wenn du im Code ohne aktivieren der Mappen/Tabellen arbeitest.
Dafür müsstest du aber konsequent immer den entsprechenden Ort angeben.
Hier mal ein kleines Beispiel dazu wie es gehen könnte.
Sub Beispiele()
Dim varValue
'Diese Mappe wo der Code läuft ******************************
ThisWorkbook.Sheets("Tabelle2").Range("A2") = Now
'oder
varValue = ThisWorkbook.Sheets("Tabelle2").Range("A2")
'andere Mappe ohne aktivieren *******************************
Workbooks("Mappe2").Sheets("Tabelle2").Range("A2") = Now
'oder
varValue = Workbooks("Mappe2").Sheets("Tabelle2").Range("A2")
'kürzer mit mit With -Anweisung
With ThisWorkbook.Sheets("Tabelle2")
.Range("A2") = Now
'oder
varValue = .Range("A2")
End With
With Workbooks("Mappe2").Sheets("Tabelle2")
.Range("A2") = Now
'oder
varValue = .Range("A2")
End With
'Oder mit Variablen für die Tabelle
Dim QTabelle As Worksheet, ZTabelle As Worksheet
Set QTabelle = ThisWorkbook.Sheets("Tabelle2")
Set ZTabelle = Workbooks("Mappe2").Sheets("Tabelle2")
QTabelle.Range("A2") = Now
ZTabelle.Range("A2") = QTabelle.Range("A2")
End Sub
Gruß Tino
Anzeige
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 12:09:00
GerdL
Moin Michael,
für zweitbeste Lösungen.
 Sub Unit()
Dim WS As Worksheet
Set WS = ActiveSheet
MsgBox "Mach was per Code"
Application.Goto WS.Cells(1, 1)
Set WS = Nothing
End Sub

Gruß Gerd
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 13:20:20
MiSch
Danke Gerd!
jetzt erscheint dein Code genau das zu machen was ich will - aber die andere Mappe/Tabelle bleibt im Vordergrund sichtbar ...
Spinnt mein Excel?
Viele Grüße
Michael
... die Arbeitsmappe bleibt im Hintergrund
21.11.2020 15:52:42
MiSch
Hallo,
also alles neu gestartet - hat aber nichts geändert.
Ich habe aber rausgefunden, dass das GoTo durch aus etwas macht. Die Zelle ist in dem entsprechenden WS aktiv - die Tabelle bleibt aber im Hintergrund. Wie gelingt es diese sichtbar/in den Vordergrund zu setzen?
Ich komme auch mit erneuten googeln nicht weiter. Ich stoße mehr oder weniger auf die selben Befehle, die bei mir nicht funktionieren wollen.
Weiß noch jemand Rat?
Viele Grüße
Michael
Anzeige
AW: zur aktiven Arbeitsmappe zurück wechseln
21.11.2020 12:57:54
MiSch
Danke Tino!
habe deine Beispiele ausprobiert. Sie zeiegn mir wie ich direkt in eine bestimmte Zelle schreiben bzw. Auslesen kann ohne select usw.
Ich hoffe ich übersehe kein Beispiel. Mein Problem ist, wenn nach der InputBox und Auswahl in einer anderen Datei der Code weiterläuft und am Ende nicht die ursprüngliche Tabelle sichtbar wird/ im Vorgrund erscheint sondern nur händisch mit AltTab zu erreichen ist. Das AltTab hat der Rekorder mit Windows("Name").Activate aufgezeichnet. Das funktion in Einzelschritten aber nicht im normalen Durchlauf.
Was mach ich falsch?
Viele Grüße
Michael
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige