ID tematu: 305
|
Wypełnianie ComboBox |
Autor |
Wiadomość |
Tadek
Excel Expert
Wersja: Win Office 2010
Pomógł: 2221 razy Posty: 6119
|
Wysłany: 18-01-2007, 10:47 Wypełnianie ComboBox
|
|
|
Do tabeli w kolumny od B do H za pomocą ComboBox wprowadzam pewne wartości. W kolumnie B nazwisko i imię, w kolumnie C datę zatrudnienia itd. Co dopisać do makra, aby po wpisaniu do ComboBox1 nazwiska i imienia przeszukiwana była tabela z danymi już wpisanymi i w ComboBox2 pojawiły się dane odpowiadające temu nazwisku - jeśli już takie nazwisko jest w tabeli, jeśli nie ma to wpis np. "Podaj datę zatrudnienia". |
|
| ID posta:
1556
|
|
|
|
|
|
|
Trebor
Excel Expert
Pomógł: 1752 razy Posty: 4680
|
Wysłany: 18-01-2007, 13:47
|
|
|
Co to są za comboboxy (w jaki sposób utworzone)?
Jeśli należy wyszukać pojedynczą wartość ( zawartość combobox1) to w jakim celu wpiswać to do drugiego combo a nie np. wprost do komórki czy textbox. Chyba że zakładasz zdublowane nazwiska.
Pozdrawiam |
_________________ Trebbor@wp.pl |
|
| ID posta:
1564
|
|
|
|
|
|
Tadek
Excel Expert
Wersja: Win Office 2010
Pomógł: 2221 razy Posty: 6119
|
Wysłany: 18-01-2007, 14:31
|
|
|
Chodzi o elementy formularza do wprowadzania danych: UserForm1.ComboBox1, UserForm1.ComboBox2 itp. Do wywołanego formularza wpisuję dane, które przenoszone są do tabeli instrukcją:
Cells(nrwie,"B")= UserForm1.ComboBox1,
Cells(nrwie,"C")= UserForm1.ComboBox2 itd.
To samo nazwisko może być wprowadzane kilka razy z innymi danymi w poszczególnych kolumnach (np. różne ukończone kursy), ale data zatrudnienia ta sama. Obecnie przy nowym wpisie tej samej osoby, ale nowego kursu, w formularzu muszę wpisywać nazwisko i datę zatrudnienia od nowa. Chodzi mi o to, aby po wpisaniu do formularza nazwiska, data zatrudnienia została wprowadzona do drugiej pozycji formularza automatycznie - po odpowiednim wyszukaniu z wypełnionej wcześniej tabeli - a do formularza wprowadzałbym dalsze inne nowe dane tej samej osoby. |
|
| ID posta:
1565
|
|
|
|
|
|
Trebor
Excel Expert
Pomógł: 1752 razy Posty: 4680
|
Wysłany: 18-01-2007, 15:24
|
|
|
Tadek napisał/a: | Chodzi mi o to, aby po wpisaniu do formularza nazwiska |
Jeśli będzie to dotyczyło nie wpisania ale wybrania nazwiska z combo to takie makro powinno być skuteczne. Oczywiście zmień nazwę arkusza i zakres danych.
Kod: |
Private Sub ComboBox1_Click()
With Sheets("Arkusz1")
ComboBox2.Value = WorksheetFunction.VLookup(ComboBox1.Text, .Range("B1:C100"), 2, False)
End With
If IsNumeric(ComboBox2.Value) Then
ComboBox2.Value = Format(ComboBox2.Value, "dd/MM/yyyy")
Else
ComboBox2.Text = "Brak daty."
End If
End Sub
Pozdrawiam
|
|
_________________ Trebbor@wp.pl |
|
| ID posta:
1567
|
|
|
|
|
|
Tadek
Excel Expert
Wersja: Win Office 2010
Pomógł: 2221 razy Posty: 6119
|
Wysłany: 22-01-2007, 09:25
|
|
|
Trebor - dzięki, działa jeśli wpisuję nazwisko takie, które już jest w tabeli - ale przestaje działać, kiedy wpisywanego nazwiska nie ma w tabeli. Chyba trzeba coś dodać do makra ? |
|
| ID posta:
1664
|
|
|
|
|
|
Trebor
Excel Expert
Pomógł: 1752 razy Posty: 4680
|
Wysłany: 22-01-2007, 12:17
|
|
|
Spróbuj tak:
Kod: |
Private Sub ComboBox1_Change()
On Error GoTo koniec
ComboBox2.Text = ""
With Sheets("Arkusz1")
ComboBox2.Text = Format(WorksheetFunction.VLookup(ComboBox1.Text, .Range("B1:C100"), 2, False), "dd/MM/yyyy")
End With
If ComboBox2.Text = "" Then ComboBox2.Text = "Brak daty."
On Error GoTo 0
Exit Sub
koniec:
ComboBox2.Text = "Brak nazwiska"
End Sub
|
Pozdrawiam |
_________________ Trebbor@wp.pl |
|
| ID posta:
1669
|
|
|
|
|
|
Tadek
Excel Expert
Wersja: Win Office 2010
Pomógł: 2221 razy Posty: 6119
|
Wysłany: 22-01-2007, 13:48
|
|
|
Dzięki - wszystko działa ! Pozdrawiam |
|
| ID posta:
1674
|
|
|
|
|
|
|
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
|
|
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
|