Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Rozwiązano] Jak dodać wiadomość przy konkretnym warunku VBA Excel

07 Gru 2017 01:41 1938 35
  • Poziom 4  
    Poszukuję pomocy w pewnej błahej pewnie sprawie. Napisałem ponizsze makro które pozwala mi na wybranie w combo boxie tylko danych z listy.
    Wszystko jest fajnie tyle tylko iż wolałbym aby zamiast standartowego komunikatu móc wpisać własny.
    Z góry dziękuję za pomoc
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Dodano po 1 [godziny] 18 [minuty]:



    Dodano po 1 [minuty]:

    może pomocny bedzie plik z danymi
  • Poziom 38  
    Przecież da się to zrobić za pomocą sprawdzania danych. Komunikat wejściowy i wyjściowy wpiszesz bez problemu. Chyba że na zaliczenie :D
  • Poziom 4  
    Czy mógłbyś powiedzieć coś więcej bo ni mam pojęcia o czym mówisz
  • Poziom 29  
    marico77 napisał:
    .MatchRequired = True (przy nie spełnionym warunku chciałbym aby wyskakiwalo okienko z instrukcja co nalezy zrobic)

    A przykład Ms z pomocy podręcznej się nie sprawdza ?
    Kod: vba
    Zaloguj się, aby zobaczyć kod
  • Poziom 4  
    Ianzul Dzieki, tylko jak podlaczyc te makra z moimi?
    Dodano po 14 [minuty]:
    Zbych034 Dzieki za podpowiedz ale ta opcja nie bedzie tu dzialala poniewaz lista bedzie zawierala okolo 3000 pozycji, wiec wybieranie z listy mija sie z celem. Na ten moment makro ktore jakos udalo mi sie stworzyc jest w tym bardzo pomocne i w razie wprowadzenia czegos z poza listy daje mi komunikat o bledzie wolalbym jednak aby byl to moj komunikat co trzeba zrobic w takim przypadku.
    (przepraszam za brak polskich liter ale nie mam do nich dostepu w tym momencie)
    Pozdrawiam
  • Specjalista - VBA, Excel
    marico77 napisał:
    makro ktore jakos udalo mi sie stworzyc
    w zalaczniku(post #1) nie ma zadnego makra
  • Poziom 4  
    Makro napisałem zaraz pod postem, ponieważ nie mogłem załączyć pliku xlsm
  • Specjalista - VBA, Excel
    xlsm spakowac RAR lub ZIP
  • Poziom 38  
    Możesz wprowadzać z ręki, system sprawdzi zgodność z listy i jak jest ok to tak zostanie a jak brak to wyrzuci komunikat o błędzie. Jak odznaczysz ptaszka rozwinięcie w komórce to nie będzie "trójkąta" i rozwinięcia listy.
  • Specjalista - VBA, Excel
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    P.S. Edytowano
    Dodano po 2 [minuty]:

    MatchRequired=False

    raczej tak
    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Dodano po 22 [minuty]:

    to nie w modulu, w kodzie UserForm
  • Poziom 4  
    Super dokładnie o to mi chodziło, a co muszę zrobić żeby przypisać 2 user form w inne miejsce np G1 zamiast a1?

    Dodano po 4 [minuty]:

    I jeszcze jedno do czego służy to drugie makro

    Private Sub cmbListItem_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If cmbListItem.ListIndex = -1 Then
    Cancel = True
    Else
    Cancel = False
    End If
    End Sub

    bo szczerze mówiąc nawet go nie zauważyłem, a po wklejeniu nie widzę żadnej różnicy
  • Poziom 29  
    marico77 napisał:
    szczerze mówiąc nawet go nie zauważyłem, a po wklejeniu nie widzę żadnej różnicy

    :) ... i co, jak próbujesz wyjść z ComboBox o nazwie "cmbListItem" bez wybrania czegokolwiek z listy, to ci pozwala ? ... :)
  • Specjalista - VBA, Excel
    marico77 napisał:
    żeby przypisać 2 user form w inne miejsce np G1 zamiast a1?

    Nie są widoczne w ogóle w kodzie odwołanie do A1
  • Poziom 4  
    Ok, a mógłbyś mi doradzić co muszę zrobić żeby na tym samym arkuszu móc wpisywać to co z magazynu zostało wydane oraz zwrócone
  • Specjalista - VBA, Excel
    1. Na UserForm musi cos byc, ze wskaza to jest wydanie lub zwrot
    2. Na podstawie tego mienic docelowa komorka
    3. Wiesz, co to jest Cells(3, 1) ?
  • Specjalista - VBA, Excel
    W Ciebie i wydanie i zwrot to samo:
    nr = sheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    marico77 napisał:
    Cells(3, 1) jesli sie nie myle to A3

    Cells(Rows.Count, 1) to A1048576
    End(xlUp) - to Ctrl+Strzałka w górę - zrob recznie: A1048576 i Ctrl+ Strzałka w górę
    No, teraz jak w miejsce kolumny E ??
  • Poziom 4  
    nr = sheet.Cells(Rows.Count, 5).End(xlUp).Row + 1 -?
  • Pomocny post
    Specjalista - VBA, Excel
    No, juz zaczynasz programowac
  • Poziom 4  
    no nie za bardzo bo jeśli spojrzysz na załącznik to wcześniej już tak zrobiłem i wydanie towaru działa tak jak powinno być, natomiast zwrot towaru wariuje (dane wstawiają się w te same cele, albo przeskakuje o kilka wierszy), a jak spróboawałem stworzyć multipage to tak samo wydanie towaru działa a zwrot wcale

    Dodano po 2 [godziny] 58 [minuty]:

    jakaś podpowiedz bo już nie wiem co robię zle

    Dodano po 10 [godziny] 50 [minuty]:



    Dodano po 1 [minuty]:

    ok tabela ze zwrotem towaru zostala ogarnieta, gdybys mogl zobaczyc o co chodzi w multipage I podpowiedziec co robie zle (dlaczego nie dziala zwrot towaru)
  • Poziom 4  
    ktoś coś odnosnie multipage, i jeszcze jedno czy jest możliwość skrócenia poniższego zapisu?
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 4  
    po wpisaniu pozycji której nie ma na liście pokazuje się komunikat "nie ma tego na liście" i tak miało być ale po zamknięciu wyskakuje mi komunikat :
    "invalid property value" co moge z tym zrobić?
    i jeszcze jedno: po wpisaniu pozycji której nie ma na liście pokazuje się komunikat "nie ma tego na liście" udało mi się napisać makro które dodaje nową pozycję ale wyskakują jakieś błędy
    Z góry dziękuję za pomoc
  • Specjalista - VBA, Excel
    marico77 napisał:
    po wpisaniu pozycji której nie ma na liście
    gdzie? na arkuszy? ComboBox?(ktorzy?) w notatniku? :)

    Dodano po 19 [minuty]:

    marico77 napisał:
    "invalid property value"
    ale Ty sobie tak chcesz:
    Kod: vb
    Zaloguj się, aby zobaczyć kod
  • Poziom 4  
    Myślałem, że bedzie tylko komunikat ze gra nie znajduje sie na liście i to wszystko a teraz dostaje jeszcze komunikat "invalid property value" i nawet jak dodam nowa pozycje do listy to najpierw muszę wyjść żeby móc użyć i dopiero po powtórnym wejściu działa i jeszcze jedno czy mógłbyś zobaczyć co namieszałem w poniższym zapisie
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Specjalista - VBA, Excel
    Dlaczego ukryć Userform, aby natychmiast go otworzyć ponownie?
    marico77 napisał:
    Me.Hide
    UserForm1.Show
    ??
  • Poziom 4  
    Me.Hide ukrywa mi Ps3 kupno i otwiera userform do dodania gry
  • Specjalista - VBA, Excel
    No.. z fragmenta kodu nie jasne gdzie ten 'cmbListItem'
    co do "co namieszałem " myslim ze zbedne 2 MsgBox, wystarczy ten z 'odp'
  • Poziom 4  
    ale jesli usunę 2 MsgBox to nawet jeśli zaznaczę odpowiedz nie to i tak przerzuca mnie do user form1 (dodawanie gry)