суббота, 3 июня 2017 г.

Microsoft Excel + VBA. Хатоларни тугрилаш

Microsoft Excel + VBA. Хатоларни тугрилаш.


Баъзида макрос баъзи операцияларни бажаришда хато ойнасини курсатади, ва ишлашдан тухтайди (мисол: 1-расм).
1-расм.



Шунака пайтда, биз хато урнида бошка операция бажарадиган код ёзишимиз керак булади. Бу код "On Error" булиб, уни кандай куллаш буйича интернетда макола ва уларда хар хил услублар жуда куп.
Ва, шулар ичидан мен узимга энг осон булганини танлаб олдим. Менга кулай булгани, хозирча, хато юз берганда: 1) код бу хато хакида хакида ахборот берсин, 2) кейин ишлашдан тухтасин.
Акс холда биринчи расмдаги холат юз берганда оддий оператор (VBAдан хабари йук) кулланса "Debug" (1-расмдаги) тугмасини босса, VBA проект очилиб кетади ва х.к. нокулайликлар пайдо булади.
Хуллас, мана ушбу кодга мисол:
2-расм

Яшил рангда хар сатрга изох беришга харакат килдим.
Натижада, макрос тугри ишласа ишлайверади, хато юз берса, куйидаги ойна чикади:
3-расм

Тайёр код:

Private Sub CommandButton2_Click()
On Error GoTo ErrMsg 'biror satrda ErrorMsg kodi bolishi kerak
ActiveSheet.ShowAllData ' asosiy kod , bu misolda filtrni boshatish

Exit Sub 'bu satr majburiy, bolmasa xato bolsa-bolmasa chiqaveradi

'shu yerda asosiy xato yuz berganda nima qilish kodi boshlanadi
ErrMsg:
MsgBox "Ошибка: фильтр и так открыт"


End Sub


Эътибор учун рахмат,
Хурмат билан, 
Умрбек.



Комментариев нет:

Отправить комментарий

кабул килинди

Excelдаги яна иккита функция (формула) VBA оркали: 1.PDF сахифалари сонини аниклаш. 2.Файлларни жойини кучириш (Move, Переместить)

1.PDF Файли сахифалари сонини чикариш. Мана шу функцияни модулга жойлаштирсак формуламиз PDF файл ичидаги сахифалар сонини чикариб бериши...