Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek 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

marico77 07 Gru 2017 01:41 1494 35
  • #1 07 Gru 2017 01:41
    marico77
    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

    0 29
  • #2 07 Gru 2017 07:34
    Zbych034
    Poziom 36  

    Przecież da się to zrobić za pomocą sprawdzania danych. Komunikat wejściowy i wyjściowy wpiszesz bez problemu. Chyba że na zaliczenie :D

    0
  • #3 07 Gru 2017 13:11
    marico77
    Poziom 4  

    Czy mógłbyś powiedzieć coś więcej bo ni mam pojęcia o czym mówisz

    0
  • #5 07 Gru 2017 15:28
    lanzul
    Poziom 23  

    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

    0
  • #6 07 Gru 2017 19:14
    marico77
    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

    0
  • #7 07 Gru 2017 19:28
    JRV
    Specjalista - VBA, Excel

    marico77 napisał:
    makro ktore jakos udalo mi sie stworzyc
    w zalaczniku(post #1) nie ma zadnego makra

    0
  • #8 07 Gru 2017 19:41
    marico77
    Poziom 4  

    Makro napisałem zaraz pod postem, ponieważ nie mogłem załączyć pliku xlsm

    0
  • #9 07 Gru 2017 19:48
    JRV
    Specjalista - VBA, Excel

    xlsm spakowac RAR lub ZIP

    0
  • #11 07 Gru 2017 21:32
    Zbych034
    Poziom 36  

    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.

    0
  • #12 07 Gru 2017 22:04
    JRV
    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

    0
  • #13 08 Gru 2017 01:04
    marico77
    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

    0
  • #14 08 Gru 2017 02:16
    lanzul
    Poziom 23  

    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 ? ... :)

    0
  • #15 08 Gru 2017 06:21
    JRV
    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

    0
  • #16 08 Gru 2017 13:16
    marico77
    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

    0
  • #17 08 Gru 2017 14:57
    JRV
    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) ?

    0
  • #18 08 Gru 2017 20:22
    marico77
    Poziom 4  

    3. Cells(3, 1) jesli sie nie myle to A3

    Probowalem juz ze sto roznych sposobow, zreszta zobacz sam I sie poddalem :(

    0
  • #19 08 Gru 2017 21:15
    JRV
    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 ??

    0
  • #20 10 Gru 2017 19:15
    marico77
    Poziom 4  

    nr = sheet.Cells(Rows.Count, 5).End(xlUp).Row + 1 -?

    0
  • Pomocny post
    #21 10 Gru 2017 19:22
    JRV
    Specjalista - VBA, Excel

    No, juz zaczynasz programowac

    0
  • #22 11 Gru 2017 09:23
    marico77
    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)

    0
  • #23 15 Gru 2017 01:49
    marico77
    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

    0
  • #24 23 Gru 2017 00:59
    marico77
    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

    0
  • #25 23 Gru 2017 07:05
    JRV
    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

    0
  • #26 23 Gru 2017 16:39
    marico77
    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

    0
  • #27 23 Gru 2017 18:22
    JRV
    Specjalista - VBA, Excel

    Dlaczego ukryć Userform, aby natychmiast go otworzyć ponownie?

    marico77 napisał:
    Me.Hide
    UserForm1.Show
    ??

    0
  • #28 23 Gru 2017 18:30
    marico77
    Poziom 4  

    Me.Hide ukrywa mi Ps3 kupno i otwiera userform do dodania gry

    0
  • #29 23 Gru 2017 18:49
    JRV
    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'

    0
  • #30 23 Gru 2017 19:00
    marico77
    Poziom 4  

    ale jesli usunę 2 MsgBox to nawet jeśli zaznaczę odpowiedz nie to i tak przerzuca mnie do user form1 (dodawanie gry)

    0