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
ID tematu: 63766 Skopiuj do schowka Wynik na podstawie trzech danych - Makro
Autor Wiadomość
Aibofobia 
świeżak


Posty: 3
Wysłany: 10-01-2019, 11:35   Wynik na podstawie trzech danych - Makro

Dzień dobry, jestem nowym zarejestrowanym użytkownikiem, choć od jakiegoś czasu obserwuję to Forum i staram się z niego uczyć. Zwracam się do Was z prośbą o pomoc w rozwiązaniu problemu polegającego na stworzeniu makra. Problem polega na tym, że nie wiem jak zabrać się za to zagadnienie. Mianowicie chciałbym uzyskać odpowiedź po wybraniu w polach (combobox, list box oraz po wpisaniu w listboxie) danych czy dane wartości znajdują się w tabeli i jeśli tak to w którym wierszu i ile jest takich rekordów. Pierwszym pomysłem było wyszukiwanie pionowo poprzez makro, ale musiałbym dołączyć kolejną kolumnę w excelu, która byłaby połączeniem poprzednich kolumn, więc to trochę bezsensowne, ale działa. Chciałbym jednak dowiedzieć się jak można to wykonać inaczej, szybciej i lepiej za pomocą VBA, bo na pewno można.
Dołączam pliczek.

plik.xls
Pobierz Plik ściągnięto 23 raz(y) 103.5 KB

ID posta: 360182 Skopiuj do schowka
 
 
Tajan


Pomógł: 4363 razy
Posty: 9692
Wysłany: 10-01-2019, 18:16   

Aibofobia napisał/a:
chciałbym uzyskać odpowiedź po wybraniu w polach (combobox, list box oraz po wpisaniu w listboxie) danych czy dane wartości znajdują się w tabeli i jeśli tak to w którym wierszu i ile jest takich rekordów.
A jaką formę miałaby mieć ta odpowiedź? Wyświetlona na formularzu? Jako odrębne okno komunikatu? Jako zapis w arkuszu? Jakoś inaczej?
ID posta: 360196 Skopiuj do schowka
 
 
Aibofobia 
świeżak


Posty: 3
Wysłany: 10-01-2019, 21:01   

Najlepiej jako komunikat msgbox.

edycja Zbiniek:
Nie cytuj całej wypowiedzi znajdującej się bezpośrednio powyżej – w takim przypadku wiadomo, że się do niej odnosisz. Cytowanie stosuj tylko wtedy, gdy nawiązujesz do wypowiedzi o kilka postów wcześniej lub gdy komentujesz tylko jakiś fragment ostatniej wypowiedzi. W obu przypadkach zacytuj tylko fragment, do którego się odnosisz.
ID posta: 360203 Skopiuj do schowka
 
 
Tajan


Pomógł: 4363 razy
Posty: 9692
Wysłany: 11-01-2019, 16:42   

W module formularza użyj takiego kodu:
Kod:
Option Explicit
Option Compare Text

Dim dane As Variant

Private Sub CommandButton1_Click()
Dim nrW() As String
Dim typ, rozm, waga
Dim i As Long, j As Long

typ = Me.ComboBox1.Value
rozm = Me.ListBox1.Value
waga = Me.TextBox1.Value

If typ = "" Or rozm = "" Or waga = "" Then
   MsgBox "Wypełnij wszystkie pola!"
   Exit Sub
End If
   
For i = 1 To UBound(dane)
    If dane(i, 1) = typ And CStr(dane(i, 2)) = rozm And CStr(dane(i, 3)) = waga Then
       j = j + 1
       ReDim Preserve nrW(1 To j)
       nrW(j) = CStr(i + 1)
    End If
Next

If j > 0 Then
   MsgBox "Znaleziono: " & j & " poz." & vbLf & _
          "w wierszach " & Join(nrW, ", ")
Else
  MsgBox "Nic nie znaleziono!"
End If
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim oW As Long

oW = Cells(Rows.Count, "A").End(xlUp).Row
dane = Range("B2:D" & oW).Value

With UserForm1.ComboBox1
.AddItem "Normal"
.AddItem "Frio"
End With

With UserForm1.ListBox1
.AddItem 20
.AddItem 40
.AddItem 45
End With

End Sub
ID posta: 360250 Skopiuj do schowka
 
 
Aibofobia 
świeżak


Posty: 3
Wysłany: 13-01-2019, 11:16   

Dziękuję! Właśnie o coś takiego mi chodziło!
ID posta: 360345 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.marketingNET.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