Strona 1 z 1

konwersja makra z excela. Proszę o pomoc

: pn wrz 08, 2014 10:26 am
autor: AndrzejSz
Witam. Proszę o pomoc w konwersji makra
Makro ma przełączać mnie na wskazany (wpisany w okienku) arkusz.

Kod: Zaznacz cały

Sub ListujArkusze()
komunikat = "Wprowadź nazwę arkusza"
 Do
 mySht = InputBox(komunikat, "Wybór Arkusza", "Arkusz1")
 If mySht = "" Then Exit Sub
 For i = 1 To ActiveWorkbook.Sheets.Count
 If UCase(mySht) = UCase(Sheets(i).Name) Then Exit Do
 Next i
 
 komunikat = "Wprowadź poprawną nazwę arkusza"
 Loop
 Sheets(mySht).Select
End Sub
Uruchomienie makra powoduje wywołanie okienka, dla którego jednak wprowadzenie nazwy arkusza powoduje podświetlenie linii "For i = 1 To ActiveWorkbook.Sheets.Count" oraz wywala komunikat: Błąd pracy BASICA... Nie ustawiono zmiennej obiektu.
Makro "chodzi" w Excelu.

Re: konwersja makra z excela. Proszę o pomoc

: pn wrz 08, 2014 11:21 pm
autor: belstar

Kod: Zaznacz cały

Sub ListujArkusze()
	komunikat = "Wprowadź nazwę arkusza"
	Do
		mySht = InputBox(komunikat, "Wybór Arkusza", "Arkusz1")
		If mySht = "" Then Exit Sub
			For i = 0 To thisComponent.Sheets.Count - 1
				If UCase(mySht) = UCase(thisComponent.Sheets.getByIndex(i).getName) Then Exit Do
    		Next i
    	komunikat = "Wprowadź poprawną nazwę arkusza"
    Loop
    thisComponent.getCurrentController.setActiveSheet(thisComponent.Sheets.getByName(mySht)
End Sub
AndrzejSz pisze:Makro "chodzi" w Excelu
Teraz makro nie chodzi w Excelu

Re: konwersja makra z excela. Proszę o pomoc

: wt wrz 09, 2014 12:54 pm
autor: AndrzejSz
Dziękuję Ci pięknie.
Teraz wszystko chodzi idealnie. Problemem było szybkie przełączanie się pomiędzy arkuszami, których jest ponad 300 a których nazwa jest znana.
Jeszcze raz dziękuję i pozdrawiam