Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Kopieren von Tabelle1 nach Tabelle2

Betrifft: Kopieren von Tabelle1 nach Tabelle2 von: Udo Kowalleck
Geschrieben am: 20.08.2014 19:46:37

Hallo Leute,
wahrscheinlich die einfachste Sache der Welt, aber ich bekomme es nicht hin.
Ich möchte von Tabelle 1 den Inhalt von bestimmten Zellen in einer Spalte, die in regelmäßigen Abständen stehen(aber nicht direkt untereinander) in Tabelle 3 Spalte 4 direkt untereinander kopieren.(in VBA).
Bestimmt habt ihr die Lösung.
Gruß Udo

  

Betrifft: Kopieren von Tabelle1 nach Tabelle2 von: Matthias L
Geschrieben am: 21.08.2014 00:30:58

Hallo Udo

Zum Einen könntest Du versuchen mit dem Filter zu arbeiten und die gefilterten Daten zu kopieren
zum Anderen könntest Du eine Bsp-Mappe hochladen.
Denn niemand weiß in welchen regelmäßigen Abständen die Daten vorliegen
und in welcher Zelle die Daten beginnen.

Gruß Matthias


  

Betrifft: AW: Kopieren von Tabelle1 nach Tabelle2 von: Udo Kowalleck
Geschrieben am: 21.08.2014 06:48:08

Danke Matthias L für deine Antwort.
Eigentlich ist es bei meiner Frage egal in welcher Zeile/Spalte die Daten beginnen und wie groß die regelmäßigen Abstände sind. Natürlich ist das kein Geheimnis. Es handelt sich um einen Spielplan verschiedener Fußballligen. Je nach dem wie viele Mannschaften in der Liga spielen, so ist der Abstand. Bei 20 Mannschaften ist der Abstand 10 bei 18 9 Zellen usw..
Es geht um das wie im Allgemeinen und nicht um eine fertige Lösung. Also wie kopiere ich die Daten von Tabelle1 Spalte D, Zeile 10,20,30,40 in Tabelle 3 Spalte A, Zeile 1,2,3,4. in VBA.
mit freundlichen Gruß
Udo


  

Betrifft: Kopieren von Tabelle1 nach Tabelle2 von: Matthias L
Geschrieben am: 21.08.2014 07:46:23

Hallo

Tabelle1

 A
1Team1
2egal
3egal
4egal
5egal
6egal
7egal
8egal
9egal
10Team2
11egal
12egal
13egal
14egal
15egal
16egal
17egal
18egal
19Team3
20egal


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4



Option Explicit
Sub kopieren()
Dim x As Long
For x = 1 To 20 Step 9
 MsgBox Cells(x, 1)
Next
End Sub
Statt der MsgBox den Wert einfach in eine Zelle der Zieltabelle schreiben und je Schleifenzähler ene Zelle nach unten referenzieren.

Gruß Matthias


  

Betrifft: Bsp. Kopieren von Tabelle1 nach Tabelle2 von: Matthias L
Geschrieben am: 21.08.2014 08:28:14

Hallo

Hier noch ein Beipiel ...

https://www.herber.de/bbs/user/92214.xlsm

Gruß Matthias


  

Betrifft: AW: Bsp. Kopieren von Tabelle1 nach Tabelle2 von: Udo Kowalleck
Geschrieben am: 21.08.2014 12:31:34

Vielen Dank Matthias L für Deine Lösung die als solches klappt. Super!
Doch das konntest Du nicht wissen. Die Eintragungen in Tabelle 1 ändern sich von Zeit zu Zeit. Nach einer Änderung sollen sich diese Daten automatisch aktualisieren, dann wäre es perfekt. Aber wie gesagt, woher solltest Du das wissen? Bis hierhin noch einmal tausend Dank. Ohne Deine Hilfe hätte ich als absoluter Anfänger bestimmt noch einige Tage rum gewerkelt.
Gruß Udo


  

Betrifft: was ändert sich denn? von: Matthias L
Geschrieben am: 23.08.2014 15:50:07

Hallo Udo

Ändern sich nur die Inhalte oder ändern sich die regelmäßigen Abstände?

Gruß Matthias


  

Betrifft: AW: was ändert sich denn? von: Udo Kowalleck
Geschrieben am: 26.08.2014 10:35:43

Hallo Matthias,
es ändern sich nur die Inhalte. Das Problem hast du mit deiner 1.Lösung (die einwandfrei funktioniert) richtig erkannt. Nur wenn sich der Inhalt der Ausgangsquelle ändert, findet keine automatische Aktuallisierung der Zielquelle bei deiner Lösung statt. Das fehlt noch.
mit freundlichen Gruß
Udo


  

Betrifft: code für Tabelle2 -> Worksheet_Activate von: Matthias L
Geschrieben am: 26.08.2014 15:37:53

Hallo

Pack den Code in Tabelle2

Option Explicit
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False 'Bidschirmaktualisierung aus
Columns("A:A").ClearContents       'Inhalte Spalte(A) löschen
Dim x&, i&  'Variablen deklarieren (als Long)
i = 1
With Tabelle1 'referenzieren auf Tabelle1 (QuellDaten)
 For x = 1 To 191 Step 10 'Zeilenende anpassen oder einlesen!
  Cells(i, 1) = .Cells(x, 1)
  i = i + 1
 Next
End With
End Sub
Das Modul kannst Du löschen.

Jetzt werden immer beim Aktivieren von Tabelle2 die Inhalte von Spalte(A) gelöscht
und die Daten aus Tabelle1 neu eingelesen.

Gruß Matthias


 

Beiträge aus den Excel-Beispielen zum Thema "Kopieren von Tabelle1 nach Tabelle2"