Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1640to1644
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

Tabelle durchsuchen

Tabelle durchsuchen
27.08.2018 13:46:18
Micha
Hallo Freunde,
anbei eine kleine Exceldatei, wo ich nicht weiterkomme.
https://www.herber.de/bbs/user/123589.xlsm
Beschreibung:
Tabellenblatt 2; Spalte A2:A100 enthalten Namen, Spalte B2:B100 Nummern. Dabei gehört die Zelle in Spalte A immer zu der Zelle in Spalte B. Bspw. Max Mustermann und 5678.
Tabellenblatt 1; Spalte D4:D100 enthalten die gleichen Nummern wie in Tab2 aber in anderer Reihenfolge, Zeile F6:F100 die gleichen Namen aber in anderer Reihenfolge.
Ziel:
Zuerst soll der Namen von Tabelle2 in Tabelle 1 gesucht werden, danach das gleiche mit der Nummer. Ist die Zeile und Spalte auf Tabelle1 bekannt, soll von Tabelle 2 die Zahl aus Spalte C in die entsprechende Zelle geschrieben werden.
Hier das Makro:

Sub Sortierung2()
Dim Teilname As String
Dim Suche As Long
Dim Nummer As Long
Dim Namen As String
Dim Text As String
Dim Auftrag As String
Dim Nummer1 As String
Dim Nummer11 As String
Dim i As Long
Dim j As Long
Dim a As Long
Dim b As Long
Application.ScreenUpdating = False
'Variable festlegen
Namen = Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
Nummer1 = Worksheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Row
Suche = Worksheets("Tabelle1").Cells(Columns.Count, 6).End(xlToRight).Columns
Nummer = Worksheets("Tabelle1").Cells(Rows.Count, 4).End(xlUp).Rows
For a = 2 To Namen
Text = Worksheets("Tabelle2").Cells(a, 1).Value
For b = 2 To Nummer
Auftrag = Worksheets("Tabelle2").Cells(b, 2).Value
For j = 6 To Suche
Teilname = Worksheets("Tabelle1").Cells(2, j).Value
For i = 4 To Nummer1
Nummer11 = Worksheets("Tabelle1").Cells(i, 4).Value
If Text Like "*" & Teilname & "*" & Auftrag Like "*" & Nummer11 & "*" Then
Sheets("Tabelle2").Range("i,3").Value = Worksheets("Tabelle1").Cells(i, j). _
Value
Exit For
Next a
Next b
Next j
Next i
End If
Exit For
Application.ScreenUpdating = True
End Sub

Irgendwo habe ich einen Wurm drin.
Kann mir da jemand helfen?
Danke vielmals.
Grüße
Micha

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle durchsuchen
27.08.2018 14:53:18
ChrisL
Hi Micha
Vielleicht so...
Sub t()
With Worksheets("Tabelle1").Range("F4:I7")
.Formula = "=SUMIFS(Tabelle2!$C:$C,Tabelle2!$A:$A,F$2,Tabelle2!$B:$B,$D4)"
.Calculate
.Value = .Value
End With
End Sub
cu
Chris
AW: Tabelle durchsuchen
27.08.2018 16:00:37
Micha
Hallo Chris,
wow.... wie unkompliziert aber trotzdem funktionsfähig :D
Vielen Dank!
Grüße
Micha
AW: Tabelle durchsuchen
28.08.2018 07:17:29
Micha
Eine Frage ist mir noch aufgekommen..
angenommen auf Tabelle 1 befinden sich bereits Zahlen.. Lassen die sich miteinander addieren?
Grüße
Micha
AW: Tabelle durchsuchen
28.08.2018 08:38:04
ChrisL
Hi Micha
Mit der vorliegenden Lösung nicht. Du müsstest die Zellen einzeln durchlaufen z.B.
Dim c As Range
For Each c in Bereich
c = c + Evaluate("Formel")
Next c
Allerdings kannst du so eine Addition nie mehr rückgängig machen, sollte jemand mal aus Versehen auf den Knopf drücken. Darum würde ich die Tabelle (Quelle) zur Datenerfassung benutzen d.h. pro ID gibt es neu mehrere "Buchungen", welche mit Datum gekennzeichnet sind. Die Auswertung sollte dann wie gehabt funktionieren, da es sich um eine Summenformel handelt.
cu
Chris
Anzeige
AW: Tabelle durchsuchen
28.08.2018 09:40:34
Micha
Hallo Chris,
den Vorgang der Addition führt eine Person aus, die direkt und nur einmalig das Makro ausführt. Daher denke ich, dass eine Sicherung nicht notwendig ist.
Folglich reicht es, deine 2 Codes zu verheiraten.
Kannst du mir bitte dabei helfen?
Danke vielmals!
Grüße
Micha
AW: Tabelle durchsuchen
28.08.2018 10:12:14
ChrisL
Hi
Sub t()
Dim c As Range
For Each c In Worksheets("Tabelle1").Range("F4:I7")
c = c + Evaluate("SUMIFS(Tabelle2!$C:$C,Tabelle2!$A:$A," & Cells(2, c.Column).Address _
& ",Tabelle2!$B:$B,$D" & c.Row & ")")
Next c
End Sub
cu
Chris
Anzeige
AW: Tabelle durchsuchen
28.08.2018 10:16:33
Micha
Der Hammer!.. Vielen Dank :)
Grüße
Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige