none
Como enviar uma planilha junto com as macros? RRS feed

  • Pergunta

  • Olá a todos,

    Gostaria de saber se é possível salvar uma planilha de forma que esta não necessite do arquivo com as macros gravadas, ou seja, fiz minha planilha em um computador e gostaria de utiliza-la em outros, mas sem ter de copiar junto com esta o arquivo de macros. É possível salvar a planilha com as macros no mesmo arquivo?

    quinta-feira, 2 de julho de 2015 23:33

Respostas

Todas as Respostas

  • @Birrumba,

    Uma pasta de trabalho pode ter macros incorporadas. Você salvou no formato *.XLSM?

    XLSX não suporta macros.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 3 de julho de 2015 15:10
    Moderador
  • Disponho de alguns exemplos;

    Sub SalvarPlanilhaExcel_2007() 'programação p/ salvar cópia da planilha com macros no excel 2007
        Set objWS = CreateObject("WScript.Shell")
        ActiveWorkbook.SaveAs Filename:= _
        objWS.SpecialFolders("Desktop") & "\Cópia - Registro Diário.xls", _
        FileFormat:=xlExcel8, Password:="VelvetSweatshop", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
        ActiveWindow.SmallScroll Down:=3
    End Sub
    Sub SalvarCópia_AreaTrabalho() 'Salvar Copia da planilha Sem Macros Excel 2010 ou 2007
        If MsgBox("Deseja Criado uma Cópia da Planilha Original na Área de Trabalho ? ", vbQuestion + vbYesNo) = vbYes Then
        Application.ScreenUpdating = False
        Application.DisplayAlerts = False
        Set objWS = CreateObject("WScript.Shell")
        ActiveWorkbook.SaveAs Filename:= _
        objWS.SpecialFolders("Desktop") & "\Cópia - Registro Diário.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        'ActiveWorkbook.Save
        'ActiveWorkbook.Close savechanges:=False
         Else
        If resposta = False Then
       'ActiveWorkbook.Close savechanges:=False
        End If
        End If
    End Sub
    Sub Salva_Cópia_Planilha_Com_Macros() 'Excel 2010 com macros
       On Error Resume Next
       Set objWS = CreateObject("WScript.Shell")
       ActiveWorkbook.SaveCopyAs Filename:= _
       objWS.SpecialFolders("mydocuments") & "\Arquivo E-mail " & Format(Date, " dd-mm-yyyy") & ".xlsm" _
       'linha vazia
    End Sub
    Sub Salva_Cópia_Planilha_Com_Macross() 'Excel 2010
         On Error Resume Next
         Set objWS = CreateObject("WScript.Shell")
         ActiveWorkbook.SaveCopyAs Filename:= _
         objWS.SpecialFolders("mydocuments") & "\Arquivo E-mail " & Format(Date, " dd-mm-yyyy") & ".xlsm" _
         'linha vazia
    End Sub
    

    sexta-feira, 3 de julho de 2015 22:12
  • Basta copiar e colar esses códigos em um módulo do Editor do Visual Basic.

    Para acessá-lo, aperte ALT + F11, depois inserir ->módulo

    quarta-feira, 8 de julho de 2015 12:35