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)...
W UserForm1 wystarczy zrobić 3 proste rzeczy: 1. Aby załadować dane do comboboxa, dodaj: [syntax=vb]Private Sub UserForm_Initialize() Dim ostTowar As Long With Arkusz2 ostTowar = .Cells(.Rows.Count, "A").End(xlUp).Row + 1 cmbTowar.RowSource = "Towary!" & Arkusz2.Range("A2:A" & ostTowar).Address End With End Sub[/syntax] 2. Aby przepisywać towar do textboxa...
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
Wyjaśnie jeszcze raz w czym problem. Gdy uruchomię plik excel'a uruchomia się userform, w którym trzeba wypełnić pola. Po wypełnieniu pierwszego pola i przejścia do combobox'a, excel się zawiesza. Plik umieszczony na forum jest bez makr bo one nie tworzą problemu. Nie jestem informatykiem a grzebie w makrach dla samego siebie aby ułatwić pracę sobie...
Zależy jakie pole. Zacznij od nagrania makra wstawiania obiektu i coś już będzie wiadomo.
jak zrobić by po wyborze numeru zamówienia w comboboxie :?: i wpisaniu ilości sztuk w textboxie :?: właśnie o tą wartości powiększają się ilość :?: w komórce wiersza :?: w którym jest zamówienie wybrane z comboboxa :?: Nie jasne gdzie (w którym arkuszu) ? chcesz prowadzić te rozliczenia :cry: Natomiast ilości na asortyment :?: są zliczane w arkuszach...
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...
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)...
Zrobiłem na formularzu, bo Excel niewłaściwie pokazywał Combobox po użyciu AddItem.
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ż...
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).
Tylko chodzi mi o listbox a nie combobox
excel combobox excel textbox combobox combobox wybór excel
oporność głośnik połączyć słuchawkę telefonem piekarnik whirlpool opinie
regeneracja baterii laptopa zapalniczka kuchnia gazowa
Białe kopcenie pilarki Faworyt RG 5300 18 w niskich temperaturach BFT Alena SW2 - Centrala do bram skrzydłowych