< návrat zpět
MS Excel
Téma: Nahrazení nulových hodnot prázdnými buňkami
Zaslal/a parkovec 15.11.2022 23:34
Dobrý večer,
potřeboval bych opět pomoc.
Makro kopíruje hodnoty v jednom sloupci a vkládá je do jiného.
Sub vyrobit()
Range("AD4:AD48").Copy
Range("E4:E48").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Potřeboval bych přidat pravidlo, že pokud budou v kopírovaném sloupci v některých buňkách hodnoty 0, aby byly při vložení nahrazeny prázdnými buňkami bez hodnot.
Takže pokud bude např. v AD10 hodnota 0, v E10 pak bude prázdná buňka.
Dále aby po vložení hodnot nezůstal aktivní sloupec E, aby se prostě deaktivoval, jestli je to vůbec možné.
elninoslov(16.11.2022 6:32)#053859 Napr.:
Sub Vyrobit()
Dim D(), i As Long
With ThisWorkbook.Worksheets("Hárok1")
D = .Range("AD4:AD48").Value
For i = 1 To UBound(D, 1)
If D(i, 1) = 0 Then D(i, 1) = Empty
Next i
.Range("E4:E48").Value = D
End With
End Sub
Predpokladám, že formáty v tom E sú nastavené, a tie netreba kopírovať.
EDIT:
Alebo môžete použiť aj nahradenie hodnoty:
Sub Vyrobit()
With ThisWorkbook.Worksheets("Hárok1")
.Range("E4:E48").Value = .Range("AD4:AD48").Value
.Range("E4:E48").Replace What:="0", Replacement:="", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
End Subcitovat
parkovec(17.11.2022 14:18)#053891 Opět dokonalé řešení, takto jsem si to představoval
Velice děkuji
citovat