Clever-Excel-Forum

Normale Version: Zellen per VBA Kopieren ohne Tabllenblatt zu wechseln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hi, kann man Zellen von Tabelle1 zu Tabelle2 per VBA kopieren, ohne dass das Tabellenblatt1 angezeigt wird?

Ich befinde mich in Tabelle2 und führe folgendes Makro aus:
Code:
Worksheets("Tabelle1").Range("A1:B10").Copy
     Worksheets("Tabelle2").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False

Das funktioniert zwar, jedoch wird während des Kopiervorganges Tabellenblatt 1 kurz eingeblendet. Kann ich das verhindern?

lieben Dank!
Hallo Julia


Code:
Sub kopieren()
 Application.ScreenUpdating = False  'Bildschirmaktualisierung aus
 Worksheets("Tabelle1").Range("A1:B10").Copy
      Worksheets("Tabelle2").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
         Application.CutCopyMode = False
 Application.ScreenUpdating = True 'Bildschirmaktualisierung an
End Sub


Da Du nur Werte überträgst geht das auch ohne kopieren, so:


Code:
Sub übertragen()
   Worksheets("Tabelle2").Range("A1:B10").Value = Worksheets("Tabelle1").Range("A1:B10").Value
End Sub


Hier müssen beide Bereiche gleich groß sein.
das ist ja easy, danke! Die Werte ändern sich jedoch in der anderen Tabelle & sollen dann nicht angeglichen werden. Sondern wirklich nur, wenn das Makro ausgeführt wird. Von daher ist das mit dem Übertragen nicht möglich.
oder

Code:
Sub M_snb()
   sheets(array(Tabelle1","Tabelle2")).fillacrosssheets sheets("Tabelle1").Range("A1:B10")
End Sub
(03.03.2017, 01:58)atilla schrieb: [ -> ]
Code:
Sub übertragen()
   Worksheets("Tabelle2").Range("A1:B10").Value = Worksheets("Tabelle1").Range("A1:B10").Value
End Sub
Das geht ja doch, da die Angleichung nur stattfindet, wenn das Makro ausgeführt wird :)
Hi Julia,

(13.03.2017, 16:33)o0Julia0o schrieb: [ -> ]Das geht ja doch, da die Angleichung nur stattfindet, wenn das Makro ausgeführt wird :)

das ist eh klar, das kopieren der Daten erfolgt durch den Lauf des Makros.
Excel macht nichts von alleine, wodurch sollte die Übertragung starten. Eine ständige Übertragung bei jeder Veränderung erfolgt nur bei Worksheet_Change, *_Calculate, *_SelectionChange
oooder
wenn in der Zieltabelle Formeln eingetragen werden statt den Werten.