2016-08-10 1 views
0

Je suis un débutant dans Excel vba et j'essaye de changer une macro de Siddharth Rout (merci) '.Modifier la plage initiale et la plage de destination

J'ai besoin de spécifier la plage à commencer dans une cellule, comme B13, et de copier dans une autre feuille de calcul dans C14. Comment cela peut-il être géré?

Merci d'avance.

Option Explicit 

Sub Sample() 
Dim lastRow As Long, i As Long 
Dim CopyRange As Range 

'~~> Change Sheet1 to relevant sheet name 
With Sheets("Sheet1") 
    lastRow = .Range("A" & .Rows.Count).End(xlUp).Row 

    For i = 2 To lastRow 
     If Len(Trim(.Range("A" & i).Value)) <> 0 Then 
      If CopyRange Is Nothing Then 
       Set CopyRange = .Rows(i) 
      Else 
       Set CopyRange = Union(CopyRange, .Rows(i)) 
      End If 
     End If 
    Next 

    If Not CopyRange Is Nothing Then 
     '~~> Change Sheet2 to relevant sheet name 
     CopyRange.Copy 
     Sheets("Sheet2").Rows(1).PasteSpecial xlValues 
    End If 
End With 
End Sub 

Répondre

0

Parce que CopyRange est une ligne complète de large, vous aurez besoin de la réduire avant de coller dans Range("B13"). En tant qu'exigence supplémentaire, le PO souhaite exclure la colonne A de la plage source.

Sub Sample() 
    Dim lastRow As Long, i As Long 
    Dim CopyRange As Range 

    '~~> Change Sheet1 to relevant sheet name 
    With Sheets("Sheet1") 
     lastRow = .Range("A" & .Rows.Count).End(xlUp).Row 

     For i = 2 To lastRow 
      If Len(Trim(.Range("A" & i).Value)) <> 0 Then 
       If CopyRange Is Nothing Then 
        Set CopyRange = .Rows(i) 
       Else 
        Set CopyRange = Union(CopyRange, .Rows(i)) 
       End If 
      End If 
     Next 

     If Not CopyRange Is Nothing Then 
      '~~> Change Sheet2 to relevant sheet name 
      Intersect(Sheets("Sheet1").UsedRange, CopyRange).Offset(0, 1).Copy 
      Sheets("Sheet2").Range("B13").PasteSpecial xlValues 
     End If 
    End With 
End Sub 
+0

Merci pour vous reply.Is erreur gaving « référence non valide ou non qualifiée » – Car

+0

Votre accueil me laisser savoir comment cela fonctionne pour vous. –

+0

Erreur d'écriture "référence non valide ou non qualifiée" – Car