< návrat zpět

MS Excel


Téma: VBA zavirani sesit rss

Zaslal/a 2.9.2011 9:32

Zdravim,

chtěl jsem požádat o radu:

mám vytvořené makro které si otevře sešit překopíruje požad. data do jiného sešitu a pak ho následovně zavře ale bohužel mi vyskočí hláška "schránka obsahuje velké množství...." které musím potvrdit ručně.
Pokoušel jsem se to ošetřit kódem "Application.DisplayAlerts=False" ale bezúspěšně.Poradil by jste mi někdo jak na to?
A ještě otázka kdyby kód fungoval musím pak změnit hodnotu na True aby chybové hlášky opět fungovali nebo se hodnota defaultně nastaví při zavření sešitu?
díky moc

Zaslat odpověď >

icon #005903
Poki
Zajimavy dotaz - protoze neznam odpoved, zkousel jsem patrat a googlit, ale nikde jsem nenasel uspokojivou odpoved, ktera by fungovala.

Jedine reseni, ktere vidim je tedy pouzit metodu SendKeys, ktera simuluje stiknuti klaves na klavesnici - ALE TADY POZOR - je opravdu velmi nutne tuto metodu pouzivat je tam, kde si budete jisti, ze udela to spravne, protoze muze napachat hodne skody!

V prikladu nize metodu pouziji v MsgBoxu, kde budu chtit, aby vybrala tlacitko NE, ktere neni pri objeveni se MsgBoxu aktivni (musi se nedriv stiknout sipka doprava a pote teprve Enter) - podobne byste to mohl vyuzit pro automaticke odkliknuti hlasky, ktera vas otravuje.

Sub neco()
Dim Zprava As VbMsgBoxResult

Application.SendKeys ("{RIGHT}" & "{ENTER}")
'simuluje vybráni tlacitka NE v MsgBoxu (nejdriv posun sipkou doprava a stisk ENTER)

Zprava = MsgBox("Co chcete udelat", vbYesNo, "Nazev")

Select Case Zprava
Case vbYes
MsgBox "Vybráno ANO"
Case vbNo
MsgBox "Vybráno NE"
End Select

End Subcitovat
#005904
avatar
A co před zavřením do schránky zkopírovat nějakou libovolnou prázdnou buňku. Tím pádem už nebude obsahovat velké množství dat a nebude hláška otravovat?citovat
#005905
avatar
Super... oběma vám pánové děkuji,

@Poki: taky jsem přemýšlel použít SendKeys ale jak říkáš je to ošemetný
@chipoun: super myšlenka .. schránka se vyprázdnila a hláška zmizela

ještě jednou díkycitovat
#005906
avatar
Podle mne je řešení jiné.
1. Můžeš před Close vložit Application.CutCopyMode = False

2. Stačí abys nějakou buňku označil za aktivní Range("A1").Select ... tím se zruší označená oblast a můžeš ukládadat. ActiveWorkbook.Close Savechanges:=False

R.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse