Σελ. 1 από 2 12 ΤελευταίαΤελευταία
Εμφάνιση 1-15 από 16
  1. #1
    Εγγραφή
    23-05-2008
    Ηλικία
    43
    Μηνύματα
    2
    Downloads
    3
    Uploads
    0
    καλησπερα σε ολους!
    δεν εχω ιδεα απο προγραμματισμο και παρολο που προσπαθησα να καταλαβω πως λειτουργει τις τελευταιες 10 μερες δεν μπορω να πω οτι καταφερα και πολλα..
    ζηταω τη βοηθεια οσων γνωριζουν....λογω του περιορισμου των 7 υποθεσεων της function if θελω να δημιουργησω μια function που θα ελεγχει την τιμη ενος κελιου και αναλογα με την τιμη που θα περιεχεται σε αυτο θα μου εμφανιζει στο κελι που εφαρμοζεται η function την τιμη ενος αλλου κελιου...δηλαδη εστω οτι εφαρμοζεται η function στο κελι Α1...αν η τιμη ενος κελιου πχ του Β1 ειναι 1 να μου εμφανιζει στο Α1 που εφαρμοζεται η function την τιμη του κελιου j1(οπου j=A στηλη,B στηλη,C στηλη,...),αν η τιμη του Β1 ειναι 2 να μου εμφανιζει στο Α1 που εφαρμοζεται η function την τιμη του κελιου j2,αν η τιμη του Β1 ειναι 3 να μου εμφανιζει στο Α1 που εφαρμοζεται η function την τιμη του κελιου j3 κ.ο.κ. .Δηλαδη αν η τιμη του κελιου Β1 ειναι i να μου εμφανιζει την τιμη του κελιου ji...και να κανει συνολικα 1000 ελεγχους

    το μονο που καταφερα να φτιαξω απο αυτα που καταλαβα απο την 10ημερη ενασχοληση μου με το VBA ειναι το παρακατω:

    Function superif(check_cell, j As Variant)

    For i = 1 To 1000
    If check_cell = i Then superif = range("j,i")
    Next
    End Function

    οπου check_cell το κελι του οποιου θα ελεγχεται η τιμη(στο παραδειγμα μας το κελι Β1),j η στηλη απο την οποια θα παιρνει τιμες...

    φυσικα το παραπανω δεν δουλευει γιατι δεν μπορω να ορισω το πως θα παιρνει τις τιμες απο το κελι ji που δεν ειναι το μονο λαθος απο οτι φανταζομαι.

    ευχαριστω για το χρονο σας...

  2. #2
    Εγγραφή
    27-03-2009
    Ηλικία
    52
    Μηνύματα
    16
    Downloads
    0
    Uploads
    0
    Δεν χρειάζεται να καταφύγεις στη VBA για αυτό το ζήτημα.
    Αντί για μια προσαρμοσμένη SuperIf, μπορείς να χρησιμοποιήσεις
    την ενσωματωμένη συνάρτηση INDIRECT ως εξής: =INDIRECT("D"&B1)
    Αν για παράδειγμα το Β1 περιέχει την τιμή 5 τότε το αποτέλεσμα που θα μας επιστρέψει
    θα είναι η τιμή του κελιού D5. Ελπίζω να το έπιασες το νόημα.

    Try it!

    Υ.Γ.
    Για να σου φύγει όμως και η περιέργεια, ορίστε και η SuperIf:
    Κώδικας:
    Function SuperIf(R As Long, Col As Variant) As Variant
        SuperIf = Columns(Col).Cells(R).Value
    End Function
    Μάλλον τώρα το SuperIf δεν ακούγεται και τόσο αντιπροσωπευτικό ε;
    Τελευταία επεξεργασία από το μέλος nisgia : 27-03-09 στις 04:40.

  3. #3
    Εγγραφή
    23-05-2008
    Ηλικία
    43
    Μηνύματα
    2
    Downloads
    3
    Uploads
    0
    φιλε μου επειδη τωρα μαθαινω excel ομολογω πως δεν την γνωριζα την indirect αν και εκανα την σχετικη αναζητηση στο site της microsoft...σε ευχαριστω παρα πολυ!με γλυτωσες απο πολυ χρονο...

    ........Auto merged post: menteses πρόσθεσε 11 λεπτά και 25 δευτερόλεπτα αργότερα ........

    nisgia ευχαριστω σου ειπα?ευχαριστω ξανα και ξανα!πωπω γλυτωσα απιστευτο χρονο...να σαι καλα ρε φιλε και αν ποτε χρειαστεις διατροφικες- διαιτητικες συμβουλες pm me...
    Τελευταία επεξεργασία από το μέλος menteses : 27-03-09 στις 14:48. Αιτία: auto merged post

  4. #4
    Εγγραφή
    27-03-2009
    Ηλικία
    52
    Μηνύματα
    16
    Downloads
    0
    Uploads
    0
    Φίλε menteses, πραγματικά χαίρομαι πολύ που βοήθησα!

    Σου συνιστώ να μάθεις καλά το Excel γιατί είμαι σίγουρος ότι θα σε βοηθήσει πάρα πολύ στη δουλειά σου.

    Καλές δουλειές λοιπόν!
    Γιάννης

    Υ.Γ.
    Εδώ που τα λέμε, μια δίαιτα την χρειάζομαι γιατί 110 κιλά σε 1,95m ύψος πέφτουν λίγο βαριά ε;

  5. #5
    Εγγραφή
    05-05-2009
    Περιοχή
    Λαύριο
    Ηλικία
    71
    Μηνύματα
    4
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+ OTE
    Ταχύτητα
    8192/1024
    ISP
    OTEnet
    Σας χαιρετώ όλους. Συγχαρητήρια για τη δουλειά σας.
    Μπαίνω τακτικά σε αυτό το Forum, αλλά 1η φορά συνδέθηκα σαν μέλος και γράφω, γιατί έχω ένα πρόβλημα αναπάντεχο.
    Δεν γνωρίζω Vba, αλλά συνήθως φτιάχνω Μακροεντολές στο Excel.
    Έβαλα λοιπόν στο κελί J1 τη Συνάρτηση: =H1&A1&B1&C1&D1&E1&F1&G1 και προσπάθησα να κάνω την εξής Μακροεντολή: Επιλέγω το κελί J1, κάνω αντιγραφή, μετά επιλέγω το κελί K1, κάνω ειδική επικόλληση τα περιεχόμενα. Μετά επιλέγω από τη γραμμή τύπων ότι έχει το κελί K1, κάνω αντιγραφή. Μετά επιλέγω το κελί κελί L1, επιλέγω στη γραμμή τύπων ότι έχει και κάνω επικόλληση και ΕΝΤΕΡ, για να δω το αποτέλεσμα.
    Αλλά δεν λειτουργεί.
    Κάποια βοήθεια παρακαλώ πολύ.

  6. #6
    Εγγραφή
    20-03-2003
    Περιοχή
    Στη μόνη πόλη που γράφεται με 2 'σ' και προφέρεται με 2 'λ'
    Ηλικία
    54
    Μηνύματα
    21.422
    Downloads
    25
    Uploads
    2
    Τύπος
    ADSL2+
    Ταχύτητα
    11000/1023
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΡΟΣΤΑΝ
    Router
    Netgear DGN2000
    SNR / Attn
    4(dB) / 30.5(dB)
    Path Level
    Fastpath
    Με επιφύλαξη:
    Αν όταν λες "γραμμή τύπων" εννοείς ότι κάνεις αντιγραφή των περιεχομένων της γραμμής που βρίσκεται πάνω από το Φύλο και κάτω από τα κουμπάκια τότε δεν δουλεύει γιατί οι μακροεντολές δεν μπορούν να το παρακολουθήσουν.
    Δοκίμασε να κάνεις αντιγραφή το κελί Κ1 και μετά ειδική επικόλληση -> Τύποι (Formulas)
    Όσο πιο βαθιά βάζουν το χέρι οι εταίροι στις τσέπες μας, τόσο πιο κοντά φθάνουν στα @@ μας

  7. #7
    Εγγραφή
    29-12-2008
    Μηνύματα
    330
    Downloads
    0
    Uploads
    0
    Εχω μια απορία για το Excel και δεν βρήκα καλύτερο νήμα για να την καταθέσω:

    Όλοι λίγο πολύ θα γνωρίζετε την λειτουργία της "σταθεροποίησης τμημάτων παραθύρου" στο Excel, με το οποίο μπορείς από ένα σημείο και πάνω, να σταθεροποιήσεις τις γραμμές έτσι ώστε να βρίσκονται πάντα στην οθόνη σου, ασχέτως πόσο κάτω πας στο έγγραφο.

    Αναρωτιόμουν λοιπόν, αν υπάρχει ανάλογη δυνατότητα και για τις στήλες. Αν δηλαδή μπορώ με μια εντολή/ρύθμιση, να σταθεροποιήσω τις πρώτες στήλες, ώστε όσο δεξιά και αν πηγαίνω, αυτές να μην χάνονται από το οπτικό μου πεδίο. Υπάρχει τρόπος να το κάνω;
    Ξύπνησα και είχε συννεφιά, και εγώ ερωτήματα πολλά!...

  8. #8
    Εγγραφή
    27-03-2009
    Ηλικία
    52
    Μηνύματα
    16
    Downloads
    0
    Uploads
    0
    Φίλε ofotis, επειδή δεν είναι και τόσο ξεκάθαρο αυτό που θέλεις να κάνεις,
    αν θέλεις να αντιγράψεις τον τύπο ενός κελιού σε κάποιο άλλο (πχ από το J1 στο K1)
    χρησιμοποιείς την εξής έκφραση:
    Range("K1").Formula = Range("J1").Formula

    Αν θέλεις να αντιγράψεις την τιμή ενός κελιού σε ένα άλλο χρησιμοποιείς την παρακάτω:
    Range("L1").Value = Range("K1").Value

    Και αν θέλεις να αντιγράψεις όλα τα περιεχόμενα:
    Range("K1").Copy Range("L1")

    Ελπίζω να βοηθάω λίγο.

    ----------------------------------------------------------------------------------------------------

    Φίλε Ερωτών, φρόντισε πριν τη σταθεροποίηση το επιλεγμένο κελί να ανήκει
    στην αμέσως επόμενη στήλη από την τελευταία στήλη που θέλεις να σταθεροποιήσεις.

    Πχ, αν το ενεργό κελί είναι το J6, μετά την σταθεροποίηση η περιοχή Α1:I5 θα είναι σταθερή.
    Αυτό δεν εννοούσες;

  9. #9
    Εγγραφή
    29-12-2008
    Μηνύματα
    330
    Downloads
    0
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από nisgia Εμφάνιση μηνυμάτων
    Φίλε Ερωτών, φρόντισε πριν τη σταθεροποίηση το επιλεγμένο κελί να ανήκει
    στην αμέσως επόμενη στήλη από την τελευταία στήλη που θέλεις να σταθεροποιήσεις.

    Πχ, αν το ενεργό κελί είναι το J6, μετά την σταθεροποίηση η περιοχή Α1:I5 θα είναι σταθερή.
    Αυτό δεν εννοούσες;
    Τσού! Εννοούσα πως κάνω (δηλαδή, με ποια εντολή) σταθεροποίηση στηλών! Η εντολή "σταθεροποίηση τμημάτων παραθύρου", σταθεροποιεί γραμμές. Υπάρχει αντίστοιχη εντολή για στήλες; Αυτό ρωτούσα (και συνεχίζω να ρωτάω!)!
    Ξύπνησα και είχε συννεφιά, και εγώ ερωτήματα πολλά!...

  10. #10
    Εγγραφή
    05-05-2009
    Περιοχή
    Λαύριο
    Ηλικία
    71
    Μηνύματα
    4
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+ OTE
    Ταχύτητα
    8192/1024
    ISP
    OTEnet
    Ευχαριστώ πάρα πολύ τον yiapap & τον nisgia για τις απαντήσεις.
    Συγνώμη που δεν ήμουν σαφής.
    Προσπαθούσα να κάνω μια μακροεντολή η οποία θα έβγαζε το αποτέλεσμα των πράξεων που καταχωρώ κάθε φορά στα κελιά A1 έως και G1.
    Τελικά δούλεψε με το: Range("L1").Value = Range("K1").Value
    Συνολικά η Μακροεντολή έγινε:
    Κώδικας:
    Sub apotelesma()
    ' apotelesma Ìàêðîñ
    ' Ìàêðîñ çàïèñàí 06.05.2009 (UserXP)
    Range("J1").Select
    Selection.Copy
    Range("K1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("L1").Value = Range("K1").Value
    Range("A1").Select
    End Sub
    Συγνώμη για τα "κινέζικα", αλλά είμαι στο Εξωτερικό και χρησιμοποιώ ΗΥ με Ρώσικα.
    Ζήτησα τη βοήθειά σας, αφού πρώτα προσπάθησα πάρα πολύ μόνος μου.
    Για να μην ξαναπεράσω την ίδια ταλαιπωρία, προσπαθώντας να "ανακαλύψω την Αμερική", μπορώ να έχω ξεκλείδωτα μόνο τα κελιά A1 έως και G1, να είναι το φύλλο προστατευμένο και να λειτουργεί η Μακροεντολή;
    Ευχαριστώ και πάλι πάρα πολύ για τη λύση, στο πρόβλημα που με ταλαιπωρούσε.

    ........Auto merged post: ofotis πρόσθεσε 24 λεπτά και 31 δευτερόλεπτα αργότερα ........

    Παράθεση Αρχικό μήνυμα από Ερωτών Εμφάνιση μηνυμάτων
    ...Η εντολή "σταθεροποίηση τμημάτων παραθύρου", σταθεροποιεί γραμμές. Υπάρχει αντίστοιχη εντολή για στήλες;...
    Φίλε Ερωτών, όπως έγραψε ο nisgia, η "σταθεροποίηση τμημάτων παραθύρου" σταθεροποιεί και γραμμές και στήλες. Δηλαδή, επιλέγεις ένα κελί και όσες γραμμές βρίσκονται πάνω από το κελί και όσες στήλες βρίσκονται αριστερά από το κελί, σταθεροποιούνται. π.χ. επιλέγοντας το κελί Β2, σταθεροποιείς τη γραμμή 1 και τη στήλη Α.
    Ελπίζω να βοήθησα και εγώ.
    Τελευταία επεξεργασία από το μέλος ofotis : 11-05-09 στις 03:36. Αιτία: auto merged post

  11. #11
    Εγγραφή
    29-12-2008
    Μηνύματα
    330
    Downloads
    0
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από ofotis Εμφάνιση μηνυμάτων
    Φίλε Ερωτών, όπως έγραψε ο nisgia, η "σταθεροποίηση τμημάτων παραθύρου" σταθεροποιεί και γραμμές και στήλες. Δηλαδή, επιλέγεις ένα κελί και όσες γραμμές βρίσκονται πάνω από το κελί και όσες στήλες βρίσκονται αριστερά από το κελί, σταθεροποιούνται. π.χ. επιλέγοντας το κελί Β2, σταθεροποιείς τη γραμμή 1 και τη στήλη Α.
    Ελπίζω να βοήθησα και εγώ.
    Ε, λοιπόν, έχετε δίκιο!!! Τελικά ήταν τόσο απλό!
    Εξ αρχής είχα μάθει να το κάνω μόνο για γραμμές (επιλέγοντας μια γραμμή, ώστε να σταθεροποιηθούν οι αποπάνω της), και ούτε που μου πέρασε ποτέ από το μυαλό ότι μπορώ να το κάνω με τον ίδιο τρόπο και για στήλες! Και γι' αυτό, ενώ ο nisgia το εξήγησε τόσο ωραία, εγώ επέμενα να βρίσκομαι σταθερός στην αρχική μου εντύπωση!!Καμμιά φορά, το μυαλό κολλάει, παίζοντας μας περίεργα παιχνίδια!...

    Ευχαριστώ και τους δυό σας, ofotis και nisgia, για την πολύτιμη βοήθειά σας!


    Υ.Γ. Αν παρ' ελπίδα γνωρίζετε την απάντηση και σε ένα άλλο μου ερώτημα, κάντε τον κόπο να περάσετε και από εκεί να μου την δώσετε: "Ανέμη" -ιστοσελίδες για κατέβασμα δωρεάν βιβλίων!
    Ξύπνησα και είχε συννεφιά, και εγώ ερωτήματα πολλά!...

  12. #12
    Εγγραφή
    27-03-2009
    Ηλικία
    52
    Μηνύματα
    16
    Downloads
    0
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από ofotis Εμφάνιση μηνυμάτων
    Για να μην ξαναπεράσω την ίδια ταλαιπωρία, προσπαθώντας να "ανακαλύψω την Αμερική", μπορώ να έχω ξεκλείδωτα μόνο τα κελιά A1 έως και G1, να είναι το φύλλο προστατευμένο και να λειτουργεί η Μακροεντολή;
    Φίλε ofotis, χαίρομαι που βοήθησα!
    Αυτό που ζητάς γίνεται έτσι:

    Κώδικας:
    Sub apotelesma()
        With ActiveSheet
            .Unprotect "Password"
            .Range("K1:L1") = .Range("J1")
            .Protect "Password"
        End With
    End Sub
    Αν χρησιμοποιείς κωδικό προστασίας αντικατέστησε το "Password" με τον πραγματικό
    πριν τρέξεις τη διαδικασία, διαφορετικά διέγραψέ το τελείως από τις εκφράσεις.

    Αναρωτιέμαι όμως γιατί δεν χρησιμοποιείς τύπους του Excel.
    Πχ: =J1 για τα κελιά Κ1 και L1.

    ----------------------------------------------------------------------------------------------------
    Φίλε Ερωτών, αν και δεν έγινα άμεσα κατανοητός, χαίρομαι που βοήθησα.

  13. #13
    Εγγραφή
    29-12-2008
    Μηνύματα
    330
    Downloads
    0
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από nisgia Εμφάνιση μηνυμάτων
    Φίλε Ερωτών, αν και δεν έγινα άμεσα κατανοητός, χαίρομαι που βοήθησα.
    Να' σαι καλά! Πάντως, σου ξαναλέω, δεν έφταιγες εσύ. Όταν ξαναδιάβασα το ποστ σου, μια χαρά τα έγραφες! Απλώς, είναι αυτό που είπα: καμμιά φορά, το μυαλό του ανθρώπου κολλάει, και άλλα ακούει/διαβάζει, μα άλλα καταλαβαίνει!...


    Όποιος ξέρει, ας με βοηθήσει και στο άλλο θέμα μου:
    Παράθεση Αρχικό μήνυμα από Ερωτών Εμφάνιση μηνυμάτων
    Υ.Γ. Αν παρ' ελπίδα γνωρίζετε την απάντηση και σε ένα άλλο μου ερώτημα, κάντε τον κόπο να περάσετε και από εκεί να μου την δώσετε: "Ανέμη" -ιστοσελίδες για κατέβασμα δωρεάν βιβλίων!
    Ξύπνησα και είχε συννεφιά, και εγώ ερωτήματα πολλά!...

  14. #14
    Εγγραφή
    05-05-2009
    Περιοχή
    Λαύριο
    Ηλικία
    71
    Μηνύματα
    4
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+ OTE
    Ταχύτητα
    8192/1024
    ISP
    OTEnet
    Παράθεση Αρχικό μήνυμα από nisgia Εμφάνιση μηνυμάτων
    Αναρωτιέμαι όμως γιατί δεν χρησιμοποιείς τύπους του Excel.
    Πχ: =J1 για τα κελιά Κ1 και L1.
    ΕΥΧΑΡΙΣΤΩ πάρα πολύ nisgia.
    1 μέρα μετά σκέφτηκα το κόλπο με το κλείδωμα και ξεκλείδωμα, βάζοντας:
    ActiveSheet.Unprotect στην αρχή και
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveSheet.EnableSelection = xlUnlockedCells στο τέλος
    Δεν μπορούσα όμως να βάζω κωδικό και σε ΕΥΧΑΡΙΣΤΩ και πάλι ΠΑΡΑ ΠΟΛΥ.

    Αλλά βάζοντας π.χ. στο Κ1 το =J1 μου βγάζει π.χ. =(30+5)*2 και όχι το αποτέλεσμα των πράξεων.

  15. #15
    Εγγραφή
    27-03-2009
    Ηλικία
    52
    Μηνύματα
    16
    Downloads
    0
    Uploads
    0
    Παράθεση Αρχικό μήνυμα από ofotis Εμφάνιση μηνυμάτων
    Αλλά βάζοντας π.χ. στο Κ1 το =J1 μου βγάζει π.χ. =(30+5)*2 και όχι το αποτέλεσμα των πράξεων.
    Πολύ θα ήθελα να μάθω πως το έκανες αυτό!
    Εδώ έχουν δοθεί "μάχες" για να το πετύχουμε όταν το ζητούμενο ήταν ο ίδιος ο τύπος
    και όχι το αποτέλεσμά του.

Σελ. 1 από 2 12 ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Μια βοήθεια σε excel
    Από pitpe11 στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 2
    Τελευταίο Μήνυμα: 15-03-09, 22:51
  2. ΒΟΗΘΕΙΑ ΣΕ EXCEL
    Από apopanos στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 17-02-09, 00:24
  3. Βοήθεια με excel
    Από georgepre10 στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 40
    Τελευταίο Μήνυμα: 17-04-08, 11:33
  4. Βοηθεια στο excel.
    Από mplamplampla στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 9
    Τελευταίο Μήνυμα: 05-03-08, 18:49
  5. VBA και EXCEL
    Από amy στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 20
    Τελευταίο Μήνυμα: 19-04-07, 11:53

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας