Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[Excel] Msgbox po zmianie wartości wzakresie



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
elfface



Dołączył: 31 Paź 2012
Posty: 160

PostWysłany: Pią Lip 13, 2018 3:24 pm  OP    Temat postu: [Excel] Msgbox po zmianie wartości wzakresie Odpowiedz z cytatem Pisownia

Witam serdecznie, sprawa zapewnie prosta, ale kompletnie nie jarzę jak to zrobić w Excel, a mianowicie, jak utworzyć msgbox dla konkretnego zakresu (dokładnie "G3:G303"), a nie jak w przykładzie dla całej kolumny
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Column = 1 Then
        If Target.Value = "TAK" Then
            MsgBox "Wybrałeś TAK"
        Else
            MsgBox "Wybrałeś inną wartość"
        End If
    End If
        
End Sub

Z góry serdecznie dziękuję za pomoc :)

_________________
=8-T
Grzegorz Z.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
marzatela



Dołączył: 13 Maj 2012
Posty: 409

PostWysłany: Pią Lip 13, 2018 8:14 pm      Temat postu: Odpowiedz z cytatem Pisownia

Np. tak:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Column =7 and Target.row>2 and target.row<304 Then
        If Target.Value = "TAK" Then
            MsgBox "Wybrałeś TAK"
        Else
            MsgBox "Wybrałeś inną wartość"
        End If
    End If
        
End Sub


_________________
marzatela
http://www.szultaset.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
elfface



Dołączył: 31 Paź 2012
Posty: 160

PostWysłany: Pią Lip 13, 2018 10:13 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

:) o to właśnie chodzi, dziękuję bardzo, ale zakres "G3:G303" może się zmienić i chciałbym to trochę uprościć na przyszłość. W załączniku pozwoliłem sobie przedstawić bardziej obrazowo ten problem, a w vba opisałem o co konkretnie chodzi. Jeszcze raz bardzo dziękuję za poświęcony czas :)

A tak przy okazji: jest jakiś sposób na użytkowanie strony przy pomocy Chrome?



test.7z
 Opis:

Pobierz
 Nazwa pliku:  test.7z
 Wielkość pliku:  12.24 KB
 Pobierano:  9 raz(y)


_________________
=8-T
Grzegorz Z.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
marzatela



Dołączył: 13 Maj 2012
Posty: 409

PostWysłany: Pon Lip 16, 2018 4:56 pm      Temat postu: Odpowiedz z cytatem Pisownia

Spróbuj tak:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Range(Target.Address), Range("G3:G303")) Is Nothing Then Exit Sub
        If Target.Value = "TAK" Then
            MsgBox "Wybrałeś TAK"
        Else
            MsgBox "Wybrałeś inną wartość"
        End If

End Sub


Do edytora VBA wejdziesz np. przez Alt+F11.

_________________
marzatela
http://www.szultaset.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
elfface_GZ
Gość





PostWysłany: Wto Lip 17, 2018 10:05 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dziękuję bardzo marzatela, niezwykle mi pomogłaś :)
Dość skomplikowany ten excel, chodziło mi właśnie by działać na zdefiniowanym wcześniej zakresie w arkuszu, a mianowicie o to:
Kod:

    If Target.Value = "" Then Exit Sub
    If Intersect(Range(Target.Address), Range("MojZakres")) Is Nothing Then
        MsgBox "Wybrałeś wartość spoza zakresu"
        Exit Sub
    End If
    
    If Target.Value = "TAK" Then
        MsgBox "Wybrałeś TAK"
    Else
        MsgBox "Wybrałeś inną wartość"
    End If


Natomiast dlaczego to nie działa?
Kod:

    If Range(Target.Address) = Range("MojZakres") Then
        If Target.Cells.Value = "TAK" Then
            MsgBox "Wybrałeś TAK"
        Else
            MsgBox "Wybrałeś inną wartość"
        End If
    Else
        MsgBox "Wybrałeś wartośc spoza zakresu"
    End If


Jeszcze raz dopytam: jest jakaś możliwość, żeby zalogować się na forum z chrome?
Powrót do góry
samolot



Dołączył: 26 Sty 2006
Posty: 8273
Skąd: Toruń

PostWysłany: Wto Lip 17, 2018 10:38 pm      Temat postu: Odpowiedz z cytatem Pisownia

Pewnie dlatego nie działa z Chrome
_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
marzatela



Dołączył: 13 Maj 2012
Posty: 409

PostWysłany: Sro Lip 18, 2018 5:23 am      Temat postu: Odpowiedz z cytatem Pisownia

Wpisując "MójZakres" wpisujesz do Range tekst. Jeżeli ma to być zmienna (do której wcześniej przypisałeś adres), to powinni być Range(MójZakres).
Zwróć jednak uwagę, że Target to 1 komórka, zakres to wiele komórek, więc nie będą równe, dlatego sprawdza się część wspólną.

_________________
marzatela
http://www.szultaset.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
karolinavb
Site Admin


Dołączył: 25 Maj 2005
Posty: 7886

PostWysłany: Sro Lip 18, 2018 6:51 am      Temat postu: Odpowiedz z cytatem Pisownia

Chyba zamiast
Cytat:
If Intersect(Range(Target.Address), Range("MojZakres")) Is Nothing Then
Wystarczy
Cytat:
If Intersect(Target, Range("MojZakres")) Is Nothing Then
Cytat:
Zwróć jednak uwagę, że Target to 1 komórka
Niekoniecznie.... aczkolwiek nie znam dokładnego projektu skoroszytu.
Jeśli Target będzie zawierało więcej komórek wówczas linijka:
Cytat:
If Target.Value = "" Then Exit Sub
spowoduje błąd...
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
elfface_GZ
Gość





PostWysłany: Pią Sie 03, 2018 12:41 pm      Temat postu: Odpowiedz z cytatem Pisownia

Serdecznie dziękuję wszystkim za pomoc.
Powrót do góry
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Oprogramowanie biurowe Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
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
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.11268 sekund, zapytan = 13
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |