logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] VBA wysyłanie maila z Excel wg określonej wartości komórki

ptiger 19 Lis 2018 14:14 2475 3
  • #1 17570251
    ptiger
    Poziom 10  
    Posty: 40
    Ocena: 43
    Witam,
    mam pewien problem związany z wysyłka wiadomości z Excel'a.

    w skoroszycie (w załączeniu) mam 5 kolumn, które zawierają dane o reklamacjach. Kolumna E pokazuje ile dni pozostało do rozpatrzenia reklamacji.
    Chciałbym, aby Excel wysłał na określony adres e-mail, wiadomość zawierającą dane z kolumny D oraz A, ale tylko tego wiersza, gdy wartość w kolumnie E wynosi 1.
    Jeśli będą dwa lub więcej takich wierszy, to powinno być wysłanych odpowiednio więcej wiadomości.
    Udało mi się napisać makro, które realizuje te założenie, ale zatrzymuje się na pierwszym wierszu spełniającym warunek w kolumnie E.
    Nie potrafię sobie poradzić z tym, jak to zapętlić.

    Może otrzymam wskazówkę, lub rozwiązanie, będę wdzięczny.


    Kod: VBScript
    Zaloguj się, aby zobaczyć kod
    Załączniki:
    • Zeszyt1.rar (16.07 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #2 17570667
    clubs
    Poziom 38  
    Posty: 2219
    Pomógł: 629
    Ocena: 406
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod
  • #3 17572021
    ptiger
    Poziom 10  
    Posty: 40
    Ocena: 43
    Dzięki za wskazówkę.
    Działa do wysłania pierwszego maila, w kolejnej pętli pojawia się komunikat o błędzie dotyczącym linii:
    .To = "piotr@mail.pl"
    a mianowicie: "Run-time error '-214221238 (8004010a)': Ten element został przeniesiony lub usunięty."
    Jak to "wyprostować"?

    Dodano po 1 [godziny] 15 [minuty]:

    spróbowałem jeszcze z kodem, który znalazłem w sieci i dostosowałem go do moich potrzeb:
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod

    działa pięknie, ale ... nie zatrzymuje się kiedy w kolumnie E nie ma wartości. Generuje nowe wiadomości ale bez danych z kolumn A i D.
    Macie Państwo pomysł jak to zatrzymać.
  • #4 17572272
    ptiger
    Poziom 10  
    Posty: 40
    Ocena: 43
    Dzięki za wskazówkę.
    Działa do wysłania pierwszego maila, w kolejnej pętli pojawia się komunikat o błędzie dotyczącym linii:
    .To = "piotr@mail.pl"
    a mianowicie: "Run-time error '-214221238 (8004010a)': Ten element został przeniesiony lub usunięty."
    Jak to "wyprostować"?

    Dodano po 1 [godziny] 15 [minuty]:

    spróbowałem jeszcze z kodem, który znalazłem w sieci i dostosowałem go do moich potrzeb:
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod

    działa pięknie, ale ... nie zatrzymuje się kiedy w kolumnie E nie ma wartości. Generuje nowe wiadomości ale bez danych z kolumn A i D.
    Macie Państwo pomysł jak to zatrzymać.

    Dodano po 1 [godziny] 20 [minuty]:

    ha!
    Problem rozwiązany.
    Wykorzystałem drugi kod (CheckAndSendMail()), ale wprowadziłem właściwe zliczanie niepustych wierszy w kolumnie E. Wprowadziłem dwie linie kodu:
    Range("E1").Select
    LastRow = ActiveSheet.UsedRange.Rows.Count
    zamiast:
    LastRow = RgDni.Rows.Count

    i działa.
REKLAMA