Elektroda.pl
Elektroda.pl
X

Search our partners

Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel - makro - Excel - macro wysylajace maile z danymi z tabeli przestawnej

jimijames 26 Nov 2012 12:10 4911 0
  • #1
    jimijames
    Level 1  
    Dzień dobry Wszystkim,

    Chcę poprosic Was o pomoc.

    Chciałbym wysyłać maile z załącznikami (pojedyncze zakładki) oraz okresloną treścią z poziomu EXCELA na podstawie danych z tabeli przestawnej.

    Moja tabela wyglada mniej więcej tak:

    Excel - makro - Excel - macro wysylajace maile z danymi z tabeli przestawnej

    Po podwójnym kliknięciu na komórkę C6 Excel tworzy nową zakładke z pełnymi danymi.
    Tą zakładke chcę wysłać na adres, który znajdywać się będzie w tej zakładce - zawsze w komórce E2.
    Mail ma wychodzic ze zbiorowego adresu (używam outlooka gdzie mam mozliwość wysyłania maili z prywatnego adresu imie_nazwisko oraz zbiorowego)
    Potrzebuję wypełnic pole Temat oraz treść - zawsze tym samym tekstem.

    Po wysłaniu pierwszego maila procedura powinna wysyłać kolejne aż do momentu kiedy w kolumnie A pojawi sie "grand total". Albo pozbęde się "grand totali" i wtedy może konczyć się kiedy nie bedize juz danych w kolumnie C.

    Mam makro które wyglada tak (jest to skladak z tego co udalo mi sie znalezc na tym i innych forach):

    Sub EKSPORT()



    ' EKSPORT Macro

    ' pokaz dane z pierwszego wiersza tabeli przestawnej
    Range("E6").Select
    Selection.ShowDetail = True

    ' skopiuj dane, utwórz nowa zakładkę i wklej dane
    Cells.Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False

    ' wysyła aktywny arkusz jako załącznik
    wyslij = Application.Dialogs(xlDialogSendMail).Show(Range("E2"), "temat")

    ' zamyka nowe okno i kasuje zakladke w pliku zródłowym
    ActiveWindow.Close
    ActiveWindow.SelectedSheets.Delete
    Sheets("Pivot").Select

    Do Until ActiveCell.Value = ""

    ActiveCell.Offset(1, 0).Select
    Selection.ShowDetail = True
    Cells.Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False

    ' wysyła aktywny arkusz jako załącznik
    wyslij = Application.Dialogs(xlDialogSendMail).Show(Range("M2"), "temat")

    ' zamyka nowe okno i kasuje zakladke w pliku zródłowym
    ActiveWindow.Close
    ActiveWindow.SelectedSheets.Delete
    Sheets("Pivot PL all. Haul arranged").Select
    Loop

    End sub

    Problemy z tym macro:

    1) Niestety makro to wysyla maile z mojego przywatengo konta a nie zbiorowego.
    2) Pomimo "Do Until ActiveCell.Value = "" " kiedy kończą się dane to makro się wykrzacza.
    3) Nie mam tresci mala

    Wydaje mi się, że trzeba je calkowicie zmienic ale niestety nie umiem sam pisac kodów.

    Będe bardzo wdzięczny za pomoc.

    Pozdrawiam
    Michał