Microsoft Excel

Herbers Excel/VBA-Archiv

copy & paste | Herbers Excel-Forum


Betrifft: copy & paste von: Bastian Schneck
Geschrieben am: 28.01.2010 15:12:05

Hallo,
folgendes Problem hab ich schon seit ein paar Jahren. Bisher konnte ich es allerdings mit .Activate lösen. Was jetzt nicht mehr geht und ich auch endlich mal wissen möchte was ich den eigentlich falsch mache. Folgendes Problem:
Die aktive Tabelle ist "Tabelle1", diese soll auch aktiv bleiben da ich hier den Programmablauf darstellen möchte.
In "Tabelle2" möchte ich einen Bereich kopieren und in "Tabelle3" einfügen. Mein Beispielcode sieht jetzt mal so aus:

Sub ObjectTest()

Dim Tab2 As Worksheet
Dim Tab3 As Worksheet
Dim copyRange As Range
Dim targetRange As Range

Set wsTab2 = ThisWorkbook.Worksheets("Tabelle2")
Set wsTab3 = ThisWorkbook.Worksheets("Tabelle3")

Set copyRange = wsTab2.Range("A2:A3")
Set targetRange = wsTab3.Range(Cells(2, 1), Cells(3, 1))
    
copyRange.Copy Destination:=targetRange
Application.CutCopyMode = False
    
    
Set copyRange = Nothing
Set targetRange = Nothing

Set Tab2 = Nothing
Set Tab3 = Nothing

End Sub
Was ich jetzt nicht verstehe ist weshalb "Set copyRange = wsTab2.Range("A2:A3")" funktioniert und "Set targetRange = wsTab3.Range(Cells(2, 1), Cells(3, 1))" Nur Funktioniert wenn Tabelle3 aktiv ist???

Bin für jeden Hinweis Dankbar.
MfG
Bastian Schneck

  

Betrifft: AW: falsche Referenzierung von: Chris
Geschrieben am: 28.01.2010 15:20:53

Servus,

so müsste das gehen:

Set targetRange = wsTab3.Range(wsTab3.Cells(2, 1), wsTab3.Cells(3, 1))

Du musst auch die cells referenzieren:

gruß

Chris


  

Betrifft: AW: falsche Referenzierung von: Bastian Schneck
Geschrieben am: 28.01.2010 15:30:14

DANKE
Das wars, es funktioniert :-)