Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereich in Array einlesen

Bereich in Array einlesen
06.08.2015 09:08:16
Anna
Hallo zusammen,
Ich möchte einen Code, der prüft, ob die Werte von Zeile 3:100 in Spalte G der Tabelle 3 und Spalte D der Tabelle 1 übereinstimmen.
Stimmen die Werte überein, so soll der Bereich der übereinstimmenden Zeile (von E bis SF) von Tabelle 1 in Tabelle 3 kopieren.
Ich hab folgenden Code gefunden und abgeändert.
Bisher wird nur der Bereich E:F in die Tabelle 3 kopiert.
Wie kann der Bereich E:SF kopiert werden?
Public Sub machs()
Dim myTarget As Variant
Dim myOrigin As Variant
Dim myDic As Object
Dim L As Long
myTarget = Sheets("Tabelle3").Range("G3:J160") 'Anpassen
myOrigin = Sheets("Tabelle1").Range("D3:G160") 'Anpassen
Set myDic = CreateObject("Scripting.Dictionary")
For L = LBound(myOrigin) To UBound(myOrigin) 'Unikate sammeln
myDic(myOrigin(L, 1)) = Array(myOrigin(L, 2), myOrigin(L, 3)) 'Zu jedem Unikat die  _
passenden Werte aus Value_Origin aufnehmen
Next
For L = LBound(myTarget) To UBound(myTarget)
If myDic.exists(myTarget(L, 1)) Then 'Prüfung ob wert aus Offset_Target in  _
Ofrfset_Origin vorhanden
myTarget(L, 3) = myDic(myTarget(L, 1))(0) 'Wenn ja Werte übertragen
myTarget(L, 4) = myDic(myTarget(L, 1))(1)
End If
Next
Sheets("Tabelle3").Range("G3:J160") = myTarget 'Alles wieder zurückschreiben
End Sub
Liebe Grüße

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich in Array einlesen
06.08.2015 13:09:14
ransi
Hallo Anna,
Der Code kommt mir vertraut vor....
Wenn du eine Beispieltabelle hochlädst kann ich den Code anpassen.
ransi

AW: Bereich in Array einlesen
06.08.2015 14:55:01
Anna
Hallo Ransi,
das wäre so was von super :).
Hier die Tabelle.
Die gelben Spalten der Tabelle 3 und 1 sollen verglichen werden.
https://www.herber.de/bbs/user/99365.xlsx
Liebe Grüße

AW: Bereich in Array einlesen
09.08.2015 07:43:36
Anna
Hat jemand eine Idee?
Lg

AW: Bereich in Array einlesen
09.08.2015 10:31:21
ransi
HAllo Anna,
Teste mal an einer Kopie deiner Originaldaten:
Option Explicit

Public Sub machs()
    Dim myTarget As Variant
    Dim myOrigin As Variant
    Dim myDic As Object
    Dim L As Long
    Dim myOut As Variant 'Ausgabearray
    Dim myItem As Variant 'Passende Wertezeile
    Dim lngIndex As Long
    myOrigin = Sheets("Tabelle1").Range("D3:SF160") 'Anpassen
    myTarget = Sheets("Tabelle3").Range("G2:G160") 'Anpassen
    Redim myOut(1 To UBound(myTarget), 1 To UBound(myOrigin, 2) - 1)
    Set myDic = CreateObject("Scripting.Dictionary")
    For L = LBound(myOrigin) To UBound(myOrigin) 'Unikate sammeln
        myDic(myOrigin(L, 1)) = WorksheetFunction.Index(myOrigin, L) 'Zu jedem Unikat die _
            passenden Werte aus Value_Origin aufnehmen

    Next
    For L = LBound(myTarget) To UBound(myTarget)
        If myDic.exists(myTarget(L, 1)) Then 'Prüfung ob wert vorhanden
            myItem = myDic(myTarget(L, 1))
            For lngIndex = 2 To UBound(myItem)
                myOut(L, lngIndex - 1) = myItem(lngIndex)
            Next
        End If
    Next
    Sheets("Tabelle3").Range("H2").Resize(UBound(myOut), UBound(myOut, 2)) = myOut 'Alles wieder zurückschreiben
End Sub


ransi
Anzeige

228 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige