gvarth Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Συγγραφέας Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Έγινες κατανοητός . Απλά , αφ'ενός μου λείπει ο χρόνος και αφ' ετέρου , είμαι ντεφορμέ . Τα έχω ψιλοαφήσει λόγω άλλων προτεραιοτήτων. Όλο και κάποιος που τα γνωρίζει θα απαντήσει.
Samdreamth Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Δημοσιεύτηκε Φεβρουάριος 3 , 2012 (edited) Καλημέρα, Νομίζω ότι θα βοηθούσε αν μας περιγράφετε ακριβώς τί έχετε στο μυαλό σας, δηλαδή τι θέλετε να κάνει ολόκληρο το workbook. Το λέω αυτό γιατί με μια πρόχειρη ματιά που έριξα μου φαίνεται ότι πλέκεται πολύ το πράγμα χωρίς ενδεχομένως να χρειάζεται (pivot tables κλπ). Τα παραπάνω τα λέω με επιφύλαξη γιατί δεν μπορώ να ξέρω τι έχετε κατά νου. Συνήθως, η λογική που ακολουθούμε σε θέματα σχετικά με excel είναι keep it simple… Edited Φεβρουάριος 3 , 2012 by Samdreamth
Tripitis Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Kαλημέρα σας και συγχαρητήρια γα την πολύ καλή δουλειά που έχει γίνει στο topic αυτό! Εχώ μια απορία η οποία με καθυστερεί πολύ στη δουλειά..δείχνει κάτι απλό αλλά δε μπορώ να βρω λύση! Το πρόβλημα έχει ως εξής: Έχω δύο sheets στο ένα έχω κάνει σε μια στήλη τα κελιά merge ανά 10 (π.χ) κάθετα, τις τιμές που προκύπτουν θέλω να τις κάνω copy-paste στο άλλο sheet αλλά σε κελία με κανονική μορφή (που δεν είναι merged δηλαδή) και να τα εμφανίζει κανονικά με την σείρα χωρίς κενά! Αυτό πως μπορούμε να το κάνουμε?
Samdreamth Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Δημοσιεύτηκε Φεβρουάριος 3 , 2012 (edited) Tripitis, παρακάτω έχω γράψει μια μακροεντολή που κάνει αυτό που θες αν και λίγο μπακάλικα. Δηλαδή, αντιγράφει τις τιμές των merged cells σε ένα καινούργιο φύλλο, αφαιρεί τις κενές γραμμές και επικολλά το νέο Range στο επιλεγμένο target range. Τέλος σβήνει και το νέο φύλλο που δημιούργησε. Για να το χρησιμοποιήσεις αλλάζεις δυο γραμμές: Εκεί που λέει Set MergedRange βάλε το φύλλο και το range που έχεις τα δεδομένα. Εκεί που λέει Set TargetRange βάλε το φύλλο και την θέση που θες να επικοληθούν τα δεδομένα από τα merged κελιά. πχ αν τα δεδομένα σου είναι στο 3ο φύλλο, στα κελιά Β1:Β25 θα βάλεις: Set MergedRange = Sheet3.Range("B1:B25") Ομοίως, αν το κελί που θες να τα επικολήσεις είναι πχ στο 5ο φύλλο το C50, τότε θα βάλεις: Set TargetRange = Sheet5.Range("C50") Πρόσεξε να βάλεις τα επιθυμητά range γιατί σε οποιαδήποτε περίπτωση άλλη περίπτωση (πχ αν δεν υπαρχει το sheet 5) θα βγάλει error. Τον έγραψα λίγο πρόχειρα τον κώδικα αλλά ελπίζω να σε βοηθήσει.... > Option Explicit Sub CopyMergedCells() Application.ScreenUpdating = False Dim MergedRange As Range Dim HelpingRange As Range Dim TargetRange As Range Dim LastRow As Long Set MergedRange = Sheet1.Range("A1:A20") Set TargetRange = Sheet2.Range("G4") MergedRange.Copy Sheets.Add After:=Sheets(Sheets.Count) Range("A1").PasteSpecial Paste:=xlPasteValues Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Delete Shift:=xlUp Selection.End(xlUp).Select Sheets(Sheets.Count).Activate With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With Set HelpingRange = Range("A1:A" & LastRow) HelpingRange.Copy TargetRange.PasteSpecial xlPasteValues Application.DisplayAlerts = False Sheets(Sheets.Count).Delete Application.DisplayAlerts = True TargetRange.Activate End Sub Edited Φεβρουάριος 3 , 2012 by Samdreamth 1
Gousgounis Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Γιατί απλά δε κάνεις μία συσχέτιση; πχ στο μονό κελί του Φύλλου2 γράφεις "=Φύλλο1!F1" όπου το F1 είναι το 1ο απο τα συγχωνευμένα και μετά τραβάς προς τα κάτω για να πάρει και τις άλλες τιμές. Αν δεν τα θέλεις με τύπους αλλά μόνο ως αριθμούς, τότε κάνε ειδική επικόλληση τη στήλη που δημιούργησες στο φύλλο2 ως αριθμητικές τιμές πχ δίπλα.
Samdreamth Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Γιατί απλά δε κάνεις μία συσχέτιση; πχ στο μονό κελί του Φύλλου2 γράφεις "=Φύλλο1!F1" όπου το F1 είναι το 1ο απο τα συγχωνευμένα και μετά τραβάς προς τα κάτω για να πάρει και τις άλλες τιμές. Δεν γίνεται αυτό που λες... Όταν θα τραβήξει προς τα κάτω το κελί στο Φύλλο2 θα εμφανιστούν μηδενικά... Δυστυχώς δεν είναι τόσο απλό...
Tripitis Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Δημοσιεύτηκε Φεβρουάριος 3 , 2012 Ναι δυστυχώς δε γίνεται έτσι...το είχα δοκιμάσει παλαιότερα! Samdreamth θα δοκίμασω την λύση που μου προτείνεις και θα επανέλθω! Ευχαριστώ πολύ και τους δύο!
Gousgounis Δημοσιεύτηκε Φεβρουάριος 4 , 2012 Δημοσιεύτηκε Φεβρουάριος 4 , 2012 Δεν γίνεται αυτό που λες... Όταν θα τραβήξει προς τα κάτω το κελί στο Φύλλο2 θα εμφανιστούν μηδενικά... Δυστυχώς δεν είναι τόσο απλό... Και βέβαια γίνεται, και μάλιστα ανεξάρτητα από το πόσα κελιά έχουν συγχωνευτεί ανα γραμμή, αρκεί η συγχώνευση να αρχίζει από το ίδιο σημείο. Εκτός βέβαια εάν εννοείτε κάτι άλλο που δεν έχω καταλάβει σωστά. Ανέβασα ένα απλό παράδειγμα. Βιβλίο1.zip
Samdreamth Δημοσιεύτηκε Φεβρουάριος 4 , 2012 Δημοσιεύτηκε Φεβρουάριος 4 , 2012 Σωστό αυτό που κάνεις αλλά ο Tripitis έγραψε ότι εχει merged cells γραμμών. Δηλαδή, το πρώτο κελί είναι πχ το A1:A7, το δεύτερο Α8:Α14 κλπ. Γι' αυτό και έγραψα τον παραπάνω κώδικα. Δεν ξέρω αν υπάρχει τρόπος να γίνει χωρίς VBA...
mikepaltri Δημοσιεύτηκε Φεβρουάριος 5 , 2012 Δημοσιεύτηκε Φεβρουάριος 5 , 2012 Να ρωτήσω κάτι που ίσως είναι απλό για εσάς που ασχολείστε περισσότερο (αν έχει ήδη απαντηθεί ζητώ προκαταβολικά συγγνώμη). Σε ένα κουτάκι (π.χ. F18) εμφανίζεται αριθμητικό αποτέλεσμα. Μπορώ στο F19 να εμφανίσω ολογράφως το αποτέλεσμα? (είναι ποσό σε ευρώ με χιλιάδες και δεκαδικά)
Recommended Posts
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε προκειμένου να αφήσετε κάποιο σχόλιο
Πρέπει να είστε μέλος για να μπορέσετε να αφήσετε κάποιο σχόλιο
Δημιουργία λογαριασμού
Κάντε μια δωρεάν εγγραφή στην κοινότητά μας. Είναι εύκολο!
Εγγραφή νέου λογαριασμούΣύνδεση
Εάν έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα