AW: Tabelle1 mit Daten aus Tabelle 2 ergänzen
25.01.2017 13:03:21
onur
Option Explicit
'Public im Modul, damit Du von überall aus darauf zugreifen kannst
Public Const maxz = 100' Maximale Anzahl Zeilen mit ID in Tabelle1
Public Const maxs = 100' Maximale Anzahl Spalten mit Title in Tabelle1
Public ID_Nr(maxz) As Long
' Hier werden später alle in Tabelle1 vorhandenen ID-Nr im Array gespeichert
Public Title(maxs) As String
' Hier werden später alle in Tabelle2 vorhandenen Title´s im Array gespeichert
Public Sub Suchen()'Name des Sub´s
Dim z, s, n, nr, ID As Long
Dim AnzID, AnzTi As Integer
Dim TI As String
'Lokale Variable, zum einmaligen Gebrauch
' Speichern der in Tabelle1 vorhandenen ID-Nr
For z = 2 To maxz
If Tabelle1.Cells(z, 1) <> "" Then' Stoppe, sobald Zelle in Spalte 1 leer
ID_Nr(nr) = Tabelle1.Cells(z, 1).Value
nr = nr + 1
End If
Next z
AnzID = nr'Anzahl ID-Nr
nr = 0
' Speichern der in Tabelle2 vorhandenen Title´s
For s = 4 To maxs
If Tabelle1.Cells(1, s) <> "" Then' Stoppe, sobald Zelle in Zeile 1 leer
Title(nr) = Tabelle1.Cells(1, s)
nr = nr + 1
End If
Next s
AnzTi = nr'Anzahl Title
For z = 2 To 1000
If Tabelle2.Cells(z, 2) <> "" Then'Nimm die ID-Nr in Tabelle2 Spalte2, bis Spalte _
leer
ID = Tabelle2.Cells(z, 2)
For n = 0 To AnzID - 1
If ID = ID_Nr(n) Then
' Finde Index von ID-Nr (Position im Array - damit auch indirekt Pos. auf Tabelle1)
For nr = 0 To AnzTi - 1
TI = Tabelle2.Cells(z, 3)
If TI = Title(nr) Then
' Finde Index von Title (Position im Array - damit auch indirekt Pos. auf Tabelle1)
Tabelle1.Cells(n + 2, 4 + nr) = Tabelle2.Cells(z, 4)
' Kopiere Wert unter Code auf Tabelle2 in Tabelle 1
End If
Next nr
End If
Next n
End If
Next z
End Sub