Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen per VBA Kopieren ohne Tabllenblatt zu wechseln
#1
Question 
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!
Antworten Top
#2
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.
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • o0Julia0o
Antworten Top
#3
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.
Antworten Top
#4
oder

Code:
Sub M_snb()
   sheets(array(Tabelle1","Tabelle2")).fillacrosssheets sheets("Tabelle1").Range("A1:B10")
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • o0Julia0o
Antworten Top
#5
(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 :)
Antworten Top
#6
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.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • o0Julia0o
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste