Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Skrócony regulamin

[Excel 2007] Dlaczego zdefiniowana przez ze mnie nazwa jest niewidoczna w VBA



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
plota



Dołączył: 31 Lip 2011
Posty: 37

PostWysłany: Sro Lut 08, 2012 8:05 pm      Temat postu: [Excel 2007] Dlaczego zdefiniowana przez ze mnie nazwa jest niewidoczna w VBA Odpowiedz z cytatem Pisownia

Dzień dobry,
mam takie pytanie dlaczego zdefiniowana przez ze mnie nazwa „Zakres” jest niewidoczna w VBA. Nazwę starałem się zdefiniować w sposób podobny do tego jaki robiła to KarolinaVB w końcu jak się uczyć to od najlepszych ;-).
Byłbym również wdzięczny jakby ktoś powiedział mi jak poprzesuwać tekst w polu tekstowym .
PS
Głupio mi że korzystam z nie swoich projektów ale do wymyślania własnych wena mi się już dawno skończyła.



próbka.rar
 Opis:

Pobierz
 Nazwa pliku:  próbka.rar
 Wielkość pliku:  29.55 KB
 Pobierano:  10 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
karolinavb
Site Admin


Dołączył: 25 Maj 2005
Posty: 6665

PostWysłany: Sro Lut 08, 2012 9:25 pm      Temat postu: Odpowiedz z cytatem Pisownia

Cytat:
nazwa „Zakres” jest niewidoczna w VBA
Zdefiniowałeś nazwę jak niżej:
Cytat:
=PRZESUNIĘCIE(PRODUKTY!$B$1;0;0;ILE.NIEPUSTYCH(PRODUKTY!$B:$B);5)
Proszę w module standardowym napisać sobie następującą procedurę:
Kod:
Sub test()
    MsgBox ThisWorkbook.Worksheets("produkty").Range("zakres").Address
End Sub

Uruchomienie tego kodu z okienka edycji kodu VBA skutkuje okienkiem jak na załączonym obrazku.
Więc nazwa jest widoczna.
Gdzie jej użyłeś w załączonym skoroszycie?

Natomiast w Twoim kodzie jest ConnectionString:
Cytat:
conntxt = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Application.ThisWorkbook.Path & "\próbka.xlsm;" & _
"Extended Properties=Excel 8.0;"

A dla xlsm jest on niewłaściwy!!!!!
http://www.connectionstrings.com/excel-2007
http://erlandsendata.no/?p=2095

Załączony przez Ciebie skoroszyt ma nazwę próbka.xlsm.
Ty w usiłujesz (nawet gdyby ciąg połączenia był ok.) sięgnąć ADO do otwartego skoroszytu, w tym przypadku tego, w którym jest ten kod,
a to prowadzi do uszkodzenia skoroszytu, jest to bug Billa i było na forum.
Ponadto, nawet gdy wsio był ok, i byłby to inny zamknięty skoroszyt to i tak bez sensu jest nieustające powtarzanie połączenia.
Wystarczy Recordset- zmienna na poziomie modułu klasy Userform, kursor po stronie klienta i disconnected Recordset + filtry .
Cytat:
Do Until rst.EOF
też wystarczy Column + GetRows
Więc????

P.S. Czyj projekt masz na myśli.



plota_named_range.JPG
 Opis:

Pobierz
 Nazwa pliku:  plota_named_range.JPG
 Wielkość pliku:  18.74 KB
 Pobierano:  9 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
plota



Dołączył: 31 Lip 2011
Posty: 37

PostWysłany: Sro Lut 08, 2012 11:11 pm      Temat postu: Odpowiedz z cytatem Pisownia

Droga Karolino, ja chciałem w miejsce nazwy "Doda" wstawić nazwę "Zakres", dlaczego z Dodą działa a z nazwą "Zakres" nie działa?
ConnectionString - już poprawiłem.
A co do reszty Twoich uwag to nawet nie będę Cię prosił o dalsze wyjaśnienia bo i tak pewnie bym nie zrozumiał.
Dzięki i Pozdrawiam plota
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
karolinavb
Site Admin


Dołączył: 25 Maj 2005
Posty: 6665

PostWysłany: Sob Lut 11, 2012 12:27 pm      Temat postu: Odpowiedz z cytatem Pisownia

Jeszcze raz....
Masz referencje do (okienko edycji projektu VBA, Menu\Tools\References:
Microsoft ActiveX Data Objects 2.8 Library
Microsoft Access 12.0 Object Library
Microsoft DAO 3.6 Object Library
Po co te wszystkie ?

Jesio raz...
- masz skoroszyt moj_skoroszyt.xlsm
- w nim kod pobierający dane ADODB
Pytam ponownie.
Czy skoroszyt, z którego pobierasz dane jest to inny skoroszyt niż moj_skoroszyt.xlsm, jeśli nie jest to inny skoroszyt to źle robisz.
Nie można sięgać ADO do otwartego w Excelu skoroszytu zwłaszcza gdy jest w nim kod.
Wprawdzie dla Microsoft.ACE.OLEDB.12.0 ten problem występuje rzadziej, ale po pewnym czasie się pojawia…
Prowadzi to so uszkodzenia skoroszytu.
Należy kopiować dane, np. tylko wartości do nowego skoroszytu (CopyRange2NewBook), albo korzystać z SaveCopyAs.
SaveCopyAs jest ok. jeśli ten skoroszyt nie ma dużej liczby danych w innych arkuszach.
Ja nic nie wiem o Twoim skoroszycie, poza tym co załączyłeś.
Nazwane zakresy aby były widoczne dla ADO nie mogą być wyrażeniem.
-------------------------------
W arkuszu start Listbox jest zasilany z arkusza produkty, potem w Userform z Recorset, Ado nie wiem co w końcu chcesz?????
Jak rozumiem:
- pobieramy unikalne nazwy i numery
- do ListBox pobieramy wszystko
- potem Listbox filtrujemy



probka_adodb_2_list.rar
 Opis:

Pobierz
 Nazwa pliku:  probka_adodb_2_list.rar
 Wielkość pliku:  52.48 KB
 Pobierano:  7 raz(y)

Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
plota



Dołączył: 31 Lip 2011
Posty: 37

PostWysłany: Sob Lut 11, 2012 8:36 pm      Temat postu: Odpowiedz z cytatem Pisownia

Wielkie Dzięki!!!
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.10574 sekund, zapytan = 9
contact

| Darmowe programy i porady Jelcyna | VB4all | Tansze zakupy w Helionie |