Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω σε ένα αρχείο excel αν υπάρχει η δυνατότητα ;όταν ένα κελί έχει μια συγκεκριμένη τιμή πχ κελί=1 τότε να σβήνεται ολόκληρη η γραμμή αυτόματα.

 

Θέλω να γίνεται αυτόματα για να εκτυπώνω αυτά που μου χρειάζονται αναλόγως την συμπλήρωση του αρχείου και να μην έχω περιττές γραμμές όταν δεν χρειάζονται.

Δημοσ.

Θέλω σε ένα αρχείο excel αν υπάρχει η δυνατότητα ;όταν ένα κελί έχει μια συγκεκριμένη τιμή πχ κελί=1 τότε να σβήνεται ολόκληρη η γραμμή αυτόματα.

 

Θέλω να γίνεται αυτόματα για να εκτυπώνω αυτά που μου χρειάζονται αναλόγως την συμπλήρωση του αρχείου και να μην έχω περιττές γραμμές όταν δεν χρειάζονται.

Δες αυτό.

Μόνο με macro γίνεται αυτό που θέλεις.

Δημοσ.

Δε μπορείς να "εξαφανίσεις" αυτές τις γραμμές με φίλτρο?

 

 

Θέλω σε ένα αρχείο excel αν υπάρχει η δυνατότητα ;όταν ένα κελί έχει μια συγκεκριμένη τιμή πχ κελί=1 τότε να σβήνεται ολόκληρη η γραμμή αυτόματα.

 

Θέλω να γίνεται αυτόματα για να εκτυπώνω αυτά που μου χρειάζονται αναλόγως την συμπλήρωση του αρχείου και να μην έχω περιττές γραμμές όταν δεν χρειάζονται.

Δημοσ.

Μπορεις να διευκρινησεις τι εννοεις αυτόματα;

 

α) Αυτοματα, αμέσως μολις εισαχθει απο το χρηστη η "κρισιμη" τιμη;

β) Αυτοματα, μολις προκυψει απο μια συναρτηση σε καποιο κελι, η κρισιμη τιμη; (εχει το φυλλο τετοιους υπολογισμους; )

γ) Ο χρηστης απλα παταει ενα button και αρχιζει τις διαγραφες των γραμμων που εχουν τη κρισιμη τιμη αυτοματα χωρις αλλη παρεμβαση του χρηστη ;

δ) Να σωθει το αρχειο πριν αρχισουν οι διαγραφες; (undo δεν εχει μετα το τρεξιμο των μακροεντολων!)

ε) Αυτοματα, πριν την εκτυπωση;

στ) Συνδυασμος ή και ολα απο τα παραπανω;

 

 

Αναλογα τι θες, θα χειριστεις με διαφορετικο event τη κατασταση

α) μακροεντολη Worksheet_Selectionchange ή Worksheet_Change

β) μακροεντολη Worksheet_Calculate

γ) custom μακροεντολη

δ) μακροεντολη Workbook_AfterSave

ε) μακροεντολη Workbook_BeforePrint

Δημοσ.

ε) μακροεντολη Workbook_BeforePrint

 

Ίσως αυτή μου κάνει, σκέψου ότι έχω μια λίστα με εξετάσεις όπου στην κάθε γραμμή είναι η εξέταση, περιγραφή,κόστος κλπ, θέλω όταν κάποια εξέταση δεν θα την θέλει ο εκάστοτε πελάτης, να αποκρύπτεται η ανάλογη γραμμή(βάση κελιού που θα έχει συγκεκριμένη τιμή Null ή "-").

Και με νοιάζει πιο πολύ στην εκτύπωση που αυτό θα ναι που θα δώσω στον πελάτη.

 

Θα ψάξω λίγο αυτά που μου γράψατε και θα επανέλθω σας ευχαριστώ... :shifty: ΑΝ έχετε να μου προτείνεται κάτι ευχαρίστως.

Δημοσ.

Αρα δεν θελεις διαγραφή, αλλα αποκρυψη της γραμμης....

 

Μια λυση ειναι η (α) περιπτωση οπου σε καθε sheet ενεργοποιεις το worksheet change event

> 
Private Sub Worksheet_Change(ByVal Target As Range)
   HideValue = "to_del"
   Target.Activate
   If ActiveCell.Value = HideValue Then
    Selection.EntireRow.Hidden = True
    ActiveCell.Offset(1, 0).Select
   End If
   ActiveCell.Offset(1, 0).Select
End Sub

 

to_del : Η τιμη που θα αφαιρεί τη γραμμη

αν θες να περιορισεις τον ελεγχο σε μια μονο στηλη πχ τη 5η , προσθεσε πριν τη γραμμη HideValue= ....

τη γραμμη

>
  If Selection.Column <> 5 Then Exit Sub 
  (HideValue =.....
  ...........

 

Αν προτιμας την (ε) Workbook_BeforePrint event, βαζεις τις εντολές

 

>
Private Sub Workbook_BeforePrint(Cancel As Boolean)
   r = Selection.Row
   c = Selection.Column
   Range("A1").Select
   HideFlagValue = "to_del"
   exit_flag = False
   Do
    On Error Resume Next
    Cells.Find(What:=HideFlagValue, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
	    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
	    , SearchFormat:=False).Activate
    If CStr(ActiveCell.Value) = HideFlagValue Then
	    Selection.EntireRow.Hidden = True
	    ActiveCell.Offset(1, 1 - Selection.Column).Select
    Else
	    exit_flag = True
    End If
   Loop Until exit_flag
   Range("Α" + CStr(r)).Select
   ActiveCell.Offset(0, c - 1).Select
End Sub

  • Like 1
Δημοσ.

Αυτό που θες να κάνεις λύνεται μια χαρά με φίλτρα και δε μπλέκεις με vba, events κλπ. Θα φτιάξεις ένα master worksheet με όλες τις εξετάσεις, θα βάλεις στην πρώτη γραμμή ονόματα στις κολώνες και θα ενεργοποιήσεις το αυτόματο φίλτρο.

 

 

Ίσως αυτή μου κάνει, σκέψου ότι έχω μια λίστα με εξετάσεις όπου στην κάθε γραμμή είναι η εξέταση, περιγραφή,κόστος κλπ, θέλω όταν κάποια εξέταση δεν θα την θέλει ο εκάστοτε πελάτης, να αποκρύπτεται η ανάλογη γραμμή(βάση κελιού που θα έχει συγκεκριμένη τιμή Null ή "-").

Και με νοιάζει πιο πολύ στην εκτύπωση που αυτό θα ναι που θα δώσω στον πελάτη.

 

Θα ψάξω λίγο αυτά που μου γράψατε και θα επανέλθω σας ευχαριστώ... exclamation.png ΑΝ έχετε να μου προτείνεται κάτι ευχαρίστως.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...