Thema Datum  Von Nutzer Rating
Antwort
Rot Daten in einem Array finden und Spalteninhalte wiedergeben
15.12.2021 17:27:05 NikoM
NotSolved
15.12.2021 20:12:09 Gast36086
NotSolved
16.12.2021 08:39:09 NikoM
NotSolved
16.12.2021 11:03:23 Gast1949
NotSolved

Ansicht des Beitrags:
Von:
NikoM
Datum:
15.12.2021 17:27:05
Views:
326
Rating: Antwort:
  Ja
Thema:
Daten in einem Array finden und Spalteninhalte wiedergeben

Hallo Excel-VBA Freunde,

ich stehe seit einigen Stunden auf dem Schlauch und komme einfach nicht weiter. Folgender Sachverhalt liegt vor:

Tabelle1

ID Einsatz Titel Name Vorn Straße Hausnr. PLZ Ort Mobil Dienstlich Festnetz Mailadresse
111 WV Dr. Apfelbaum Apfel Apfelstr. 1 123 Apfelort 456 789 000 Apfel@...
111 STWV   Birnenbaum Birne Birnenstr. 2 234 Birnenort 789 111 222 Birne@...
112 WV Prof.                    
112 STWV                      
113 WV                      
113 STWV                      
114 WV Dr.                    
115 STWV                      

Tabelle2

ID Titel_WV Name_WV Vorn_WV Straß_WV Hausnr_WV PLZ_WV Ort_WV Mobil_WV Dienst_WV Festn_WV Maila_WV leere Spalte   Titel_STWV Name_STWV Vorn_STWV Straße_STWV              
111 Dr. Apfelbaum Apfel Apfelstr 1 123 Apfelort 456 789 000 Apfel@...     Birnenbaum Birne Birnenstr.              
112                                              
113                                              
114                                              
115                                              

Im Prinzip soll nun folgendes passieren. Er prüft Zeile für Zeile aus Tabelle2 Spalte A (ID) ob diese in Tabelle1 Spalte A (ID) vorkommt. Wenn ja, prüft er die rechts danebenliegende Zelle, ob dort "WV" oder "STWV" enthalten ist. Sind beide Bedingungen erfüllt überträgt er die Daten aus der Trefferzeile der Tabelle1 in die jeweiligen Zellen in Tabelle2. 

Leider kenne ich mich mit Arrays nicht aus und habe zunächst versucht mir die Trefferzeilen in Tabelle 1 farblich zu markieren um zu schauen, ob er auch die richtigen Zeilen findet. Das klappt soweit mit u.g. Code ganz gut. An sich müssen jetzt "nur" noch die richtgen Spalten der Trefferzeile in Tabelle2 hineingeschrieben werden. Fragt sich nur wie. Ich hoffe, jemand kann mir helfen :)

P.S. Mit einer SVERWEIS Formel in den jeweiligen Zellen habe ich es auch hinbekommen. Bei über 10.000 Datensätzen und zig SVERWEIS Formeln rechnet er aber über 5min. So bin ich auf die ARRAYS gestoßen und habe gelesen, dass es damit deutlich schneller geht.

Sub SucheNachInhalten()
Dim lngZeile As Long
Dim lngZeileMax As Long
Dim lngZeileMax2 As Long
Dim VarDat As Variant
Dim i As Integer

With Tabelle1

    'Array für Zeilen in Tabelle1
    lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
    
    'Array für Zeilen in Tabelle2
    lngZeileMax2 = Sheets("Tabelle2").Range("A" & .Rows.Count).End(xlUp).Row
 
    For lngZeile = 2 To lngZeileMax
        VarDat = Sheets("Tabelle2").Range("A2:A" & lngZeileMax2)
        For i = 1 To UBound(VarDat)
        
        If .Range("A" & lngZeile).Value = VarDat(i, 1) And .Range("B" & lngZeile).Value = "WV" Then
        .Range("A" & lngZeile).Interior.ColorIndex = 6
        End If
        
        If .Range("A" & lngZeile).Value = VarDat(i, 1) And .Range("B" & lngZeile).Value = "STWV" Then
        .Range("A" & lngZeile).Interior.ColorIndex = 8
        
        Exit For
        End If
    
    
Next i
Next lngZeile
 
    
End With

End Sub

VG und fröhliche Weihnachten

Niko


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
Rot Daten in einem Array finden und Spalteninhalte wiedergeben
15.12.2021 17:27:05 NikoM
NotSolved
15.12.2021 20:12:09 Gast36086
NotSolved
16.12.2021 08:39:09 NikoM
NotSolved
16.12.2021 11:03:23 Gast1949
NotSolved