Thema Datum  Von Nutzer Rating
Antwort
29.01.2020 19:29:15 Tobi
NotSolved
29.01.2020 21:51:40 Flotter Feger
NotSolved
29.01.2020 22:14:55 Flotter Feger
NotSolved
01.02.2020 18:50:01 Tobi
NotSolved
Rot Tabellen vereinen anhand von Spaltennamen
01.02.2020 21:26:21 Gast24944
*****
NotSolved
02.02.2020 16:56:05 Tobi
NotSolved
02.02.2020 22:36:10 Gast24944
NotSolved

Ansicht des Beitrags:
Von:
Gast24944
Datum:
01.02.2020 21:26:21
Views:
573
Rating: Antwort:
  Ja
Thema:
Tabellen vereinen anhand von Spaltennamen

Im Prinzip erstmal nicht weiter schwer. Verstehe nur gerade nicht, ob die Zeilenzuordnung zwischen den Spalten bestehen bleiben soll, oder ob sie sich verschieben darf.

 

Kopfzeile der Master-Tabelle

 

BezA BezC BezD BezE

Beliebige Tabelle in einer Mappe:

BezE BezX BezB BezA
WertE-1 WertX-1 WertB-1 WertA-1
WertE-2 WertX-2 WertB-2 WertA-2
WertE-3 WertX-3 WertB-3 WertA-3

 

 

Option Explicit

Sub Demo1()
  
  Dim rngCsM  As Excel.Range 'Spalten in Master
  Dim rngCM   As Excel.Range 'Spalte in Master
  Dim rngCS   As Excel.Range 'Spalte in Quelle
  
  With Worksheets("Master")
    Set rngCsM = .Range("A1", .Cells(1, .Columns.Count).End(xlToLeft))
  End With
  
  With Worksheets("Tabelle1") 'Beispiel
  
    For Each rngCM In rngCsM.Cells
      
      'Spalte (anhand Beschriftung) suchen
      Set rngCS = .Rows(1).Find(What:=rngCM, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False)
      
      If Not rngCS Is Nothing Then
        Debug.Print "Spalte '"; CStr(rngCM); "' gefunden"
        'Datenbereich der Spalte ref.
        Set rngCS = .Range(rngCS.Offset(1), .Cells(.Rows.Count, rngCS.Column).End(xlUp))
        'Werte übertragen
        rngCM.Offset(1).Resize(rngCS.Rows.Count).Value = rngCS.Value
      Else
        Debug.Print "Spalte '"; CStr(rngCM); "' nicht gefunden"
      End If
      
    Next
    
  End With
  
End Sub
BezA BezC BezD BezE
WertA-1     WertE-1
WertA-2     WertE-2
WertA-3     WertE-3

Für mehrere Tabellen braucht man auch da eine Schleife, wo derzeit nur Tabelle1 referenziert wird. Weiterhin müsste man sich den max. Offset für den Zeilenindex in der Master nach dem übertragen der Daten merken, um im nächsten Durchgang die Daten unten dran zu setzen (rngCM.Offset(1) reicht da nicht).

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
29.01.2020 19:29:15 Tobi
NotSolved
29.01.2020 21:51:40 Flotter Feger
NotSolved
29.01.2020 22:14:55 Flotter Feger
NotSolved
01.02.2020 18:50:01 Tobi
NotSolved
Rot Tabellen vereinen anhand von Spaltennamen
01.02.2020 21:26:21 Gast24944
*****
NotSolved
02.02.2020 16:56:05 Tobi
NotSolved
02.02.2020 22:36:10 Gast24944
NotSolved