Bitte Makro erklären!
20.03.2009 12:31:24
Jan
Ein hilfsbereiter User dieses Forums (Dirk aus Dubai) hat mir folgendes Makro zusammengestellt. Ich wäre froh wenn mir jemand folgendes erklären kann.
Wo kann ich herauslesen, dass Excel den Wert, welcher rechts neben dem 2ten Suchkriterium steht, widergeben soll? Wie kann ich das jetzt ändern, wenn ich will ,dass Excel zuerest eine Spalte auslassen udn dann dieser Wert wiedergeben soll? Also einfach eine Spalte weiter rechts gehen.
Wäre sehr froh, wenn mir jemand helfen könnte.
LG Jan
Hier das Makro:
Sub initial_data()
'Dieses Macro versorgt Übersicht mit den Daten aus Tabelle2
Dim SearchStr As String, lCount As Long, rFoundCell As Range
'erste Schleife bestimmt das erste Suchkriterium (Hauptgebiet z.b. Projekte)
For k = 1 To 8 '(6 Hauptgebiete in Tabelle1)
'Festlegen des Suchkriterium, feste Struktur in Tabelle1
SearchStr = Worksheets("Übersicht").Cells(8, 2 + k).Value
Set rFoundCell = Sheets("Monat1").Range("A1")
For lCount = 1 To WorksheetFunction.CountIf(Columns(1), SearchStr)
Set rFoundCell = Columns(1).Find(What:=SearchStr, After:=rFoundCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
foundaddress = rFoundCell.Address
Next lCount
'naechste Schleife bestimmt das 2te Suchkriterium (Untergruppe)
For m = 1 To 5 '(5 Untergruppen in Übersicht)
'suche nach unten in der Tabelle nach dem Wert aus Übersicht
searchstr2 = Sheets("Übersicht").Cells(8 + m, 1).Value
lastrow = Sheets("Monat1").Cells(Rows.Count, rFoundCell.Column + 1).End(xlUp).Row ' _
letzte _
Reihe bestimmen
For i = rFoundCell.Row To lastrow
If Cells(1 + i, rFoundCell.Column + 1).Value = searchstr2 Then
Sheets("Übersicht").Cells(8 + m, 2 + k).Value = Sheets("Monat1").Cells(1 + i, _
3). _
Value
i = lastrow
End If
Next i
Next m
Next k
End Sub