Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
Przesunięty przez: Tajan
28-03-2007, 08:43
Problem z ComboBox'em i sortowaniem komórek
Autor Wiadomość
Firgus
[Usunięty]

Wysłany: 26-03-2007, 11:57   Problem z ComboBox'em i sortowaniem komórek

Witam.

Mam takie problemy (wydaje się prosty ale nie dla mnie:)):

1. Chce żeby po przejściu do ComboBoxa prz użyciu Taba lub kliknięciu, rozwinął się on automatycznie.

2. Napisałem taki prosty skrypt do dodawania komórek (kod poniżej) i po dodaniu chce je od razu posortować po Indeksie. Jak to prosto zrobić?

Z góry dzięki za odpowiedź.
Pozdrawiam


--
KOD:

Dim NumerWiersza As Integer

Sub START()
DodajForm.Show
End Sub
NumerWiersza = Worksheets("MATERIAŁY").Cells(1, 18).Value 'w tej komórce zapisuje numer wiersza do którego będzie dodany indeks

Private Sub DodajButton_Click()

NumerWiersza = Worksheets("MATERIAŁY").Cells(1, 18).Value
Worksheets("MATERIAŁY").Cells(NumerWiersza, 1).Value = Indeks.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 2).Value = Opis1.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 3).Value = Opis2.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 4).Value = NazwaDetalu.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 5).Value = JMComboBox.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 6).Value = CenaR.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 7).Value = CenaS.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 8).Value = WalutaComboBox.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 9).Value = GrupaComboBox.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 10).Value = FirmaComboBox.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 11).Value = StatusComboBox.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 12).Value = IloscZam.Text
Worksheets("MATERIAŁY").Cells(NumerWiersza, 14).Value = StanMag.Text
Worksheets("MATERIAŁY").Cells(1, 18).Value = Worksheets("MATERIAŁY SUI").Cells(1, 18).Value + 1

' i teraz chciałbym je posortować
ID posta: 4098 Skopiuj do schowka
 
 
Tajan


Pomógł: 5252 razy
Posty: 11450
Wysłany: 26-03-2007, 13:32   

O ile nie przeszkadza Ci, że ComboBox stanie sie nieedytowalny, to ustaw jego własciwość Style na frmStyleDropDownList i dodaj do niego taką procedurę:
Kod:
Private Sub ComboBox1_Enter()
SendKeys "%{down}"
End Sub

(oczywiście, "ComboBox1" zastąp właściwa nazwa kontrolki).
Procedura będzie również częściowo działała i dla stylu frmStyleComboBox, ale tylko w przypadku wybrania go przy pomocy klawisza Tab.

W celu posortowania danych, na końcu procedury dodaj:
Kod:
With Worksheets("MATERIAŁY")
    .Range(.Cells(1, "A"), .Cells(NumerWiersza, 14)).Sort _
     Key1:=.Range("A1"), _
     Header:=xlGuess
End With

przy czym założyłem, że sortowanie ma się odbywać w obszarze zaczynającym się od komórki A1.
ID posta: 4100 Skopiuj do schowka
 
 
Firgus
[Usunięty]

Wysłany: 26-03-2007, 13:49   

Dzięki za pierwsze:) o to mi chodziło:)

A jeśli chodzi o drugir to wyrzuca mi błąd:

"Błąd wykonania 1004"

Metoda Sort z klasy Range nie powiodła się"

A sortuję od komórki A4:
With Worksheets("MATERIAŁY")
.Range(.Cells(4, "A"), .Cells(NumerWiersza, 14)).Sort _
Key1:=.Range("A4"), _
Header:=xlGuess
End With
ID posta: 4101 Skopiuj do schowka
 
 
Tajan


Pomógł: 5252 razy
Posty: 11450
Wysłany: 26-03-2007, 14:02   

Hmm... To jest coś u Ciebie nie tak, trudno cos powiedzieć na odległość. Czy możesz powiedzieć, jaką wartość ma zmienna NumerWiersza w momencie powstania błędu?
ID posta: 4102 Skopiuj do schowka
 
 
Firgus
[Usunięty]

Wysłany: 26-03-2007, 14:08   

NumerWiersza = 137
ID posta: 4103 Skopiuj do schowka
 
 
Tajan


Pomógł: 5252 razy
Posty: 11450
Wysłany: 26-03-2007, 14:19   

No to wygląda na to, że wszystko powinno być OK. Spróbuj, czy obszar A4:N137 uda Ci sie posortować z menu. Jeżeli tak, to spakuj i załącz jakiś przykład na forum.
ID posta: 4105 Skopiuj do schowka
 
 
Firgus
[Usunięty]

Wysłany: 27-03-2007, 08:45   

Wczoraj się z tym bawiłem i po usunięciu ostatniej lini:
Header:=xlGuess
działa i sortuje poprawnie.

Czy tak to może zostac?
ID posta: 4113 Skopiuj do schowka
 
 
Tajan


Pomógł: 5252 razy
Posty: 11450
Wysłany: 27-03-2007, 09:13   

Lepiej będzie, jeżeli jawnie określisz, czy w obszarze wskazanym do sortowania, znajduje się nagłówek: Header:=xlYes, czy nie: Header:=xlNo
ID posta: 4114 Skopiuj do schowka
 
 
Firgus
[Usunięty]

Wysłany: 27-03-2007, 09:24   

WIELKIE Dzięki:)
ID posta: 4115 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie 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
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.wip.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe