none
Copiar valores + processo invisível! RRS feed

  • Pergunta

  • Esse é o código que estou usando para copiar dados para um novo workbook, porém ele está copiado as fórmulas mas quero que ele copie só o valor das células e também fazer com que o processo de abrir e fechar o arquivo "controle de AR.xlsm" seja invisível.

    Não estou conseguindo fazer isso funcionar!

    Desde já, obrigado a todos!

    Private Sub AR()
    LastRow = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
    
    For i = 10 To LastRow
    
    If Cells(i, 2) <> "" Then
    Range(Cells(i, 2), Cells(i, 13)).Select
    Selection.Copy
    
    Workbooks.Open Filename:="C:\PROGEP\Controle de AR.xlsm"
    Dim p As Integer, q As Integer
    
    p = Worksheets.Count
    
    For q = 1 To p
    
    If ActiveWorkbook.Worksheets(q).Name = "Plan1" Then
    Worksheets("Plan1").Select
    End If
    
    Next q
    
    erow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    
    ActiveSheet.Cells(erow, 1).Select
    ActiveSheet.Paste
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    Application.CutCopyMode = False
    End If
    
    Next i
    
    End Sub
    

    terça-feira, 23 de dezembro de 2014 02:38

Respostas

  • Private Sub AR()
      Application.ScreenUpdating = False
      
      LastRow = Range("B" & Rows.Count).End(xlUp).Row
      
      For i = 10 To LastRow
        
        If Cells(i, 2) <> "" Then
          Range(Cells(i, 2), Cells(i, 13)).Select
          Selection.Copy
          
          Workbooks.Open Filename:="C:\PROGEP\Controle de AR.xlsm"
          Dim p As Integer, q As Integer
          
          p = Worksheets.Count
          
          For q = 1 To p
            
            If ActiveWorkbook.Worksheets(q).Name = "Plan1" Then
              Worksheets("Plan1").Select
            End If
            
          Next q
          
          erow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
          
          ActiveSheet.Cells(erow, 1).Select
          ActiveCell.PasteSpecial Paste:=xlPasteValues
          ActiveWorkbook.Save
          ActiveWorkbook.Close
          Application.CutCopyMode = False
        End If
        
      Next i
      
      Application.ScreenUpdating = True
    End Sub
    


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

    terça-feira, 23 de dezembro de 2014 15:01
    Moderador