Thema Datum  Von Nutzer Rating
Antwort
17.03.2017 15:41:07 Marcel
NotSolved
19.03.2017 14:49:21 BigBen
NotSolved
19.03.2017 15:06:52 Gast24519
NotSolved
Blau Spalte von einem Tabellenblatt in ein anderes übertragen
19.03.2017 19:33:13 BigBen
NotSolved
19.03.2017 19:36:09 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
19.03.2017 19:33:13
Views:
689
Rating: Antwort:
  Ja
Thema:
Spalte von einem Tabellenblatt in ein anderes übertragen

Hallo,

es war nicht gerade eine leichte Aufgabenstellung, da keine Autofilter -Methoden eingesetzt werden können.

Nun denn, vielleicht führt dieser Code zum gewünschten Ergebnis:

Sub CopyTableData()
    Dim wshSrc As Worksheet
    Dim wshDest As Worksheet

    Set wshSrc = ActiveWorkbook.Worksheets(1)
    Set wshDest = ActiveWorkbook.Worksheets(2)
    
    Dim rng As Range, rngDest As Range, rngSrc As Range
    Dim iFound As Integer
    Dim rngFounds() As Range
    Dim strSearch As String
    
    For Each rng In wshDest.UsedRange.Rows
        If rng.Cells(1, 1).Value <> strSearch Then
            strSearch = rng.Cells(1, 1).Value
            SearchValues wshSrc, rngFounds, strSearch
            iFound = 0
            Do While rng.Offset(iFound).Cells(1, 1).Value = strSearch
                If Not rngFounds(iFound) Is Nothing Then
                    'rng.Offset(iFound).Select
                    rng.Offset(iFound).Cells(1, 2).Formula = rngFounds(iFound).Cells(1, 2).Value
                End If
                iFound = iFound + 1
            Loop
        End If
    Next
End Sub

Sub SearchValues(wsh As Worksheet, ByRef rngFounds() As Range, ByVal strSearch As String)
    Dim rng As Range
    Dim iFound As Integer
    ReDim rngFounds(0)
    For Each rng In wsh.UsedRange.Rows
        If rng.Cells(1, 1).Value = strSearch Then
            ReDim Preserve rngFounds(iFound)
            Set rngFounds(iFound) = rng
            iFound = iFound + 1
        End If
    Next
End Sub

Erläuterung:

Die Variable wshSrc verweist auf die Tabelle 1 mit den vorhandenen zu kopierenden Daten

Die Variable wshDest verweist auf die Tabelle 2 mit den zu ergänzenden Daten.

LG, BigBen


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
17.03.2017 15:41:07 Marcel
NotSolved
19.03.2017 14:49:21 BigBen
NotSolved
19.03.2017 15:06:52 Gast24519
NotSolved
Blau Spalte von einem Tabellenblatt in ein anderes übertragen
19.03.2017 19:33:13 BigBen
NotSolved
19.03.2017 19:36:09 BigBen
NotSolved