Jimmy_BlinD Δημοσ. 8 Ιουλίου 2011 Δημοσ. 8 Ιουλίου 2011 Δυστυχώς δεν έχω ασχοληθεί στο παρελθόν με VBA στο excel, αυτο που θέλω να κάνω είναι πως έχω 633 columns (η μία δίπλα στην άλλη) με αριθμούς. Η κάθε μία column αποτελείται απο 11 στοιχεία (11 αριθμούς)- απο Α2:12 (η πρώτη), Β2:B12 (η δεύτερη)...και η τελευταία είναι απο ΧΙ2:XI12. Θελω αν μπορεί κάποιος να με βοηθήσει στο πως να γράψω μια μακροεντολή που να βάζει την μια column κάτω απο την άλλη. Όχι άθροισμα, ούτε υπολογισμοί. Απλα μια ανακατανομή των στηλών θέλω να γίνεται- όμως η κάθε στήλη να αποτελείται απο τα 11 αυτά στοιχεία και μόνο. Πρακτικά Πριν: Α,Β,Γ,Δ,Ε... Μετά: Α Β Γ Δ . . . καμία ιδέα? κατι με copy-paste πρέπει να είναι σε rolling μορφή. δοκίμασα αυτό: Sub OneColumn() Range("A2:XI12").Select Selection.cOPY Range("B14:B6976").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub αλλά αυτό! κάνει copy paste την 1η στήλη κατω απ την 1η στήλη χιλιάδες φορές, την 2η κάτω απ την 2η αλλες τόσες φορές κλπ κλπ...
Jimmy_BlinD Δημοσ. 9 Ιουλίου 2011 Μέλος Δημοσ. 9 Ιουλίου 2011 Κάποιος που να γνωρίζει έστω τα βασικά για macro εντολές στο excel? εδώ έχω και ένα αρχείο με το πως περίπου θέλω να είναι το αποτέλεσμα. http://fs03n5.sendspace.com/dl/43ed890d9bb61e723c0698fe58d03e3c/4e18339d574355c8/jrrssj/test.xls
basilis5 Δημοσ. 9 Ιουλίου 2011 Δημοσ. 9 Ιουλίου 2011 δεν ξέρω απλα ειχα μια ιδέα. γιατι δεν κάνεις record ένα βήμα, δλδ το β να παει κάτω απο το α, και μετα άνοιξε τον κώδικα και βαλε μια επαναληπτική και 2 δείκτες να τρέχουν και να στο κάνει μέχρι το 660 που θες;
Paralizer Δημοσ. 14 Ιουλίου 2011 Δημοσ. 14 Ιουλίου 2011 Λίγο καθυστερημένα αλλά αν θες try this one. Λίγο πιο απλοποιημένο και κατανοητό Public Sub OneColumn() Dim Rowi As Integer 'A/A Rows Dim Coli As Integer 'A/A Columns Dim firsti As Integer 'A/A First Column Rowi = 1 'first row of each column Coli = 2 'Column which start the copy firsti = 13 'first empty cell in column A Do While ActiveSheet.Cells(1, Coli) <> "" Do While ActiveSheet.Cells(Rowi, Coli) <> "" ActiveSheet.Cells(Rowi, Coli).Cut ActiveSheet.Paste Destination:=ActiveSheet.Cells(firsti, "A") firsti = firsti + 1 Rowi = Rowi + 1 Loop Rowi = 1 Coli = Coli + 1 Loop End Sub
oneofthem Δημοσ. 15 Ιουλίου 2011 Δημοσ. 15 Ιουλίου 2011 (sry που χώνομαι αλλά αν θέλετε ρίχτε μια ματιά και στο δικό μου ερώτημα πάλι για vba excel macroQ: http://www.insomnia.gr/topic/414045-vba-excel-2003-copypaste-cell-text-into-textbox - απλά επειδή είναι από μεταφορά δεν εμφανίζεται πάνω πάνω)
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.