Microsoft Excel

Herbers Excel/VBA-Archiv

Kopieren von Zellewerten

Betrifft: Kopieren von Zellewerten von: Mercedesmann
Geschrieben am: 10.08.2014 17:16:20

Hallo Leute,

ich habe eine Mappe, wo ich über ein Makro Werte aus bestimmten Zellen in ein anderes Blatt kopiere. Das funktioniert auch soweit sehr gut. Nun möchte ich aber das MAkro so ändern, dass die Daten nicht wie bisher aus "Tabelle2" sondern aus dem gerade aktiven Blatt übernommen werden. Alle Versuche, das mit "Active.Sheet" zu lösen sind gescheitert, leider habe ich zu wenig Ahnung.

Habt ihr eine Lösung?

Gruß Willi

Sub plan_mon()
   Dim wsZ As Worksheet

   Set wsZ = Sheets("Tabelle1")
   With Sheets("Tabelle2")
      wsZ.Range("c2") = .Range("f1")        
      wsZ.Range("G4") = .Range("E2")        
      wsZ.Range("E4") = .Range("E4")        
      wsZ.Range("H4") = .Range("G2")        
      wsZ.Range("F4") = .Range("G4")        
      wsZ.Range("K4") = .Range("G8")        
      wsZ.Range("L4") = .Range("G3")

End With
End Sub

  

Betrifft: AW: Kopieren von Zellewerten von: Hajo_Zi
Geschrieben am: 10.08.2014 17:23:56

Hallo Willi,

Option Explicit

Sub plan_mon()
    Dim wsZ As Worksheet
    Set wsZ = Sheets("Tabelle1")
    With ActiveSheet
        wsZ.Range("c2") = .Range("f1")
        wsZ.Range("G4") = .Range("E2")
        wsZ.Range("E4") = .Range("E4")
        wsZ.Range("H4") = .Range("G2")
        wsZ.Range("F4") = .Range("G4")
        wsZ.Range("K4") = .Range("G8")
        wsZ.Range("L4") = .Range("G3")
    End With
    Set wsZ = Nothing
End Sub
GrußformelHomepage


  

Betrifft: AW: Kopieren von Zellewerten von: Mercedesmann
Geschrieben am: 10.08.2014 17:48:58

Danke euch beiden! Jetzt funktioniert es auch. Schon peinlich, dass ich das selbst nicht gemerkt habe. Allerdings hat sich damit ein weiteres Problem aufgetan. Dieses Makro kopiert also bestimmte Daten von Tabelle2 in Tabelle1, wobei dann Tabelle1 ausgedruckt wird. In Tabelle2 gab es feste Werte, die einfach mit Formel in Tabelle1 (also zB. A1=Tabelle2!d6) festgelegt waren. Wenn ich mit ActiveSheet arbeite, stimmen diese Werte unter Umständen nun nicht mehr, wenn ich im aktiven Blatt an den Stellen Änderungen mache. Da ich ungerne diese Zellen auch noch mit dem Makro ansprechen möchte, gibt es einen Weg das zb. mit Formel zu lösen? Also das diese festen Zellbezüge auch immer aus dem aktiven Blatt kommen?

Gruß Willi


  

Betrifft: AW: Kopieren von Zellewerten von: Hajo_Zi
Geschrieben am: 10.08.2014 17:52:58

Hallo Willi,

man könnte vermuten die Formel fehlt. Mache Kopie.
.Range("f1").copy wsZ.Range("c2")

Gruß Hajo


  

Betrifft: AW: Kopieren von Zellewerten von: Mercedesmann
Geschrieben am: 10.08.2014 18:09:11

Hallo Hajo,


genau das meine ich. Klar fehlen für eben diese Zellen die Formeln. Die habe ich ja ursprünglich im Blatt gelöst. Insgesamt habe ich schon 144 Zellen, die ich mit dem Makro kopiere. Wenn ich die anderen auch noch einfügen muss, kommen noch über 100 Zellen dazu. Ich befürchte auch das dass dann auch auf die Performance schlägt.

Gruß Willi


  

Betrifft: AW: activesheet nur ein wort ohne Punkt!! oT von: JoWE
Geschrieben am: 10.08.2014 17:23:59




 

Beiträge aus den Excel-Beispielen zum Thema "Kopieren von Zellewerten"