Kolego, przerabialiśmy to wczoraj, adams_nt w #5 o tym pisał dzisiaj i znowu ten sam problem?? Rozwiązanie to samo: ustalasz ostatni wiersz w kolumnie E, która jest pusta: [syntax=vb]ost = Range("E10000").End(xlUp).Row + 2[/syntax] (nie wiem czemu dodajesz 2 nie 1...). Użyj G albo H.
Witam Może coś takiego [syntax=vbnet]Private Sub ComboBox1_Change() obszar = "B1:T" & Cells(Rows.Count, "B").End(xlUp).Row TextBox1.Text = Application.VLookup(ComboBox1.Value, Sheets("Arkusz1").Range(obszar), 2, 0) TextBox2.Text = Application.VLookup(ComboBox1.Value, Sheets("Arkusz1").Range(obszar), 3, 0) TextBox3.Text = Application.VLookup(ComboBox1.Value,...
Możesz w właściwościach combo wybrać style i 2 [syntax=vbscript]Me.ComboBox1.Style = 2[/syntax]
A nie byłoby prościej utworzyć listę przy Initialize na podstawie wartości z combo UserrForm1 ? Podmień procedurę w UserForm2 na [syntax=vb]Private Sub UserForm_Initialize() firma = UserForm1.ComboBox1.Value wrs = 2 ComboBox1.Clear With Sheets("Arkusz2") Do While .Cells(wrs, 4) <> Empty If .Cells(wrs, 4) = firma Then ComboBox1.AddItem .Cells(wrs,...
Pokaż ten swój arkusz nad którym pracujesz i wyjaśnij dokładnie co chcesz uzyskać :?: Combobox służy do wygodnej prezentacji albo weryfikacji danych z arkusza Excel. Twój "kod" nie pobiera żadnych danych :D Jeśli dobrze się domyślam z czym masz problem :?: - to np w Excel 2007 wejdź w zakładkę Deweloper - włącz Tryb projektowania - otwórz Właściwości...
[syntax=vb]ListaArray = Array(RodzajLiniiLista, RodzajDodReaktLista)[/syntax] Elementy tej tablicy są typu variant, którym nie nadano wcześniej wartości, stąd mają wartość null. Kolega pewnie googla i wkleja, prawda?
zobacz to [syntax=vb]Private Sub UserForm_Initialize() ost = Worksheets("Kolor").Cells(Rows.Count, 1).End(xlUp).Row userform.SMkolor.rowsource = "Kolor!A1:A" & ost End Sub[/syntax]
Jeśli chodzi o foto. Źle jest pobierana nazwa pliku. Zakładając, że nazwy obrazków=nazwisko pracownika (a tak z Twojego kodu wychodzi), to [syntax=vb]Private Sub lstFiltr_Change() Dim i As Long, a As Long, ark As Worksheet Dim sciezka As String, nazwa As String Set ark = Sheets("Lista pracowników") a = 0 For i = 0 To lstFiltr.ListCount - 1 If lstFiltr.Selected(i)...
Listy dla pola kombi nie sortuj poza arkuszem, nie pozbierasz się z indeksami. Nie rozumiem natomiast dlaczego uparłeś się biegać przez ogródek, jeśli do furtki dwa kroki...
ad.1 Przy zdarzeniu Change ComboBox'a sprawdzany jest każdy znak wprowadzany z klawiatury. Jeśli sprawdzany ma być tylko pierwszy, pierwszym warunkiem będzie Len(NazwaCombo.value)=1, następnie porównujesz (w pętli) z listą. Najprościej wstawić polecenie opuszczenia pętli przy pozytywnym wyniku porównania, a warunkiem kontynuowania kodu zrobić licznik_pętli...
Analogicznie [syntax=vb] For Each c In ActiveSheet.Range("C1:C22") ' przeszukiwanie If c = cc2.Value And Range("A" & c.Row)= cc1.Value Then wiersz = c.Row Exit For End If Next c [/syntax] Edit
To nie taki hop-siup: w VBA masz trochę ograniczoną liczbę obiektów którymi by można to wykonać w miarę prostu, więc trzeba samemu napisać dwa fragmenty kodu: jeden odpowiedzialny za wyłuskanie niepowtarzających się wartości z podanego zakresu i drugi, który je posortuje rosnąco (zakładając, że te dane mają być posortowane). Można by do tego wykorzystać...
dlaczego ograniczenie listy następuje dopiero po wpisaniu spacji Należy zmienić warunek porównujący stringi. Funkcja InStr szuka także wewnątrz. Np pamiętasz, że sala ma w nazwie "020" a nie pamiętasz początku. W przypadku długich ciągów metoda nie sprawdza się. Spróbuj [syntax=vb]If UCase(Left(lista(i, 2), Len(txtOpisSali.Text))) = UCase(txtOpisSali.Text)...
Kiedyś na forum był temat magazynu. uchował mi się plik. Jeśli towarów jest naprawdę dużo, to zerknij na filtry (przede wszystkim ten po nazwie) w formularzu pod przyciskiem "Wydanie z magazynu". Projekt oczywiście nie jest dokończony, ale chodziło wtedy o to filtrowanie. Może w ten sposób?
Zrobic gotowy dlugo potrwa, tym bardziej ze cala logika nieznana. Zobacz w tym przykladzie, zwlaszcza wlasciwosci BoundColumn, RowSource dla ComboBox i ControlSource dla wszystkiego i kombinuj.
Bez VBA raczej się nie da. Jeśli mowa o VBA, ComboBox ma tę właściwość. W przykładzie uForm uruchamiany przez podwójne kliknięcie. Możesz wybrać z listy lub wpisując pierwsze znaki. Zatwierdzasz Enter'em. Spróbuj, może to jest to...
Sub Zapisz_bierzaca_spolke_PDF_PL() Tutaj jest błąd.;)
Dzień dobry, Przygotowałem, a raczej zaadaptowałem na podstawie opisanych przykładów kod pod swój arkusz excela. Mam 2 problemy: 1. Potrzebuję w arkuszu "material cost" z którego pobierane są dane dopisywać pozycje - w związku z tym potrzebuję aby combo odświeżało sobie dane przy otwarciu (lub jakiś trigger do odświerzania po wpisaniu nowych danych)...
Zdaje się, że próbujesz oprogramować nie to zdarzenie pola kombi. Interesuje nas zmiana wartości w polu, nie kliknięcie w nie. W Twoim przykładzie Nr indeksu pasuje do tabeli, z której pobierasz dane (RowSouce), więc nie ma problemu z przypisaniem i tak zrobiłem w załączonym przykładzie. Zwróć uwagę na deklarację zmiennej publicznej i przypisywanie...
Poniżej przykład do pierwszej zakładki. Resztę zrobisz sobie analogicznie.
Tak Public Uas As String W podpowiedzi istnieje możliwość wyboru ComboBox1.Value the default property of a combobox is the value property
Zrobiłem pewien plik, który jak się uruchomi wyskakuje okno UserForm z miejscami do uzupełnienia arkusza. Część tekstu wpisuje się w TextBox'y a część wybiera z list ComboBox'ów. Problem pojawia się wtedy gdy kliknę na listę ComboBox, Excel się zawiesza i bez zamknięcia z poziomu menadżera urządzeń nic się nie poradzi. Nie wiem co jest nie tak?
Zależy jakie pole. Zacznij od nagrania makra wstawiania obiektu i coś już będzie wiadomo.
Dodaję załącznik z plikiem oczywiście dane zostały zmienione. Gdy wchodzi się do pliku pojawia się na start userform wybieramy pierwszą opcję dodawania do magazynu. Gdy już będzie widoczny arkusz do wprowadzania danych to wpisujemy datę, z listboxa wybieramy selekcję następnie wpisujemy ilość w zielony textbox (jeżeli chcemy coś dodać) lub czerwony...
kurcze nie moge sobie z tym poradzić chciałbym aby po wybranu maszyny nr 1 z combobox2 wyświetlały się w combobox 3 wartości z komórki (C1:C4) natomiast po wybraniu maszyny nr 2 wartości od (C5:C6) itd.
cześć, dziękuję za pomoc. Faktycznie jest w tym prosta logika. Dokładnie mi o to się rozchodziło.
Witam, Chciałbym się dowiedzieć, czy istnieje jakiś sposób, aby po anulowaniu zmian w ComboBox (BeforeUpdate wybiera Cancel) omawiany ComboBox powracał do wyświetlania indeksu wybranego przed próbą dokonania zmiany?
I cóż? Nikt nie ma pomysłu jakby to można fajnie zautomatyzować?
Jakiej pomocy oczekujesz? Gotowego rozwiązania? Czy podpowiedź: DateTime.Month rozwiązuje problem?
Coś mi się kojarzy z tymi salami, ale kiedy to było... W każdym razie: w załączniku masz formularz z filtrem 2-poziomowym (opcjonalnie). Co prawda to typowa książka telefoniczna, ale zrobiona na tej samej podstawie.
dzięki , pomogło :) pozdrawiam
Zmieniłam kod ale nadal nie działa, w załączeniu przykład wraz z kodem
(at)maciejgonet Zwykła literówka podczas pisania postu :) Dołączam plik. Po kliknięciu w przycisk Szukaj pokaże się forma, trzeba wybrać nazwisko i imię z ComboBox i znów kliknąć Szukaj. Pozdrawiam
Przepraszam za pomylenie kontrolek oto przykład z Combobox-ami
Można tak: [syntax=vb]Sub AddItem(ByVal sItem As String, ByRef cmbBox As ComboBox) ' adds item retaining alphabetic order Dim l As Long For l = 0 To cmbBox.ListCount - 1 Select Case StrComp(cmbBox.list(l), sItem, vbTextCompare) Case 0: Exit Sub ' already in the combobox Case 1 cmbBox.AddItem sItem, l Exit Sub End Select Next l cmbBox.AddItem sItem End...
nazwa jest taka sama a może to wynikać z tego że na moim UserForm jest więcej elementów niż tylko sam ComboBox ??
OblKierownik1.MatchRequired = True - to nie makrem, to we wlasciwosciach kombo(proektowanie) .ControlSource - wlasciwosci - ma byc adres komorki na arkushe - u mnia dziala
:) ... sformatować ... bowiem to co widzisz jako format godzinowy w arkuszu, to tylko zwykła excelowa ściema. W komórce jest właśnie to, co ci się wyświetla w liście kombinowanej ... :) Np.: [syntax=vbscript]Option Explicit Private Sub UserForm_Initialize() Dim tbl(), indeks With Arkusz5 'tbl = .Range(Cells(10, 4), Cells(10, 15)).Value 'lub tbl = .Range("d10:o10").Value...
Zrobiłem na formularzu, bo Excel niewłaściwie pokazywał Combobox po użyciu AddItem.
Podmień ComboBox na ListBox...
ComboBox ma indywidualne zdarzenia i właściwości. Spróbuj oprogramować przy zmianie (set.focus lub range().select). Rozwinąć bez myszy można stosując Alt+DownArrow. W podanym przykładzie jednak, zamiast ComboBox'ów, o wiele łatwiej byłoby zastosować poprawność danych przez listę. Miałbyś większe możliwości "skakania" po arkuszu przy Workscheet.Change.
Wszystko działa dopóki liczby w combobox'ach mają tyle samo cyfr. To powinno Ci dać do myślenia. ComboBox-y przechowują poszczególne pozycje jako ... ciąg znaków, a nie wartości liczbowe. W swoim kodzie, zamień wartość Value , z wszystkich trzech Combo na liczbę i porównaj wtedy. Np. tak : If Val(ComboBox1.Value) < Val(ComboBox2.Value)...
Hej, mam takie prostackie pytanie:) W jaki sposób można wskazać za pomocą wybranej wartości w combobox kolumnę o takiej samej nazwie w pierwszym jej wierszu i jej ostatni niepusty wiersz? Chociaż jakąś podpowiedź;] [/align][/code][/quote]
Witam. Jeżeli wartość w polu ComboBox będzie pusta, w jaki sposób przypisać domyślny wydruk jednej kartki? If Me.Arkusz1 = True Then ThisWorkbook.Sheets("Arkusz1&qu... Copies:=ComboBox End If
Nie widziałem wcześniej tych dwóch arkuszy :) W "List" gubisz tablicę. W B2 masz tzw adres względny 'Arkusz4!D5:K113' i po przeciągnięciu w dół tablica zmienia rozmiar ("jedzie" w dół). Powinien być mieszany: 'Arkusz4!D$5:K$113' Zakres dla pola kombi możesz zastosować podobnie jak dla poprawności danych, posługując się zdefiniowaną nazwą (NewList) http://obrazki.elektroda.pl/3203590600_1...
Witam. Jestem w trakcie tworzenia w pliku nowego okna UserForm z opcją drukowania. W sumie to już wszystko zrobiłem ale chcę dodać jeszcze opcję wyboru drukarki ponieważ w pracy mam dostęp do paru drukarek i korzystam ze wszystkich. W oknie dodałem ComboBox i mam pytanie jakim kodem wywołam żeby po rozwinięciu okna ComboBox pokazało mi wszystkie dostępne...
Musisz oprogramować ComboBox. Jeśli zmiana działa, to wynik z Combo zapisz do komórki "pod nim" i masz zdarzenie WorksheetChange. [syntax=vbscript]Private Sub ComboBox1_Change() Range("F11") = ComboBox1.Text End Sub[/syntax] Problem w tym, że dla każdego musi być osobna procedura. A dlaczego nie poprawność/lista? Działa przecież...
W załączniku przykład dla kolumny D. Użyłem pól kombi ActiveX, zwróć uwagę na ich właściwości. Kod jest prosty, więc nie powinno być kłopotów z adaptacją dla kolejnych ComboBox'ów.
Ponieważ dane które pobierasz masz rozdzielone tabulatorem, wystarczy taka prosta przeróbka: [syntax=vb]Private Sub CommandButton1_Click() ComboBox1.Clear ComboBox2.Clear Dim InFile As Integer InFile = FreeFile plik_txt = Application.GetOpenFilename("Pliki txt(*.txt),*txt") Open plik_txt For Input As InFile While Not EOF(InFile) Line Input #InFile,...
Spróbuj poprawność danych>lista (pobierana z zakresu lub wpisana ręcznie).
excel combobox excel textbox combobox combobox wybór excel
vitopend pompa antena zewnętrzna radia lodówka amica naprawa
5742z sterowniki samsung ue40f6400aw
Błąd E3 w czajniku Tefal Control - przyczyny i rozwiązania Kontrolki zapalają się podczas jazdy Peugeot 106