AW: Spalten drucken
03.01.2008 15:35:00
fcs
Hallo Alex,
das folgende Makro erledigt den Datentransfer ins Blatt Ergebnis.
Code in das Modul in deiner Datei kopieren.
Gruß
Franz
Sub Ergebnis()
'Daten in tabelle Ergebnis zusammenstellen
Dim wksZus As Worksheet, wksErgebnis As Worksheet
Dim ZeileZus As Long, SpalteZus As Integer
Dim ZeileErg As Long
Set wksZus = Worksheets("Zusammenfassung")
Set wksErgebnis = Worksheets("Ergebnis")
ZeileErg = 4 '1. Zeile in der im Blatt Ergebnis Daten eingetragen werden sollen
With wksErgebnis
'Alteinträge löschen
.Range(.Cells(ZeileErg, 2), _
.Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 1)).ClearContents
For ZeileZus = 7 To wksZus.Cells(wksZus.Rows.Count, 4).End(xlUp).Row
If wksZus.Cells(ZeileZus, 4) "" Then 'Eintrag in Spalte D ist vorhanden
'Geträte-Typ im Blatt Ergebnis eintragen
.Cells(ZeileErg, 2).Value = wksZus.Cells(ZeileZus, 4).Value
'Spalte H (8) bis zum Ende prüfen
For SpalteZus = 8 To wksZus.Cells(ZeileZus, wksZus.Columns.Count).End(xlToLeft).Column
'Prüfen ob Anzahl > 0
If wksZus.Cells(ZeileZus, SpalteZus).Value > 0 Then
'Einträge ins Blatt Ergebnis übertragen
.Cells(ZeileErg, 3).Value = wksZus.Cells(3, SpalteZus).Value
.Cells(ZeileErg, 4).Value = wksZus.Cells(4, SpalteZus).Value
.Cells(ZeileErg, 5).Value = wksZus.Cells(5, SpalteZus).Value
.Cells(ZeileErg, 6).Value = wksZus.Cells(ZeileZus, SpalteZus).Value
ZeileErg = ZeileErg + 1
End If
Next
ZeileErg = ZeileErg + 1 'Leerzeile einfügen
End If
Next
End With
End Sub