< návrat zpět
MS Excel
Téma: Tlačítko ActiveX - uložit, přidat, uložit
Zaslal/a muncie 11.5.2015 13:38
Ahoj,
mám excel, kde mám tlačítko ActiveX, které do řádku napíše jméno a do vedlejší buňky 1. K tomu bych rád udělal, aby tlačítko nejprve soubor uložilo, provedlo akci a znovu uložilo...
Prosím o radu
já mám toto:
Private Sub CommandButton1_Click()
Dim Radek As Long
Radek = Cells(65000, 1).End(xlUp).Row + 1
Cells(Radek, 1) = 1
Cells(Radek, 2) = "TÁŇA"
End Sub
elninoslov(11.5.2015 14:06)#024896 To máš na mysli iba takúto blbinku ? Načo by to mohlo byť dobré netuším. Ak vykonávaš ešte nejakú akciu v ktorej môže nastať chyba, a bojíš sa o pád Excelu, tak to ošetri v bloku On Error. Nechceš to ty náhodou uložiť v jednom z tých 2 ukladaní ako SaveAs (Uložiť ako) - teda kópiu ?
Private Sub CommandButton1_Click()
Dim Radek As Long
ThisWorkbook.Save
Radek = Cells(65000, 1).End(xlUp).Row + 1
Cells(Radek, 1) = 1
Cells(Radek, 2) = "TÁŇA"
ThisWorkbook.Save
End Subcitovat
muncie(11.5.2015 14:09)#024897 Nene, kopii nechci, chci aby se to ukládalo stále do jednoho souboru. Každopádně vyzkouším.
Děkuji moc
citovat
elninoslov(11.5.2015 15:03)#024900 OK. Tak potom
ThisWorkbook.Save
funguje tak ako chceš.
Ešte tam vidím drobnosť. Ak chceš ukladať záznamy už od riadku 1, musíš výpočet posledného riadku upraviť napr takto
Radek = Cells(65000, 1).End(xlUp).Row + IIf(IsEmpty(Cells(1, 1)), 0, 1)
Už som to tu písal niekde, že ak je 1. riadok prázdny xlUp vráti 1, rovnako ako keď je 1. riadok plný. Ak budeš ukladať až od druhého riadku (v prvom je napr. titulok stĺpca), tak to môže byť ako si to mal. Toto riešenie čo uvádzam, funguje v oboch prípadoch.
citovat
eLCHa(12.5.2015 6:29)#024903 nejprve soubor uložilo, provedlo akci a znovu uložilo
To by mně vážně zajímalo, k čemu slouží to první uložení...
citovat