Excel - Αντιστοίχιση μακροεντολών σε όλα τα κίτρινα επισημασμένα κελιά

Θέμα

Γεια σας, είμαι σήμερα σε ένα τουρσί ... Ελπίζω ότι όλοι οι κύριοι θα μπορούσαν να δώσουν ένα χέρι σε αυτό το VBA noob ...

Αυτή τη στιγμή έγραψα μια μακροεντολή για την αντιγραφή όλων των τύπων χωρίς να διατηρήσετε την τιμή στα ενεργά κελιά και θα ήθελα να εφαρμόσω αυτή τη μακροεντολή σε όλα τα κίτρινα κίτρινα κελιά που επισημαίνονται στο υπολογιστικό φύλλο .... Πώς να το κάνετε αυτό ;;

ο τρέχων κωδικός μου είναι απλά

(Ακόμα δεν μπορώ να σκεφτώ τι να θέσω να κάνει μόνο κίτρινα επισημασμένα κελιά να περιέχουν αυτή τη μακροεντολή)

 Sub Copy_Formulas_Only () Γραμμή Dim Ως Ενιαία γραμμή = ActiveCell.row Selection.EntireRow.Insert Γραμμές (γραμμή - 1) .Κοπή σειρές (σειρά) .Επιλογή σφάλματος Συνέχιση Επόμενη Επιλογή.PasteSpecial Επικόλληση: = xlPasteFormulas Selection.SpecialCells (xlCellTypeConstants). ClearContents σε σφάλμα GoTo 0 Application.CutCopyMode = False End Sub 

Λύση

Θα ενεργοποιηθεί, καθώς επιλέγετε εύρος κελιών. Αλλά υποθέτω ότι ξέρετε καλύτερα τι πρέπει να κάνετε.

 Ιδιωτικό Sub Worksheet_SelectionChange (ByVal Target As Range) Application.EnableEvents = False 'Εάν Target.Address = "ΟΛΑ ΤΑ ΚΙΤΡΙΑΚΑ ΚΥΤΤΑΡΑ ΣΤΟ ΕΡΓΑΣΤΗΡΙΟ" Στη συνέχεια για κάθε Κελί στο Στόχο Αν (CELL.Interior.Color = 65535) γραμμή = ActiveCell.row Selection.EntireRow.Insert Γραμμές (γραμμή - 1) .Copy Γραμμές (γραμμή) .Επιλογή Σφάλμα Συνέχιση Συνέχεια Επόμενο Selection.PasteSpecial Επικόλληση: = xlPasteFormulas Selection.SpecialCells (xlCellTypeConstants) .ClearContents Application.EnableEvents = Σφάλμα True On GoTo 0 Τέλος εάν Επόμενη Application.CutCopyMode = False End Sub 

Σημείωση

Χάρη στην rizvisa1 για αυτή την άκρη στο φόρουμ.

Προηγούμενο Άρθρο Επόμενο Άρθρο

Οι Καλύτερες Συμβουλές