Excel Transpose entre arquivos com o VBA

0

Eu preciso transpor entre os arquivos, mas estou preso? Quando eu transponho dentro de apenas um arquivo, meu código funciona. Mas quando tentei transpor para outro arquivo, não o fiz. Minha sintaxe é obviamente defeituosa.

Eu tenho 80 pesquisas com clientes que espero transpor em apenas uma.

Meu código que funciona é:

Sub Trans2()
    Range("C14:C21").Select
    Selection.Copy
    Range("G6").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
                           False, Transpose:=True
End Sub

Mas quando tento executá-lo de uma pasta de trabalho e transpô-la para outra, ela falha.

Meu código "quebrado" é:

Sub TransposeInfo()
    '
    ' Transpose info between files
    '
    Dim mySource As String
    Dim myDest As String
    Dim wbkWorkbook1 As Workbook
    Dim wbkWorkbook2 As Workbook

    'Define path and filename
    mySource = "C:18\CustSvy001.xls*"
    myDest = "C:18\CustResults.xlsx"

    'Open files
    Set wbkWorkbook1 = Workbooks.Open(mySource)
    Set wbkWorkbook2 = Workbooks.Open(myDest)

    'Select items to transpose
    wbkWorkbook1.Worksheets("Q8").Range("B8:B11").Select
    Selection.Copy
    wbkWorkbook2.Worksheets("New").Range("G6").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
                           False, Transpose:=True

    'Close the two workbooks
    wbkWorkbook1.Close (True)
    wbkWorkbook2.Close (True)
End Sub 

Alguma sugestão? Eu sou muito verde no VBA, então, por favor, quanto menos complicado, melhor.

    
por Tess in Oz 16.04.2018 / 07:30

1 resposta

0

Se você está recebendo este erro:

éporcausado*nonomedoarquivo-substitua-opelaletraexataemseunomedearquivo

.

Tenteisto:

PublicSubTransposeInfoBetweenFiles()DimmySourceAsStringDimmyDestAsStringDimwbkWorkbook1AsWorkbookDimwbkWorkbook2AsWorkbook'DefinepathandfilenamemySource="C:18\CustSvy001.xlsx" '<- Replaced "*" with "x" or "m"
    myDest = "C:18\CustResults.xlsx"  '<- This is Ok (exact path and file name)

    Application.ScreenUpdating = False

    'Open files
    Set wbkWorkbook1 = Workbooks.Open(mySource)
    Set wbkWorkbook2 = Workbooks.Open(myDest)

    'Select items to transpose
    wbkWorkbook1.Worksheets("Q8").Range("B8:B11").Copy
    wbkWorkbook2.Worksheets("New").Range("G6").PasteSpecial Paste:=xlPasteAll, _
                                               SkipBlanks:=False, Transpose:=True
    'Close the two workbooks
    wbkWorkbook1.Close True
    wbkWorkbook2.Close True

    Application.ScreenUpdating = True
End Sub
por 16.04.2018 / 10:20