| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλημέρα, Σε αρχείο με περιπου 2000 γραμμές θέλω να διαγράψω γραμμές οι οποιες σε μία στήλη δεν περιέχουν την τιμή που θέλω... Κώδικας: Sheets("Sheet1 (4)").Select
I = Cells(Rows.Count, "D").End(xlUp).Row
'Range("d" & (I + 1)) = "last row"
For K = I To 1 Step -1
If Range("D" & K) <> "Bounced and cleared" Then
Range("D" & K).EntireRow.Delete
End If
Next K
Παρατήρησα όμως οτι καθυστερεί αρκετά ώστε να μου δώσει το επιθυμητό αποτέλεσμα Μήπως υπάρχει πιό σύντομος τρόπος ; Μπορείτε να μου δώσετε κατευθύνσεις να το ψάξω ; |
|
#2
|
|
Καλημέρα Δεν βλέπω μεγάλη καθυστέρηση. Δοκίμασε το παρακάτω: Με τον κώδικα αυτόν: Κώδικας: Sub postNumb()
Dim i As Long
For i = 1 To 3000
Cells(i, 4).Value = i
Next i
End Sub
και με αυτόν: Κώδικας: Sub test()
Dim LastRow As Long, i As Long
LastRow = Cells(Rows.Count, 4).End(xlUp).Row
For i = LastRow To 1 Step -1
If Cells(i, 4) < 1000 Then
Cells(i, 4).EntireRow.Delete
End If
Next i
End Sub
χρόνος εκτέλεσης 0,11 sec |
|
#3
| |||
| |||
|
καλημέρα Σπύρο, έκανα λάθος ειναι περιπου 12000 οι γραμμες δοκιμαζω αυτά που μου έγραψες και ενημερωνω Ευχαριστώ, :) |
|
#4
| |||
| |||
|
παλι έχω καθυστέρηση πάνω από πέντε λεπτά σίγουρα ... :( το laptop ειναι Hp 6475b,είναι ΟΚ σχετικά. |
|
#5
|
|
Δοκίμασα με 12000 γραμμές Ίδιος κώδικας Ζητούμενο: διέγραψε τιμές < 5000 Χρόνος 0,34 sec |
|
#6
| |||
| |||
|
Χμ. Κάτι δεν γίνεται σωστά στο δικό μου.... αυτό τον κώδικα χρησιμοποιώ και χρησιμοποιώ αλλο αρχείο με μόνο μία στήλη ..... Κώδικας: Sub DeleteRows()
'
' deleterowsuptodown Macro
'
Dim LastRowPort As Long, a As Long
LastRowPort = Cells(Rows.Count, 1).End(xlUp).Row
For a = LastRowPort To 1 Step -1
If a > 1 And Cells(a, 1) <> "" Then
Cells(a, 1).EntireRow.Delete
End If
Next a
Selection.AutoFilter
End Sub
Τελευταία επεξεργασία από το χρήστη Βασίλης Καραχάλιος : 11-10-14 στις 13:13. |
|
#7
|
|
Αυτό είναι «λίγο» διαφορετικό από αυτό που ζήτησες στην αρχή Λοιπόν... Κώδικας: Sub DeleteRows()
On Error Resume Next
Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers).EntireRow.Delete
End Sub
Αν θέλεις άλλο είδος άλλαξε αυτό xlCellTypeConstants και αυτό xlNumbers Τελευταία επεξεργασία από το χρήστη Spirosgr : 12-10-14 στις 12:21. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [VBA] Epeksergasia macro-entolis | ilcamorista | Excel - Ερωτήσεις / Απαντήσεις | 2 | 15-12-16 08:47 |
| Πρόβλημα με μεγάλη μακροεντολή | bdim20 | Access - Ερωτήσεις / Απαντήσεις | 5 | 08-10-14 10:32 |
| Macro - πληροφορία | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 3 | 06-06-14 20:37 |
| Εντολή μή εκτέλεσης κώδικα vba | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 12 | 14-01-14 11:15 |
| [VBA] Καθυστέρηση της φόρμας | anestaki | Excel - Ερωτήσεις / Απαντήσεις | 2 | 02-02-13 17:25 |
Η ώρα είναι 08:53.


Αλλαγή σε γραμμικό τρόπο

