Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Venitee am März 11, 2015, 10:35:33 Vormittag
-
Hallo,
ichsuche eine Lösung für folgendes Problem:
Ich hab ein Excel-Workbook mit verschiedenenen Worksheets
Sheet 1 + 2 sind Quelldateien
Ab Sheet 3 sind es Auswertungen
Nun benötige ich ein Makro, dass ein neues Worksheet erstellt mit einer Tabelle bestehend aus
Spalte 1 : Name der Worksheets (außer 1 und 2)
Spalte 2: Letzte Zelle Spalte D
Spalte 3: Letzte Zelle Spalte I
Spalte 4: Letzte Zelle Spalte M
Wenn möglich, wäre es auch toll, wenn man durch Klicken auf den WorksheetNamen in Spalte 1 direct auf das entsprechende Worksheet gelangt.
Bitte um Hilfe!
Danke,
Anett
-
Moin Anett,
hier eine Lösung für Haupt-Problem. Das eine oder andere wirst du noch anpassen müssen, insbesondere Namen. Aber bei mir läuft es einwandfrei.
Die Verlinkung habe ich bewusst nicht programmiert. IMHO ist ein Forum nicht dazu gedacht, Kompettlösungen zu liefern. Ich jedenfalls mache es aus Prinzip nicht. Irgend wovon wollen ja auch die Dienstleister leben ;).
-
Hallo, vielen Dank, ich probier es gleich einmal aus. Ich suche auch eher nach einen Lösungsansatz, aber das ist recht schwer zu finden.
-
Ein Lösungsansatz: "Hyperlink" ist das Stichwort, wo du reichlich Hilfe findest.
-
Hallo Günther,
ich habe jetzt deine Lösung getestet. Sie gibt mir allerdings die Anzahl der Reihen wieder und nicht den Inhalt der letzten Reihe in Spalte 2 und 3. Könnte ich deine Formel jetzt mit x.write anstelle von x.count anapssen oder müsste ich ein neues "Modul" schreiben im Fortlauf deiner Formel?
VG,
Anett
-
Moin Anett,
ändere sie hie auskommentierten Zeilen so ab, wie darunter gezeigt ...
' With wksDst
' lRowDst = .Cells(Rows.Count, 1).End(xlUp).Row
' .Cells(lRowDst + 1, 1) = wks.Name
' .Cells(lRowDst + 1, 2) = lRowD
' .Cells(lRowDst + 1, 3) = lRowI
' .Cells(lRowDst + 1, 4) = lRowM
' End With
With wksDst
lRowDst = .Cells(Rows.Count, 1).End(xlUp).Row
.Cells(lRowDst + 1, 1) = wks.Name
.Cells(lRowDst + 1, 2) = wks.Cells(lRowD, "D")
.Cells(lRowDst + 1, 3) = wks.Cells(lRowI, "I")
.Cells(lRowDst + 1, 4) = wks.Cells(lRowM, "M")
End With