Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

invio foglio attivo senza macro in VBA

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

invio foglio attivo senza macro in VBA

Postdi alterCast » 05/02/18 17:22

G.mi,
chiedo scusa anticipatamente se mi e' sfuggita qualche netiquette del forum al quale sono appena iscritto.
Vorrei sapere se e possibile mandare tramite macro una selezione di un foglio attivo senza macro. La seguente funziona ma mi invia tutto in foglio mentre io vorrei solo l'area di stampa del workshop attivo:

Sub Macro1()
'DESCRIZIONE: INVIO ORDINE VIA E-MAIL, "ORDINE" E' LO SHEET CON LE MACRO ATTIVE
Dim BROADcast As Range
    With ActiveSheet
    .Unprotect
    Set BROADcast = .Range("Area_stampa")
    BROADcast.Activate
    INDIRIZZO = Trim(Range("D11").Value) & "; ordini@altertrade.it"

    ' IL SEGUENTE IF E' ININFLUENTE
    If InStr("AEIOU", Left(Trim(Range("F2").Value), 1)) Then
    OGGETTO = "ORDINE AD " & Range("F2").Value & " DA " & Range("C3").Value & " " & Range("B2").Value & " IN DATA " & Trim(Range("C10").Value)
    Else
    OGGETTO = "ORDINE A " & Range("F2").Value & " DA " & Range("C3").Value & " " & Range("B2").Value & " IN DATA " & Trim(Range("C10").Value)
    End If

    With ActiveSheet
    Application.Dialogs(xlDialogSendMail).Show arg1:=INDIRIZZO, arg2:=OGGETTO, arg3:=True
    End With

    End With

End Sub

il testo in grassetto sottolineato, credo sia la chiave di volta del problema
Grazie anticipatamente in ogni caso
alterCast
Newbie
 
Post: 1
Iscritto il: 05/02/18 15:44

Sponsor
 

Re: invio foglio attivo senza macro in VBA

Postdi Marius44 » 05/02/18 21:59

Ciao
ho qualche dubbio che il problema sia lì.
Tu vuoi inviare una eMail del tuo foglio "visivo" ma non il sottostante codice.
Ti indico una strada: fai una copia del Foglio che devi spedire e incollala in un file NUOVO nel Foglio1; poi spedisci questo Foglio (che non ha macro) e, dopo l'invio, distruggilo.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 283
Iscritto il: 07/09/15 22:00

Re: invio foglio attivo senza macro in VBA

Postdi Anthony47 » 05/02/18 22:24

Il mio suggerimento e' quasi lo stesso gia' dato da Mario: crei una copia del singolo foglio che vuoi inviare e invii questa copia.
Per questo sostituisci le istruzioni
With ActiveSheet
Application.Dialogs(xlDialogSendMail).Show arg1:=INDIRIZZO, arg2:=OGGETTO, arg3:=True
End With

Con queste altre:
Codice: Seleziona tutto
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\POrdine.xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.Dialogs(xlDialogSendMail).Show arg1:=Indirizzo, arg2:=Oggetto, arg3:=True
Application.Wait (Now + TimeValue("0:00:04"))
Workbooks("POrdine.xlsx").Close False

La macro crea un file di un singolo foglio, quello attivo, e lo invia. Questo file di servizio sara' chiamato POrdine.xlsx e viene riscritto a ogni esecuzione di macro.
Do per scontato che le altre istruzioni della tua macro facciano il lavoro che ti aspetti.

Fai sapere...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 15153
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "invio foglio attivo senza macro in VBA":


Chi c’è in linea

Visitano il forum: fax71ita e 23 ospiti