» Poradna » Programy

Excel - mazanie cez command button

 | 

ahojte, spravil som si tlacitko na mazanie niektorych buniek vo formulari, funguje to takto:Range("C17:E41,H17:H41,J17:J41,J45,I10,H11,H12,K12" ).Select Selection.ClearContentsakurat ze mi to zmaze aj vzorec ktory bunka obsahuje, co nepotrebujem. napr. v jednej z buniek sa nachadza vzorec:=INDEX(Sídlo;P9)a po vykonani prikazu cmdbutton tam uz nie je. viete mi poradit ako zmenit ten prikaz, aby sa nezmazal vzorec?dakujem

Mohlo by vás také zajímat

Odpovědi na otázku

 |   | 

Ja som si vo VBA napisal funkciuFunction CleanRng(strLst$, strObl$) On Error Resume Next With Sheets(strLst$) .Range(strObl$).SpecialCells(xlCellTypeConstants, 23).ClearContents .Select End WithEnd Function

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

jednotlive bunky v bloku mazat postupne a testovat, zda je vzorec (bud volat tuto subrutinu nebo telo vlozit do sub prirazene tlacitku):Sub mazat()Dim MyBlok As Range, MyCell As RangeSet MyBlok = Range("C17:E41,H17:H41,J17:J41,J45,I10,H11,H12,K12")For Each MyCell In MyBlok.CellsIf Not MyCell.HasFormula Then MyCell.ClearContentsNext MyCellEnd Sub

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Samozrejme ten prikaz .Select je pre vas zbytocny - ja som to potreboval v kontexte v programe, aby som usetril riadky v kode pri viacnasobnom volani

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

pisem treti a posledny krat - staci jeden prikazSheets(strLst$).Range(strObl$).SpecialCells(xlCellT ypeConstants, 23).ClearContents

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

dakujem vam za odpoved... ale priznam sa nie som z toho velmi mudry. mozte to trosku popisat, co je co? ja viem, pre vas je to zrejme trivialne, ale ja som este nedorastol.dakujem

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

jak na udalosti viz http://www.officir.ic.cz/chipex05/09/excel_vba_uda... procedura pro mazani bude (dle autora drivejsi odpovedi - test):Private Sub CommandButton1_Click()strLst$ = "list1" ' list s datystrObl$ = "C17:E41,H17:H41,J17:J41,J45,I10,H11,H12,K12" ' mazana oblastOn Error Resume Next ' pro pripad, ze bunky jsou jiz vymazaneSheets(strLst$).Range(strObl$).SpecialCells(xlCellT ypeConstants, 23).ClearContentsEnd Sub

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

editor poradny vklada mezeru do: ..(xlCellTypeConstants,...; nutno odstranit v editoru VBA

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Button, Command, Sídlo