μανος Δημοσ. 7 Αυγούστου 2004 Δημοσ. 7 Αυγούστου 2004 Στην δουλειά έχουμε να περάσουμε στο excell σε κατάσταση διάφορα στοιχεία που μετά το κάθε ένα έχει και ένα αριθμό που τα συνοδεύει, ο οποίος πρέπει να αναζητηθεί από μία χειρόγραφη κατάσταση και να αναγραφεί σε άλλο κελί. Θα ήθελα να ρωτήσω εαν γνωρίζει κανείς μήπως μπορώ να αναγράψω σε ένα φύλο εργασίας, σε μία στήλη τα στοιχεία και δίπλα τους κωδικούς ώστε στο φύλλο που είναι η εργασία μου να κάνει αναζήτηση στο προιγούμενο φύλο, ώστε όταν γράψω το στοιχείο (πχ κάταγμα περόνης) αυτόματα να δώσει σε άλλο κελί τον κωδικό του (πχ 125) το έχω καταφέρει με ένα τύπο ψιλο μπακαλίστικο αλλά δέχεται μόνο 8 στοιχεία. ο τύπος είναι =IF(E10="κάταγμα περόνης";"125";(IF(E10="ΒΒΒ";"2";(IF(E10="ΓΓΓ";"3";(IF(E10="ΔΔΔ";"4";(IF(E10="ΕΕΕ";"5";(IF(E10="ΖΖΖ";"6";(IF(E10="ΗΗΗ";"7";(IF(E10="ΘΘΘ";"8";""))))))))))))))) Αφού τον τοποθετήσω στο κελί των κωδικών όταν στο κελί Ε10 γράψω "κάταγμα περόνης" τότε δίνει κωδικό 125 κτλ. κάνοντας αντιγραφή τον τύπο τότε μεταφέρεται στο Ε11, Ε12 κτλ Ελπίζω να γίνεται αυτό που θέλω ίσως και με ποιό εύκολο τρόπο και να μπορέσει κάποιος να με βοηθείσει γιατί είναι πολύ κουραστικό να γράφω το στειχείο και να ψάχνω μετά τον κωδικό του. Ευχαριστώ εκ των προτέρων όσους προσπαθήσουν να βοηθήσουν
gv Δημοσ. 7 Αυγούστου 2004 Δημοσ. 7 Αυγούστου 2004 ego 9a perimena na kanete to anapodo .... diladi na grafete se ena keli ton kodiko px "125" kai sto diplano keli na grafei "κάταγμα περόνης" mou fainetai ligaki anapodo auto pou kanete ... par' ola auta i lysi einai i parakato ... ------------------------------------ - anoigeis to excel - tools-macro-visual basic editor - diplo klik pano sto "sheet1(sheet1)" sto aristero para9yro - paste tou parakato kodika sto de3i para9iro - pas sto excel kai sto sheet2-kolona A grafeis ta keimena kai sto sheet2-kolona B tous kodikous - gyrizeis tora sto sheet1 kai stin kolona A grafeis to keimeno kai ... stin kolona B emfanizetai automata o kodikos !!! :wink: ps to exo dokimasei se excel 2002 (XP) kai doulepse ... WELCOME TO INSOMNIA ------------------------------------------------------- > Public r As Integer Public c As Integer Private Sub Worksheet_Change(ByVal Target As Range) r = Target.Row c = Target.Column txt = Sheet1.Cells(r, c) max_rec = Sheet2.UsedRange.Rows.Count For i = 1 To max_rec If Sheet2.Cells(i, 1) = txt Then Sheet1.Cells(r, 2) = Sheet2.Cells(i, 2) End If Next i End Sub
μανος Δημοσ. 8 Αυγούστου 2004 Μέλος Δημοσ. 8 Αυγούστου 2004 Πρίν λίλο το δοκίμασα αλλά βγάζει το εξής: Run-time error '424' object required Πατώντας το Debug βγάζει τα εξής: Public r As Integer Public c As Integer Private Sub Worksheet_Change(ByVal Target As Range) txt = Sheet1.Cells(r, c) (είναι με κίτρινο χρώμα) max_rec = Sheet2.UsedRange.Rows.Count For i = 1 To max_rec If Sheet2.Cells(i, 1) = txt Then Sheet1.Cells(r, 2) = Sheet2.Cells(i, 2) End If Next i End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) r = ActiveCell.Row c = ActiveCell.Column End Sub Έχω office 2000. Εάν δεν σου κάνει κόπο μήπως θα μπορούσες να μου στείλεις ένα δείγμα από το αρχείο που έκανες και δούλεψες; το mail μου είναι [email protected] και πάλι ευχαριστώ
grigas Δημοσ. 8 Αυγούστου 2004 Δημοσ. 8 Αυγούστου 2004 Μπορείς να το κάνεις με vlookup. Θα κάνεις ένα βοηθητικό πίνακα στον οποίο θα αντιστοιχείς την περιγραφή στον κωδικό και στην συνέχεια η vlookup θα κάνει τα πάντα αυτόματα. Δες στο help την σύνταξή της και θα δεις ότι είναι πανεύκολο....
gv Δημοσ. 8 Αυγούστου 2004 Δημοσ. 8 Αυγούστου 2004 ontos :? :roll: ... an prota den epeleges ena allo cell sto sheet1 (me aplo klik) to programma den etrexe giati den epairnan times ta r kai c ... o sostos kodikas einai o parakato :) ... kai prepei na topo9eti9ei sto sheet1. sou exo steilei kai to arxeio "test2.xls" pes mou an douleuei ... ------------------------------------- > Public r As Integer Public c As Integer Private Sub Worksheet_Change(ByVal Target As Range) r = Target.Row c = Target.Column txt = Sheet1.Cells(r, c) max_rec = Sheet2.UsedRange.Rows.Count For i = 1 To max_rec If Sheet2.Cells(i, 1) = txt Then Sheet1.Cells(r, 2) = Sheet2.Cells(i, 2) End If Next i End Sub
μανος Δημοσ. 8 Αυγούστου 2004 Μέλος Δημοσ. 8 Αυγούστου 2004 Πήρα το mail αλλά δεν μπορώ να το ανοίξω με excell. Ανοίγει με το ie. Έάν μπορείς κάντο zip και ξαναστείλτο.
gv Δημοσ. 8 Αυγούστου 2004 Δημοσ. 8 Αυγούστου 2004 sto esteila ... otan to anoi3eis pata "enable macros"
μανος Δημοσ. 13 Αυγούστου 2004 Μέλος Δημοσ. 13 Αυγούστου 2004 Δουλεύει άψογα και σε μένα. Τώρα προσπαθώ να το προσαρμόσω στο πλάνο που έχω αλλά με κουράζει πολύ. Στο πλάνο υπάρχει συγκεκριμένη στήλη (η Ε) που γράφω, και θέλω σε άλλη στήλη (την U) τα αποτελέσματα. Επίσης δεν είναι μόνο μία σειρά εντολών αλλά πολλές. Προσπαθώ και βλέπουμε. Εάν δεν σε πειράζει θέλεις να σου στείλω σε mail το πλάνο με το τί ακριβώς θέλω; (θα είναι μεγάλη βοήθεια να καταλάβω πώς γίνεται αυτό που θέλω)
μανος Δημοσ. 14 Αυγούστου 2004 Μέλος Δημοσ. 14 Αυγούστου 2004 Ευχαριστώ πολύ τον grigas για την πρότασή του για την εντολή vlookup, η οποία δούλεψε, μα ποιό πολύ ευχαριστώ τον gv που με βοήθησε αφάνταστα. Μου έλυσε τα χέρια. Να είσε καλά και να βοηθάς όποιους μπορείς.
Kontos_Harry Δημοσ. 16 Αυγούστου 2004 Δημοσ. 16 Αυγούστου 2004 Με κώδικα και Access πιστεύω ότι θα έλυνες το προβλημα σου και χωρίς πρόβλημα σε μέγεθος κώδικα κλπ...'ετσι και απο τη μια στήλη θα πηγαίνεις στην άλλη ...και το ανάποδο..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.