Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

VBA EXCEL userform a msgbox -

02 Oct 2014 22:31 1917 8
  • Level 9  
    Panowie jeżeli to możliwe proszę o pomoc w podpięciu pętli do userform.
    Jeżeli w pętli używam msgboxa i przycisków TAK i NIE /TAK-szukaj dalej, NIE-przerwij szukanie/ to wszystko jest ok.
    Stworzony userform ma zastąpić msgboxa.
    Problem polega na tym, że nie wiem jak zatrzymać wyszukiwanie po uruchomieniu makra w którym jest pętla oraz z którego uruchamia się ten właśnie userform.

    Code: vb
    Log in, to see the code
  • VBA, Excel specialist
    Witaj
    Code: vb
    Log in, to see the code
  • Level 9  
    Dzięki za szybką odpowiedź pomogło ale jest jeszcze jeden problem.
    Opiszę to dokładniej.
    Makro szukaj uruchamiane jest z komórki "B12" i przez InpudBOXa szuka podanej wartości.

    UserForm szukaj ładowany z makro szukaj w którym jest ta pętla
    ma 5 przycisków CommandButton z czego:
    szukaj_dalej ma przeszukiwać pętlę a pozostałe zakończyć makro szukaj i wyjść.

    if Szukaj_dalej = True Then

    Exit Do

    Działa ale przy wyjściu pamięta że szukanie nie zakończone.

    Pomimo, że zamknie się UserForm i otworzy IntpotBox nie zadziała Cancel a po wpisaniu kolejnego szukania szuka poprzednich wartości, aż do komunikatu "Wyszukiwanie zakończono"
  • VBA, Excel specialist
    Byłby lepszy załącznik przykładu z tym UzerForm
  • VBA, Excel specialist
    1.
    KrzyMol wrote:
    if Szukaj_dalej = True Then

    moim zdaniem przycisk nie ma wartość, może mieć tylko zdarzenie click
    2. UserForm należy tylko do wyświetlania lub danych wejściowych?
    3.
    Code:

    Private Sub TextBox2_Change() 'adres

    TextBox2 = ActiveCell.Offset(0, 2)
    End Sub

    dlaczego zmiany wpisu danych wybrano zdarzenie Change
    4. Jaky Algorytm, który działa cały program?

    Dodano po 14 [minuty]:

    KrzyMol wrote:
    nie zadziała Cancel

    Pan sam tak chciał:
    Code:

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 'Nie dzia³¹ pzycisk zamknij (X)

        If CloseMode = vbFormControlMenu Then
            Cancel = True

        End If

    End Sub
  • Level 9  
    Jestem początkujący w temacie VBA więc nie wszystko zrozumiałem.
    Poprawiłem typ Change na Click i nic to nie dało /wręcz pogorszyło ponieważ dane w UserForm mogę teraz zmieniać/
    dalej szukając np. nowak i wychodząc przyciskiem wyjście makro działa w tle bo nie kończy pętli.
    Działanie pętli powinno być przerwane po naciśnięciu /zlecenie, faktura, wyjście oraz przejdź do rozliczenia/ poza przyciskiem szukaj dalej, który działa.

    Jest to widoczne również po wyjściu naciskając Cancel w Intpud Box ponownie pojawia się UserForm a nie powinien.

    Nie chodziło mi o X UserForm to jest OK
  • Level 9  
    Dzięki wielkie o to mi chodziło sam bym na to nie wpadł.
    Tylko pozazdrościć takiej wiedzy.