| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα σε όλους! Έχω ένα φύλλο εργασίας με δεδομένα σε περίπου 1000 σειρές.Θέλω με κάποιο τρόπο,να αποκρύψω ολόκληρες τις σειρές που έχουν στην στήλη D την τιμή 0,00.Ευχαριστώ εκ των προτέρων.
|
|
#2
| |
| Παράθεση:
Γιατί δεν εφαρμόζεις αυτόματο φίλτρο ![]() Με το φίλτρο, στη στήλη D επιλέγεις Προσαρμογή "δεν είναι ίσο" 0 (μηδέν) ![]() Εναλλακτικά μπορείς να προσθέσεις μια βοηθητική στήλη όπου όταν η στήλη D είναι μηδέν γράφει 1 αλλιώς γράφει μηδέν. ( =IF(D1=0;"μηδέν";1) ). Στην συνέχεια με επιλεγμένη την βοηθητική στήλη κάνεις Επεξεργασία/Μετάβαση/Ειδικά σε... τσεκάρεις Τύποι και αφήνεις τσεκαρισμένο μόνο το Κείμενο κλείνεις με ΟΚ. Στη συνέχεια Μορφή/Γραμμή/Απόκρυψη. ![]() Τέλος υπάρχει και η VBA ... αλλά μάλλον το αυτόματο φίλτρο είναι η λύση. Τα λέμε Θανάσης |
|
#3
| |||
| |||
|
Εάν υπάρχει η δυνατότητα με VBA δεκτή.Ευχαριστώ για την απάντηση Θανάση.
|
|
#4
|
|
Καλημέρα Νίκο. Θεωρώ ότι πριν καταφύγουμε σε VBA καλό είναι να προσπαθούμε να λύσουμε το πρόβλημα/ερώτημα χωρίς VBA, γιατί έτσι μαθαίνουμε πολλά. ![]() Τώρα για μια προσέγγιση λύσης με VBA (αν και δεν είμαι ειδικός και καλό θα ήταν να τον κρίνουν οι γκουρού της VBA) θα πρότεινα τον παρακάτω κώδικα Sub HideLines() όπου Range("D1:D1000") η περιοχή που θα γίνει ο έλεγχος και what:=0 η τιμή που αναζητάμε. Δεν θα μας χάλαγε να βάλουμε σαν MyRange ολόκληρη την στήλη D ("D:D") νομίζω ότι είναι πολύ γρήγορος. :icon_out: Τα λέμε Θανάσης Κώδικας: Sub HideLines()
Dim c, last, MyRange As Range
Dim i As Double
Dim s As String
Set MyRange = Range("D1:D1000")
i = MyRange.Cells.Count
Set last = MyRange.Cells(i)
Set c = MyRange.Find(what:=0, after:=last)
If Not c Is Nothing Then s = c.Address
Do Until c Is Nothing
c.EntireRow.Hidden = True
Set c = MyRange.FindNext(after:=c)
If c.Address = s Then Exit Do
Loop
MsgBox i - MyRange.Cells.SpecialCells(xlCellTypeVisible).Count & _
" rows are hidden now."
End Sub
|
|
#5
| |||
| |||
|
Φίλε Θανάση ευχαριστώ για το χρόνο που διέθεσες για μέενα.Λειτουργεί τέλεια,ευχαριστώ πολύ.
|
|
#6
| ||||
| ||||
|
Καλησπέρα σε όλους! Παράθεση:
Μια πιο γρήγορη αλλά και πιο αξιόπιστη μέθοδο είναι και η παρακάτω: Κώδικας: Sub HideZeroes()
Dim lngFound As Long
On Error Resume Next
With Range("d1:d1000")
lngFound = Application.Match(0, .Cells, 0)
If lngFound Then
.EntireRow.Hidden = True
.ColumnDifferences(.Cells(lngFound)).EntireRow.Hidden = False
Cells(1).Activate
MsgBox .Count - .SpecialCells(xlCellTypeVisible).Count & _
" rows are hidden now."
End If
End With
End Sub
![]() Φιλικά, Γιάννης
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ![]() ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
|
#7
| |||
| |||
|
Φίλε Γιάννη ευχαριστώ.Πολύ καλή λύση,είναι τέλεια.
|
![]() |
| Ετικέτες |
| entirerow, hidden, range |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Μορφοποίηση] Διαγραφή και εισαγωγή σειρών | gliba | Excel - Ερωτήσεις / Απαντήσεις | 2 | 17-04-15 23:57 |
| [Μορφοποίηση] Απόκρυψη ορισμένων σειρών με επιλογή φίλτρων μη κενά. | Nick1983 | Excel - Ερωτήσεις / Απαντήσεις | 9 | 19-09-13 19:32 |
| [ Φόρμες ] Εμφάνιση-Αποκρυψη | gaz_manos | Access - Ερωτήσεις / Απαντήσεις | 10 | 15-10-12 08:17 |
| [ Εκθέσεις ] Απόκρυψη εγγραφής σε έκθεση με τιμή πεδίου 0 | vaspipidis | Access - Ερωτήσεις / Απαντήσεις | 4 | 08-07-11 15:30 |
| [Γενικά] αφαίρεση κενών σειρών. | misirlis | Excel - Ερωτήσεις / Απαντήσεις | 2 | 07-06-10 08:32 |
Η ώρα είναι 17:13.









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

