CRIANDO PDF DE PLANILHAS E MESCLANDO VIA LISTBOX

PABLOMOREIRAGV 20/01/2015 14:21:21
#443886
Olá pessoal,

Tenho um Userform com Listbox que lista todas as planilhas (abas) existentes em uma Workbook. O código que postarei abaixo tem a função de converter em formato PDF todas das abas (planilhas) listadas no Listbox, separadamente com o nome de cada uma.
O que preciso é que ao invés de criar os arquivos PDF[ô]s separadamente, seja criado um arquivo só, contendo as planilhas que foram pré-selecionadas no Listbox. Alguém pode me ajudar? Desde já agradeço.

Segue código:

Dim L As Long

For L = 0 To lstPlanilhas.ListCount - 1
Dim FName1
FName1 = Sheets(lstPlanilhas.List(L)).Name

If lstPlanilhas.Selected(L) = True Then
Sheets(lstPlanilhas.List(L)).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & [Ô]\[Ô] + FName1 + [Ô].pdf[Ô], Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False


End If

Next
TUNUSAT 21/01/2015 07:46:34
#443899
PABLOMOREIRAGV,

Se você retirar este trecho de dentro do [Ô]for[Ô], colocando-o acima do [Ô]for[Ô] o que acontece?

Dim FName1
FName1 = Sheets(lstPlanilhas.List(L)).Name [ô]Activesheet.Name


[][ô]s,
Tunusat
PABLOMOREIRAGV 21/01/2015 08:23:56
#443900
Fazendo isso, ao selecionar mais de uma opção ela só converterá o último item selecionado.
MITSUEDA 11/02/2015 10:15:46
#444455
Private Sub CommandButton1_Click()
Dim x As Integer
Dim i As Integer
Dim ws As Worksheet
Dim strSheet() As String

Set ws = ActiveSheet

For x = 0 To lstPlanilhas.ListCount - 1
If lstPlanilhas.Selected(x) = True Then
ReDim Preserve strSheet(0 To i)
strSheet(i) = lstPlanilhas.List(x)
i = i + 1
End If
Next

Sheets(strSheet).Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & [Ô]\[Ô] & [Ô]Teste[Ô] + [Ô].pdf[Ô], Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False

ws.Select

Set ws = Nothing

Unload Me

End Sub


Private Sub UserForm_Initialize()

[ô]Declarando variavel
Dim ws As Worksheet

[ô]Inicialmente, precisamos limpar o
[ô]listbox
lstPlanilhas.Clear

[ô]agora para cada planilha adicionamos o título
[ô]da planilha no list Box
For Each ws In ThisWorkbook.Sheets
lstPlanilhas.AddItem ws.Name
Next

End Sub
MITSUEDA 11/02/2015 10:17:23
#444456
Resposta escolhida
Apenas trate o nome do arquivo pdf, pois coloquei uma referencia fixa

Abraço
PABLOMOREIRAGV 11/02/2015 12:07:01
#444460
Perfeito Fábio, resolveu completamente o meu problema. Muito obrigado mesmo.
Estarei encerrando o tópico e te pontuando.

Abs,
Pablo Moreira
Tópico encerrado , respostas não são mais permitidas