10.10.2017, 15:16
Hi,
ich habe in einem Zellbereich (B4:CW103) einer Hilfstabelle entweder eine 0 oder eine Zahl.
Im Controlling-Blatt steht in manchen Zellen ein Datum, alle anderen sind Leerzellen.
Nun sollen im Controlling-Blatt die Leerzellen entweder mit einem "-" gefüllt werden oder leer bleiben, abhängig von der korrespondierenden Zelle der Hilfstabelle.
Mit
geht es, dauert aber lange.
Wie kann ich das beschleunigen?
Mit
kann ich sehr schnell in alle leeren Zellen eine 0 schreiben oder Zellen mit "-" leer machen, gibt es so etwas auch für alle Zellen, die kein Datum enthalten?
ich habe in einem Zellbereich (B4:CW103) einer Hilfstabelle entweder eine 0 oder eine Zahl.
Im Controlling-Blatt steht in manchen Zellen ein Datum, alle anderen sind Leerzellen.
Nun sollen im Controlling-Blatt die Leerzellen entweder mit einem "-" gefüllt werden oder leer bleiben, abhängig von der korrespondierenden Zelle der Hilfstabelle.
Mit
Code:
With Sheets("Controlling")
.Unprotect 'Passwort
'Übertragen der Inhalte der Hilfstabelle
For j = 2 To 101 '100 Spalten: B bis CW
For i = loMatrixStart To loMatrixEnde '100 Zeilen: 4 bis 103
'wenn im Controlling-Blatt ein Datum steht, soll das Datum bleiben
If Not IsDate(Sheets("Controlling").Cells(i, j)) Then
'wenn eine Zahl in der Hilfstabelle steht, soll die Zahl übertragen werden, bei 0 ein "-"
If Sheets("Hilfstabelle").Cells(i, j).Value > 0 Then
.Cells(i, j).Value = .Cells(i, j).Value
Else
.Cells(i, j).Value = "-"
End If
End If
Next i
Next j
.Protect 'Passwort
End With
Wie kann ich das beschleunigen?
Mit
Code:
Range("B4:CW103").SpecialCells(xlCellTypeBlanks) = 0
.Range("B4:CW103").SpecialCells(xlCellTypeConstants, xlTextValues).ClearContents