Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 20-06-11, 09:06
nikosjc Ο χρήστης nikosjc δεν είναι συνδεδεμένος
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-05-2011
Περιοχή: Χαλκίδα
Μηνύματα: 26
Προεπιλογή Autofilter excel 2002 και διαφορές με 2007?

Καλημέρα παιδιά,

θα χρειαστώ για άλλη μια φορά τη βοήθεια σας.

Έχω φτιάξει κάποιες μακροεντολές σε excel 2002 SP3 και δουλεύουν μια χαρά. Όταν πήγα όμως να τις τρέξω σε 2007 αντιμετώπισα το εξής πρόβλημα.

Χρησιμοποιώ τον παρακάτω κώδικα για να σβήσω γραμμές, που σε μια στήλη τους έχουν το "ο" (=όχι")

Κώδικας:
    With Sheets(1)
    LastRow = .Range("C3").End(xlDown).Row 'Έυρεση τελευταίας γραμμής με περιεχόμενο
    .Range("C3:C" & LastRow).EntireRow.Select
    End With
    Selection.Sort Key1:=Range("F3"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    
    Rows("2:2").Select 'Η τίτλοι των στηλών είναι στην γραμμή 2
    Selection.AutoFilter
    Selection.AutoFilter Field:=6, Criteria1:="o" 'Το κριτήριο μου είναι στην στήλη 6
    With Sheets(1)
    LastRow = .Range("a3").End(xlDown).Row 'Επιλογή των γραμμών προς διαγραφή
    .Range("a3:a" & LastRow).EntireRow.Select
    End With
    Selection.Delete Shift:=xlUp 'Διαγραφή γραμμών
    
    Selection.AutoFilter Field:=6 'Επαναφορά φίλτρου
    Selection.AutoFilter 'Αφαίρεση φίλτρου
    Range("A1").Select
Απ'οτι καταλαβαίνω το φίλτρο λειτουργεί διαφορετικά στις δύο εκδόσεις. Στο 2002 με την επιλογή των γραμμών μαζικά, επιλέγει μόνο όσες βλέπει στο φίλτρο και τις διαγράφει. Στο 2007 όμως αν και στο φίλτρο φαίνονται μόνο οι επιλογές με "ο", όταν γίνεται το μαρκάρισμα επιλέγει όλες τις γραμμές και τις διαγράφει!

Υπάρχει κάποιος τρόπος επιλογής μόνο όσων φαίνονται στο φίλτρο ή να τις σβήσω με άλλον τρόπο? (πχ με κάποια if ελέγχοντας όλες τις γραμμές μια μια)...

Ευχαριστώ!
Απάντηση με παράθεση