Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenklon

Betrifft: Tabellenklon von: Sparrow
Geschrieben am: 14.10.2014 09:49:33

Guten Morgen!
Ich bräuchte mal eure Hilfe - und zwar möchte ich verschiedene Spalten einer Tabelle in eine andere Tabelle klonen. Gebe ich also eine neue Zeile in Tabelle 1 ein, will ich das in Tabelle 2 diese Zeile neu erscheint - mit dem selben Namen bspw.. Allerdings muss ich Tabelle 2 dann jedes Mal um diese Zeile erweitern, da ich den Ausdruck: =Tabelle1[@Name] verwende. Jmd eine Idee wie Tabelle 2 automatisch eine neue Zeile hinzufügt wenn dies bei Tabelle 1 passiert?
Vielen Dank im Voraus
Beste Grüße
Sascha

  

Betrifft: AW: Tabellenklon von: fcs
Geschrieben am: 14.10.2014 10:36:58

Hallo Sascha,

hier ein Ereignismakro, dass die 2. Tabelle verlängert, wenn in der 1. Tabelle eine Zeile hinzugefügt wird.

Gruß
Franz

'Ereignismakro unter dem Tabellenblatt mit der Tabelle/Liste "Tabelle1" einfügen
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim objList2 As ListObject
  With Me.ListObjects("Tabelle1") 'Name ggf. anpassen
    If Not Application.Intersect(Target, .Range) Is Nothing Then
      Set objList2 = Worksheets("Tabelle2").ListObjects("Tabelle2") 'ggf. anpassen!!
      If .Range.Rows.Count <> objList2.Range.Rows.Count Then
        objList2.Resize objList2.Range.Range("A1").Resize(.Range.Rows.Count, _
            objList2.Range.Columns.Count)
      End If
    End If
  End With
End Sub



  

Betrifft: AW: Tabellenklon von: Sparrow
Geschrieben am: 14.10.2014 11:49:04

Hallo Franz,
sehr gut, funktioniert! Allerdings brauche ich nun auch den Vorgang, dass wenn ich in Tabelle 1 eine Zeile lösche, diese auch in Tabelle 2 gelöscht wird

Gruß
Sascha


  

Betrifft: ein Lösungsvorschlag mit einer kleinen Formel ... von: neopa C (paneo)
Geschrieben am: 14.10.2014 12:10:24

Hallo Sascha,

... dazu muss die Ergebnistabelle jedoch in einem anderen Tabellenblatt erstellt werden.

Folgende Formel in beginnend in einer beliebigen Zelle nach rechts und unten kopieren:

=WENN((ZEILE(A1)>ANZAHL2(Tabelle1[[#Alle];[Tab_Überschrift_1]]))+
(SPALTE(A1)>ANZAHL2(Tabelle1[#Kopfzeilen]));"";
INDEX(Tabelle1[#Alle];ZEILE(A1);SPALTE(A1)))
Gruß Werner
.. , - ...


  

Betrifft: AW: Tabellenklon von: fcs
Geschrieben am: 15.10.2014 09:53:27

Hallo Sascha,

diese Frage hahb ich ja fast schon erwartet.
Hier das Makro mit einer entsprechendne Ergänzung.

Gruß
Franz

'Ereignismakro unter dem Tabellenblatt mit der Tabelle/Liste "Tabelle1" einfügen
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim objList2 As ListObject
  Dim Zeile_L_Liste As Long, Zeile_L_Daten As Long
  With Me.ListObjects("Tabelle1") 'Name ggf. anpassen
    If Not Application.Intersect(Target, .Range) Is Nothing Then
      Set objList2 = Worksheets("Tabelle2").ListObjects("Tabelle2") 'ggf. anpassen!!
      If .Range.Rows.Count <> objList2.Range.Rows.Count Then
        objList2.Resize objList2.Range.Range("A1").Resize(.Range.Rows.Count, _
            objList2.Range.Columns.Count)
      End If
      Zeile_L_Liste = objList2.Range.Row + objList2.Range.Rows.Count - 1
      'Daten unterhalb Tabelle2 löschen, wenn Zeile(n) in Tabelle1 gelöscht wurden
      With Worksheets("Tabelle2")
        Zeile_L_Daten = .Cells(.Rows.Count, 1).End(xlUp).Row
        If Zeile_L_Daten > Zeile_L_Liste Then
          .Range(.Cells(Zeile_L_Liste + 1, objList2.Range.Column), .Cells(Zeile_L_Daten, _
          objList2.Range.Column + objList2.Range.Columns.Count - 1)).Delete shift:=xlShiftUp
        End If
      End With
    End If
  End With
End Sub



  

Betrifft: Ist das Absicht, dass du in Abständen ... von: Luc:-?
Geschrieben am: 14.10.2014 11:48:04

…>1 Woche fragen stellst, Sascha,
damit es wohl nicht so auffällt, dass du auf AWen zum letzten kein Feedback gegeben hast. :-[
Die Beteiligten merken sich das!
Luc :-?


  

Betrifft: mich hat interessiert, ... von: neopa C (paneo)
Geschrieben am: 14.10.2014 12:13:19

Hallo Luc,

... ob man es nicht auch mit Formel lösen könnte.
Ich merke mir nicht, wer Feedback gibt oder nicht. Finde es natürlich auch nicht gut, wenn jemand kein Feedback gibt, hab aber Deinen Beitrag erst jetzt gesehen.

Gruß Werner
.. , - ...


  

Betrifft: Das ist ja auch ganz allein deine Sache! ;-] owT von: Luc:-?
Geschrieben am: 14.10.2014 12:22:22

:-?