Ir ao conteúdo
  • Cadastre-se

Excel Conflito em versão do excel (VBA)


Posts recomendados

Boa tarde amigos, estou com conflito em versões do excel. Criei um documento no excel 2013 com macro, e quando um funcionário foi abrir na máquina dele, deu erro, pois é 2010, mudei algumas coisas no meu código e conseguir dar um passos a frente, mas ai ao clicar no botão " gerar documento" da erro. Segue a baixo o código que esta dando erro:

Como sou razo em VBA, não sei quais dos códigos não são compatíveis com o excel 2010, alguém poderia me ajudar?

 

Sub Retângulodecantosarredondados2_Clique()


Plan4.Range("A3:H11").ClearContents 'esta linha apaga o intervalo de A3 até H11
  ultimaLinha = Plan1.Cells(Rows.Count, "a").End(xlUp).Row 'retorna a ultima linha da Plan1 que contém informações
    lin = 2 ' linha 2

    For i = 3 To ultimalinha 'da 3 linha até a ultima linha
       If Plan1.Cells(i, 1) <> "" Then 'se o intervalo(3 To ultimaLinha) da coluna 1 for diferente de "" (vazio) então
       'será copiado na Plan4 os dados, desta mesma Plan4 referente a primeira linha com os dados A2
        Plan4.Cells(i, 1) = Plan4.Cells(lin, 1)
        Plan4.Cells(i, 2) = Plan4.Cells(lin, 2)
        Plan4.Cells(i, 3) = Plan4.Cells(lin, 3)
        Plan4.Cells(i, 4) = Plan4.Cells(lin, 4)
        Plan4.Cells(i, 5) = Plan4.Cells(lin, 5)
        Plan4.Cells(i, 6) = Plan4.Cells(lin, 6)
        Plan4.Cells(i, 7) = Plan4.Cells(lin, 7)
        Plan4.Cells(i, 😎 = Plan4.Cells(lin, 😎
        lin = lin + 1
        
    ElseIf Plan1.Cells(i, 1) = "" Then 'se o intervalo(3 To ultimaLinha) da coluna 1 for igual a "" (vazio) então
        Plan4.Range("A3:H11").ClearContents 'esta linha apaga o intervalo de A3 até H11
        
    End If
    
    Next
 
Range("A3:H11").Font.ColorIndex = 15
        'End If
        


Dim total As Integer

Range("A1").Select
total = (Cells(Rows.Count, 1).End(xlUp).Row)

MsgBox ("Basta clicar na janela do word que será aberta automaticamente.")


'Abrir documento do word pronto
Dim WdDocument As Word.Document
'Dim wdApp As Word.Application, wdDoc As Word.Document

On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then 'Word isn't already running
    Set wdApp = CreateObject("Word.Application")
End If
   

Set wdDoc = wdApp.Documents.Open("meu documento")

wdApp.Visible = True


For i = 2 To total


'Passando para a primeira tabela do Word
 wdDoc.Tables(1).Rows.Add 'Adicionando 1 linha à tabela
 
 ThisWorkbook.Sheets("CADASTRO").Range("A" & i & ":D" & i).Copy
  wdDoc.Range(wdDoc.Tables(1).Cell(i, 1).Range.Start, wdDoc.Tables(1).Cell(i, 4).Range.End).PasteAndFormat (22)
 
 
'Passando para a segunda tabela do Word (O instrutor novamente)
 wdDoc.Tables(2).Rows.Add 'Adicionando 1 linha à tabela
 
ThisWorkbook.Sheets("CADASTRO").Range("A" & i).Copy
   wdDoc.Range(wdDoc.Tables(2).Cell(i, 1).Range.Start, wdDoc.Tables(2).Cell(i, 1).Range.End).PasteAndFormat (22)
   

'Passando para a segunda tabela do Word
 
ThisWorkbook.Sheets("CADASTRO").Range("E" & i & ":G" & i).Copy
  wdDoc.Range(wdDoc.Tables(2).Cell(i, 2).Range.Start, wdDoc.Tables(2).Cell(i, 4).Range.End).PasteAndFormat (22)
 
 
'Passando para a terceira tabela do Word ( O instrutor novamente)
 'wdDoc.Tables(3).Rows.Add 'Adicionando 1 linha à tabela
 
 ThisWorkbook.Sheets("GERAR DOCUMENTO").Range("A" & i).Copy
  wdDoc.Range(wdDoc.Tables(3).Cell(i, 1).Range.Start, wdDoc.Tables(3).Cell(i, 1).Range.End).PasteAndFormat (22)
 
 
'Passando para a terceira tabela do Word
  ThisWorkbook.Sheets("GERAR DOCUMENTO").Range("B" & i).Copy
 wdDoc.Range(wdDoc.Tables(3).Cell(i, 2).Range.Start, wdDoc.Tables(3).Cell(i, 2).Range.End).PasteAndFormat (22)
 
      
      
'Passando para a quarta tabela do Word
 'wdDoc.Tables(4).Rows.Add 'Adicionando 1 linha à tabela
 
ThisWorkbook.Sheets("GERAR DOCUMENTO").Range("C" & i & ":E" & i).Copy
  wdDoc.Range(wdDoc.Tables(4).Cell(i, 1).Range.Start, wdDoc.Tables(4).Cell(i, 3).Range.End).PasteAndFormat (22)
 

'Passando para a quinta tabela do Word
 'wdDoc.Tables(5).Rows.Add 'Adicionando 1 linha à tabela

ThisWorkbook.Sheets("GERAR DOCUMENTO").Range("F" & i & ":H" & i).Copy
wdDoc.Range(wdDoc.Tables(5).Cell(i, 1).Range.Start, wdDoc.Tables(5).Cell(i, 3).Range.End).PasteAndFormat (22)
 
     Application.CutCopyMode = False


Next
 
  Set wordapp = Nothing
  Set wdDoc = Nothing
 
 
Range("A3:H3").Select
Selection.ClearContents
ActiveCell.Select

Range("A4:H4").Select
Selection.ClearContents
ActiveCell.Select

Range("A5:H5").Select
Selection.ClearContents
ActiveCell.Select

Range("A6:H6").Select
Selection.ClearContents
ActiveCell.Select

End Sub

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...