Περισσότερα
Excel VBA Αντιγραφή Επικόλληση τιμών μόνο ( xlPasteValues )
Προσπαθώ να αντιγράψω ολόκληρη τη στήλη του φύλλου Α στο φύλλο Β. Η στήλη του φύλλου Α έχει τιμές που σχηματίζονται με τύπους. Αντιγράφω τις τιμές της στήλης SheetA μόνο χρησιμοποιώντας xlPasteValues. Αλλά δεν επικολλάω τις τιμές σε ένα άλλο φύλλοB. Η στήλη στο φύλλοB είναι κενή. Ο κώδικάς μου VBA
Public Sub CopyrangeA()
Dim firstrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
firstrowDB = 1
arr1 = Array("BJ", "BK")
arr2 = Array("A", "B")
For i = LBound(arr1) To UBound(arr1)
With Sheets("SheetA")
lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(1, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("SheetB").Range(arr2(i) & firstrowDB).PasteSpecial xlPasteValues
End With
Next
Application.CutCopyMode = False
End Sub
28
3
Αν θέλετε απλώς να αντιγράψετε ολόκληρη τη στήλη, μπορείτε να απλοποιήσετε πολύ τον κώδικα κάνοντας κάτι τέτοιο:
Ή
Ή αν θέλετε να διατηρήσετε το βρόχο
Θα ήθελα να πάω χωρίς αντιγραφή/επικόλληση
Προσωπικά, θα το συντόμευα κι εγώ λίγο, αν το μόνο που χρειάζεστε είναι οι στήλες:
καθώς από αυτό το απόσπασμα κώδικα, δεν υπάρχει ιδιαίτερο νόημα στα
lastrow
ήfirstrowDB