konwersja makra z excela. Proszę o pomoc

Makropolecenia i funkcje w języku Basic
AndrzejSz
Posty: 2
Rejestracja: pn wrz 08, 2014 10:17 am

konwersja makra z excela. Proszę o pomoc

Post 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.
OpenOffice 3.1 na Windows XP
belstar
Posty: 654
Rejestracja: czw mar 17, 2011 9:08 am

Re: konwersja makra z excela. Proszę o pomoc

Post 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
LibreOffice 5.1.2.2 Ubuntu 16 LTS
AndrzejSz
Posty: 2
Rejestracja: pn wrz 08, 2014 10:17 am

Re: konwersja makra z excela. Proszę o pomoc

Post 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
OpenOffice 3.1 na Windows XP
ODPOWIEDZ