0
votes

Comment utiliser un bouton pour déplacer une plage de contenu cellulaire sur une autre plage dans une feuille de calcul

Chaque jour, j'exécute une requête qui remplace les données dans un classeur Excel sur la feuille1. Stade2 est un rapport qui utilise des formules pour résumer les nouvelles données sur la feuille1. Je dois commencer à résoudre les données du rapport sur la feuille3. Je veux mettre un bouton sur la feuille2 que je peux cliquer sur celui-ci déplacera les données de C20: N20 sur la feuille2 et rangez-la dans la prochaine ligne disponible dans les colonnes B: M sur la feuille3. Je sais que je pouvais simplement enregistrer une macro et saisir ce code et l'attribuer au bouton, mais je ne peux pas comprendre comment dire au code de rechercher la prochaine ligne disponible.

C'est faux, mais représente ce que je J'essaie de faire, comment puis-je le réparer? P>

Sub Apv_Conv_TrendIt()
Dim LastRow As Long
LastRow = Sheets("Sheet3").Range("B1000000").End(xlUp).Row + 1: Sheets("Sheet3").Range("M1000000").End(xlUp).Row 1
Sheets("Sheet3").Range("B" & LastRow) = Sheets("Sheet2").Range("C20:N20")

End Sub


0 commentaires

3 Réponses :


3
votes

Au lieu de copier / coller, essayez un transfert de valeur xxx


2 commentaires

était sur le point de coller semblable, bien que je sent que le réglage de la plage pour utiliser la plage est inutile, étant donné qu'il s'agit d'une occurrence de ligne unique ... .Range (.Cells (LR, "B"), .Cells (LR , "M")))


@Cyril de déformation valide. J'ai commencé à taper avec l'intention de copier la pâte, puis a changé d'avis et je ne suis pas revenu



-1
votes

Il y a des moyens de faire cela. Voici une option. XXX PRE>

MAINTENANT, si les gammes changeront de manière dynamique, vous voulez le faire plus comme ça. P>

Sub SelectFilledCells()
Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select
End Sub


0 commentaires

0
votes

Pour répondre à votre question. Garder est simple

Créer un bouton sur la feuille2 P>

Attribuez une nouvelle macro au bouton et placez cette ligne de code unique entre le sous et l'extrémité SUB P>

Sheets("Sheet2").Range("C20:N20").Copy Destination:=Sheets("Sheet3").Cells(Rows.Count, 2).End(xlUp).Offset(1)


0 commentaires