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

Wie Variablen für Zellbezüge in mehreren Sheets

Wie Variablen für Zellbezüge in mehreren Sheets
07.08.2019 17:47:48
AleXSR700
Hi zusammen,
also, wenn ich es richtig verstehe, dann muss der VBA Code immer in dem Sheet abgelegt sein, in dem man die Copy oder die Pastefunktion durchführt. Zumindest, falls man Variablen für den Zellbezug verwenden möchte.
Sprich,
ich kopiere von Sheets("Sheet1").Cells(iRow,iColumn) nach Sheets("Sheet2").Cells(jRow,jColumn), dann muss der Code in Sheet1 oder Sheet2 liegen. Sonst gibt es Objektfehler.
Aber ich habe nun einen Code in einem Sheet3, weil dort ebenfalls solche Prozeduren ausgeführt werden.
Wie kann man dies lösen?
Code liegt in Sheet3.

Sheets("Sheet1").Cells(iRow,iColumn).Copy
Sheets("Sheet2").Cells(jRow,jColumn).PasteSpecial

Bringt Objektfehler. Selbst, wenn ich

With Worksheets("Sheet1")

mache, gibt es Fehler. Wie umgeht man das? Es muss doch möglich sein den Code in Sheet3 liegen zu haben und trotzdem mit Variablen zwischen anderen Sheets hin und her zu kopieren, oder nicht?
Nebenfrage: Wie kann man Variablen bei einer Range nutzen?
Ich dachte

Sheets("Sheet1").Range(Cells(iRow,iColumn),Cells(iRow+1,iColumn+10)).Copy

Aber das funktioniert nicht.
Vielen lieben Dank für eure Hilfe!

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

Betreff
Datum
Anwender
Anzeige
AW: Wie Variablen für Zellbezüge in mehreren Sheets
07.08.2019 17:50:33
Hajo_Zi
unter der Tabelle muss es nur Ssein falls Aktinen der Tabelle, wie change.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Wie Variablen für Zellbezüge ...
07.08.2019 18:21:21
{Boris}
Hi,

Code liegt in Sheet3.
Sheets("Sheet1").Cells(iRow,iColumn).Copy
Sheets("Sheet2").Cells(jRow,jColumn).PasteSpecial
Bringt Objektfehler.

Nein. Da Du die entsprechenden Sheets korrekt referenzierst, funktioniert das. Dein Problem muss woanders liegen (Inhalt der Variablen (welchen Wert haben diese?), Blattschutz etc.).
Nebenfrage: Wie kann man Variablen bei einer Range nutzen?
Ich dachte Sheets("Sheet1").Range(Cells(iRow,iColumn),Cells(iRow+1,iColumn+10)).Copy

Auch hier gilt: Welchen Wert haben die Variablen?
Wenn dieser Code z.B. in dem Klassenmodul des Sheet3 steht, dann musst Du ÜBERALL das andere Sheet mit referenzieren - also in Deinem konkreten Fall:
Sheets("Sheet1").Range(Sheets("Sheet1").Cells(iRow,iColumn), Sheets("Sheet1").Cells(iRow+1,iColumn+10)).Copy
VG, Boris
Anzeige
Nachtrag...
07.08.2019 18:23:40
{Boris}
Hi.,
also, wenn ich es richtig verstehe, dann muss der VBA Code immer in dem Sheet abgelegt sein, in dem man die Copy oder die Pastefunktion durchführt. Zumindest, falls man Variablen für den Zellbezug verwenden möchte.
Das ist dann natürlich auch falsch.
VG, Boris
AW: Wie Variablen für Zellbezüge in mehreren Sheets
08.08.2019 07:36:45
bjoern
Hmm
Also ich verwende immer bisher
Worksheets("test2").Range("b2").Copy Destination:=Worksheets("Brutus").Range("b20")
Zum Kopieren
Aber kann natürlich sein das ich nicht verstehe was du machen willst
Zu der Variablen (wenn ich es verstehe)
Dim abc As String
abc=Worksheets("test").Range("a3").value
und in den weitere Befehl schreibe ich es so
Sheets("Brutus").ChartObjects("Diagramm 1").Chart.SetSourceData Source:=Range("'Brutus'!a20:" & abc)
sollte Arbeitsblatt unabhängig funktionieren
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige