vytvořil jsem si v jednom makru ve formuláři zálohu šířky sloupců pro zpracovávanou oblast dat, která se ukládá do pole hodnot SUndo. Ukládá se číslo sloupce a jeho šířka. Vše lze pomocí tlačítka Zpět vrátit do původní podoby, avšak problém nastává, mají li buňky ve sloupci datumový formát např.: “m/d/yyyy” nebo “dd/mm/yyyy”. Potom se původní šířka sloupců správně neobnoví. Věděl by někdo, jak to vyřešit?
Ukázka použitého VBA kódu:
Kód: Vybrat vše
'Vlastní formát pro zálohu šířky sloupce v modulu
Type SloupecUndo
SIndex As Long
SSirka As Integer
End Type
'SIndex – číslo sloupce
'SSirka – šířka sloupce
'Definování proměnných ve formuláři
Dim PocetSloupcu As Long
Dim Sloupec As Range
Dim SUndo() As SloupecUndo
'Záloha šířky sloupců
For Each Sloupec In PracOblast.Columns
PocetSloupcu = PocetSloupcu + 1
ReDim Preserve SUndo(PocetSloupcu)
SUndo(PocetSloupcu).SIndex = Sloupec.Column
SUndo(PocetSloupcu).SSirka = Sloupec.ColumnWidth
Next Sloupec
'Obnovení předchozí šířky sloupců
For s = 1 To UBound(SUndo)
Columns(SUndo(s).SIndex).ColumnWidth = SUndo(s).SSirka
Next s