Zdarvím,
prosím niekto by mi prepísal n.u. procedúru, aby bola rýchlejšia?
For Each cell In Worksheets("hárok2").Range("F11:P41")
If cell.Value = 0 Then
cell.Value = " "
End If
Next cell
Vopred vďaka :)
zrýchlenie procedúry
Moderátor: Mods_senior
- elninoslov
- Level 2.5

- Příspěvky: 386
- Registrován: 12 čer 2013 23:40
Re: zrýchlenie procedúry
Napr. :
alebo
Ale 0 sa dajú skryť napr aj formátom. Záleží na tom, čo tam máte. Napr. :
alebo Podmienené formátovanie :
Vzorec:
Formát:
PS: "wsData" je CodeName listu.
Kód: Vybrat vše
Sub ClearZero()
Dim RNG As Range, D(), R As Long, S As Integer, x As Integer, y As Long
With wsData.Range("F11:P41")
R = .Rows.Count: S = .Columns.Count
ReDim D(1 To R, 1 To S)
If R * S = 1 Then D(1, 1) = .Value2 Else D = .Value2
For y = 1 To R
For x = 1 To S
If Not IsEmpty(D(y, x)) And D(y, x) = 0 Then
If RNG Is Nothing Then Set RNG = .Cells(y, x) Else Set RNG = Union(RNG, .Cells(y, x))
End If
Next x
Next y
End With
If Not RNG Is Nothing Then RNG.ClearContents
End SubKód: Vybrat vše
Sub ClearZero2()
Dim RNG As Range, Bunka As Range
For Each Bunka In wsData.Range("F11:P41")
If Not IsEmpty(Bunka) And Bunka.Value2 = 0 Then
If RNG Is Nothing Then Set RNG = Bunka Else Set RNG = Union(RNG, Bunka)
End If
Next Bunka
If Not RNG Is Nothing Then RNG.ClearContents
End SubKód: Vybrat vše
General;General;Vzorec:
Kód: Vybrat vše
=F11=0Kód: Vybrat vše
;;;
alebo
General;General;Re: zrýchlenie procedúry
ahh Jasne General :).
Vďaka.
Vďaka.
