Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.select in With funktioniert nicht

Forumthread: .select in With funktioniert nicht

.select in With funktioniert nicht
20.05.2019 21:54:27
Silke
Hallo,
Ich habe bislang diesen Codeschnipsel
Sub Test()
Windows("Eingang.xls").Activate
Sheets("Daten").Select
End Sub
Ich möchte es aber in einen With .. End With Bereich umwandeln.
Wenn es so schreibe kommt die Fehlermeldung (Laufzeitfehler 1004)
Wenn ich das .selct weg lasse kommt die Fehlermeldung (Laufzeitfehler 9 - Außerhalb eines gültigen Bereichs)
Sub Test()
Dim wksEingang As Worksheet
Dim z
Set wksEingang = Workbooks("Eingang.xls").Worksheets("Daten")
With wksEingang
.Select
End With
End Sub
Kann mir jemand sagen wo der Fehler ist?
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .select in With funktioniert nicht
21.05.2019 01:23:56
Piet
Hallo Silke
Dein Fehler liegt m.E. eindutig hier: - du deklarierst ein Worksheet, aber davor steht noch Workbook.
Dim wksEingang As Worksheet - deklariere es bitte mal so: - Dim wksEingang As Object
mfg Piet
AW: .select in With funktioniert nicht
21.05.2019 07:00:46
Luschi
Hallo Silke,
so klappt bei mir dieser getestete Code:

Sub Test()
Dim wksEingang As Worksheet
Dim z
Set wksEingang = Workbooks("Eingang.xls").Worksheets("Daten")
With wksEingang
.Parent.Activate
.Select
End With
'am Schluß
Set wksEingang = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
Vielen Dank .. funktioniert owT
21.05.2019 19:47:34
Silke
Bildschirm welchselt auf andere Datei
22.05.2019 21:51:31
Silke
Hallo,
ich habe den Vorschlag von Luschi eingefügt und getestet.
Aber nun wechselt der Bildschirm von der Seite von der das Makro gestartet wird auf die Datei Eingabe.xls
Habe vesucht diese Zeile einzufügen

Application.ScreenUpdating = False

Aber die Ansicht wechselt dennoch.
Kann mir jemand helfen wie man immer nur die Ursprungsdatei sieht?
Liebe Grüße
Silke
Anzeige
AW: .select in With funktioniert nicht
23.05.2019 21:11:42
Piet
Hallo Silke
die Antwort ist im Code von Luschi, man muss sie nur Sehen! Probier bitte mal den unteren Teil aus!
Sollte es damit klappen bitte Thread schliessen, Haeckchen Nicht setzen.
mfg Piet
'am Schluß
Set wksEingang = Nothing,
Workbooks("Eingang.xls").Activate
End Sub
Anzeige
AW: .select in With funktioniert nicht
24.05.2019 00:25:35
Silke
Hallo, nein .... das funktioniert nicht.
Wenn ich es so anwende wechselt der Bildschim dennoch zu der anderen Seite und wieder zurück.
AW: .select in With funktioniert nicht
24.05.2019 05:50:55
Hajo_Zi
warum selct? Warum With für eine Aktion
Ohne With
wksEingang.Range("A1")=123

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: .select in With funktioniert nicht
26.05.2019 12:37:48
Silke
Hallo
vielen Dank für eure Tipps .. das hat mich echt weitergebracht.
An zwei Stellen hänge ich aber noch.
Wie kann ich folgendes ohne die die Dateien zu aktivieren durchführen
Dim wksEingang As Worksheet
Set wksEingang = Workbooks("Eingang.xls").Worksheets("Daten")
Windows("Eingang.xls").Activate
Sheets("Daten").Select
RechnungsMax = Application.WorksheetFunction.Max(Range("B:B")) + 1
und
Dim wksEingang As Worksheet
Set wksEingang = Workbooks("Eingang.xls").Worksheets("Daten")
Windows("Eingang.xls").Activate
Sheets("Daten").Select
If Range("Wert1") = "" Then
Liebe Grüße Silke
Anzeige
AW: .select in With funktioniert nicht
26.05.2019 12:59:30
Hajo_Zi
RechnungsMax = Application.WorksheetFunction.Max(Sheets("Daten").Range("B:B")) + 1
If Workbooks "Eingang.xls").Sheets("Daten").Range("Wert1") = "" Then
Gruß Hajo
AW: .select in With funktioniert nicht
26.05.2019 13:06:11
Daniel
Hi
wenn du Zellebereiche (Range, Cells, Rows, Columns) ansprechen willst, ohne die jeweilige Mappe und Tabellenblatt vorher zu selektieren, musst du Workbook und Worksheet immer davor angeben:
also:
RechnungsMax = Application.WorksheetFunction.Max(Workbooks("Eingang.xls").Worksheets("Daten").Range("B:B")) + 1
das funktioniert auch mit entsprechenden Objektvariablen:
Dim wksEingang As Worksheet
Set wksEingang = Workbooks("Eingang.xls").Worksheets("Daten")
RechnungsMax = Application.WorksheetFunction.Max(wksEingang.Range("B:B")) + 1
oder in der With-Klammer, achte hier auf den Punkt vor dem Objekt:
With Workbooks("Eingang.xls")
With .Worksheets("Daten")
RechnungsMax = Application.WorksheetFunction.Max(.Range("B:B")) + 1
end with
end with

das gilt auch, wenn der Zellbezug ein Name ist.
Wenn man sich nicht auf das aktive Tabellenblatt bezieht, muss man dann auch Workbook und Worksheet angeben:
If Workbooks("Eingang.xls").Worksheets("Daten").Range("Wert1") = "" Then
Set wksEingang = Workbooks("Eingang.xls").Worksheets("Daten")
If wksEingang.Range("Wert1") = "" Then

Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige