Crema, a principio a lógica é semelhante a que lhe foi passada no tópico abaixo :
Macro Salvar Como (txt) Nome do arquivo pré determinado [Resolvido]
viewtopic.php?f=10&t=11479
O que diferencia é que devemos capturar antes os nomes nos Renges definidos "L2" e "L3" em uma Variável e depois ajustar na rotina conforme abaixo :
Sub SelecionarCopiarSalvarMauro()
Dim WshTitulos As Excel.Worksheet
Set WshTitulos = ThisWorkbook.Worksheets("Txt Titulos")
Dim WshFornecedor As Excel.Worksheet
Set WshFornecedor = ThisWorkbook.Worksheets("Txt Fornecedor")
Dim iLastRow As Long
Dim sNomeArq_1 As String
Dim sNomeArq_2 As String
sNomeArq_1 = Worksheets("Header").Range("L2") 'Nome do em L2
sNomeArq_2 = Worksheets("Header").Range("L3") 'Nome do em L3
ActiveWorkbook.Save
'Primeira Parte = Txt Titulos
WshTitulos.Activate
Range("A1").Select
'Captura a Ultima Linha Preenchida com valor resultante da formula
iLastRow = WshTitulos.Cells.Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Range("A1:A" & iLastRow).Copy 'Não precisa Slecionar Copiamos direto
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Salva com o Nome do em L2 - Variavel sNomeArq_1
ActiveWorkbook.SaveAs Filename:= _
"M:TransformerArquivos" & sNomeArq_1 & ".txt" _
, FileFormat:=xlTextMSDOS, CreateBackup:=False
Windows("Transformer v1.0.xlsm").Activate
'Segunda Parte = Txt Fornecedor
WshFornecedor.Activate
Range("A1").Select
'Captura a Ultima Linha Preenchida com valor resultante da formula
iLastRow = WshFornecedor.Cells.Find(What:="*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Range("A1:A" & iLastRow).Copy 'Não precisa Slecionar Copiamos direto
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Salva com o Nome do em L3 - Variavel sNomeArq_2
ActiveWorkbook.SaveAs Filename:= _
"M:TransformerArquivos" & sNomeArq_2 & ".txt" _
, FileFormat:=xlTextMSDOS, CreateBackup:=False
Application.CutCopyMode = False
End Sub
Uma obs, não cheguei a fazer nenhum teste, depois pesquiso sobre isto, ou talvez algum outro colaborador já tenha algo a respeito,seria, se quer salvar como Arquivo Texto, acredito que não precisaria criar novos WorkBooks, colar e Salvar, acho que da para criar um arquivo Texto diretamente e colar no mesmo. Isto fica para outra oportunidade, vou pesquisar a respeito, por hora veja se a rotina acima já ajuda.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 27/06/2014 5:04 pm