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

.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?

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
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige