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

in anderes Tabellenblatt springen

in anderes Tabellenblatt springen
02.07.2022 10:34:09
Steve
Hallo Leute,
ich habe da ein kleines Problem und finde im Netzt nicht so die passende Lösung (oder ich such einfach falsch). Vielleicht könnt ihr mir ja helfen.
Ich habe folgenden Code:

Option Explicit
Dim Zeile As Integer
Dim Spalte As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Offset(-1, 0).Value = 1 Then
Spalte = (Year(Now) - 2021) * 6 + 2
Else
Spalte = (Year(Now) - 2021) * 6 + 5
End If
Zeile = Tabelle1.Cells(Rows.Count, Spalte).End(xlUp).Row + 1
Tabelle1.Cells(Zeile, Spalte - 1).Value = Now
Tabelle1.Activate
Cells(Zeile, Spalte).Select
End Sub
hier die Datei:
https://www.herber.de/bbs/user/153926.xlsm
Ich möchte von dem Protokoll-Arbeitsblatt in passende Zelle auf dem "Laufzeit-Arbeitsblatt"springen in Abhängigkeit von dem Wert in Spalte B
Leider kommt immer Laufzeitfehler 1004. Actvate oder Select ist mit dem RangeObject nicht ausführbar.
Das ist bestimmt nur ein Kleiner Fehler, aber ich steh da grad echt auf dem Schlauch.
Danke euch vorab
Steve

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in anderes Tabellenblatt springen
02.07.2022 10:59:31
Herbert_Grom
Hallo Stevve,
ändere diese Zeile

Cells(Zeile, Spalte).Select
ab wie folgt:

Tabelle1.Cells(Zeile, Spalte).Select
Servus
AW: in anderes Tabellenblatt springen
02.07.2022 11:01:25
Herbert_Grom
oder im Gesamten:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Zeile As Integer, Spalte As Integer
If Target.Offset(-1, 0).Value = 1 Then
Spalte = (Year(Now) - 2021) * 6 + 2
Else
Spalte = (Year(Now) - 2021) * 6 + 5
End If
With Tabelle1
Zeile = .Cells(Rows.Count, Spalte).End(xlUp).Row + 1
.Cells(Zeile, Spalte - 1).Value = Now
.Activate
.Cells(Zeile, Spalte).Select
End With
End Sub
Servus
Anzeige
Und immer wieder der Hinweis...
02.07.2022 21:17:42
{Boris}
Hi Herbert,
...dass sich auch Rows.Count innerhalb eines With-Rahmens auf das mit With referenzierte Objekt beziehen sollte. Auch wenn es nicht immer wahrscheinlich ist, fliegt der Code ab, wenn er z.B. aus einen Diagrammblatt gestartet wird, da dieses nun mal keine Rows hat. ;-)
Also:

With Tabelle1
Zeile = .Cells(.Rows.Count, Spalte).End(xlUp).Row + 1
VG, Boris
AW: Und immer wieder der Hinweis...
08.07.2022 09:19:25
Herbert_Grom
Hi Boris,
du hast natürlich recht, aber den Punkt habe ich schlicht und ergreifend vergessen! Und beim Stichwort "vergessen", würde sich mein Enkel Moritz (1 Jahr und 10 Monate) wieder mit der flachen Hand auf die Stirn klopfen! ;o)=)
Servus
Anzeige
AW: in anderes Tabellenblatt springen
02.07.2022 11:00:35
onur
1) Du solltest die DIMs in die Sub schreiben
2) Auch wenn du Tabelle1 aktiviert hast - alle Cells- oder Range-Befehle ohne Blattangabe beziehen sich auf Tabelle2, da das der Code der Tabelle2 ist.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Zeile As Integer
Dim Spalte As Integer
If Target.Offset(-1, 0).Value = 1 Then
Spalte = (Year(Now) - 2021) * 6 + 2
Else
Spalte = (Year(Now) - 2021) * 6 + 5
End If
Zeile = Tabelle1.Cells(Rows.Count, Spalte).End(xlUp).Row + 1
Tabelle1.Cells(Zeile, Spalte - 1).Value = Now
Tabelle1.Activate
Tabelle1.Cells(Zeile, Spalte).Select
End Sub

Anzeige
AW: in anderes Tabellenblatt springen
02.07.2022 11:01:25
GerdL
Hallo Steve,
schreibe in der letzten Codezeile "Tabelle1." vor "Cells", denn im Tabellenblattmodul von "Protokoll" referenziert nur Cells auf dieses Blatt.
Gruß Gerd
AW: in anderes Tabellenblatt springen
02.07.2022 11:05:43
Steve
Also doch so einfach.
Danke für die schnelle Antwort

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige