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

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

Δημοσ.

Καλησπέρα παιδιά.

 

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

Στην δουλειά που είμαι (μηχανικός), δουλεύουμε με sap.

Αυτό που με ενδιάφερει είναι τα report που μπορώ να βγάζω όποτε θέλω.

Και έχω για παράδειγμα ένα report σημερινό και ένα χθεσινό.

Πως μπορώ να συγκρίνω τι μεταβλήθηκε σε αυτά τα 2 report;

Υπάρχει κάποια εντολή;

Δημοσ.

https://support.office.com/en-nz/article/What-you-can-do-with-Spreadsheet-Inquire-ebaf3d62-2af5-4cb1-af7d-e958cc5fad42

 

Εναλλακτικά, η "μπακάλικη" μέθοδος, να φτιάξεις ένα sheet που να έχει την μορφή του report, αλλά όπου έχει κελί που πρέπει να συγκρίνει να φέρνει τη διαφορά από άλλα 2 sheet που θα καταχωρείς τα data των report.

Πχ, αν στο κελί A1 το report έχει πάντα τον τζίρο, θα καταχωρήσεις Sheet1!A1-Sheet2!A1, και θα φορτώνεις τα report προς σύγκριση στα sheet 1 και 2.

Δημοσ.

Καλησπέρα παιδιά!

Γράφω σε αυτό το νήμα για να μην ανοίγω νέο. Συγγνώμη στον δημιουργό που γράφω εδώ για να σας θέσω το πρόβλημά μου.

Έχω στο excel τρεις στήλες οι οποίες πχ περιλαμβάνουν τα εξής στοιχεία:

Όνομα, Επώνυμο, Τηλέφωνο

 

Συνολικά έχουμε πχ 2000 εγγραφές.

Δηλαδή το αρχείο περιέχει εγγραφές στην στήλη Α που αρχίζει από το Α1 μέχρι το Α2000, η στήλη Β από το Β1 έως το Β2000 και η στήλη Γ το αντίστοιχο.

 

Αυτό που θέλω είναι να τις σπάσω σε μικρότερες στήλες των 70 σειρών.

Δηλαδή να έχω τις 70 πρώτες εγγραφές στα κελιά Β1-Β70 (ονόματα), C1-C70 (επώνυμα) και D1-D70 (τηλέφωνα).

Οι επόμενες 70 εγγραφές να πηγαίνουν στις στήλες E,F,G κλπ.

 

Με άλλα λόγια και επειδή μάλλον δεν μπορώ να το περιγράψω καλά, θέλω να κάνω αυτό που λέει και αυτός ο τύπος εδώ

http://www.mrexcel.com/forum/excel-questions/678946-split-one-long-column-into-multiple-smaller-columns.html

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

Η μακροεντολή που έχουν δώσει εκεί είναι για μονή στήλη και δεν ξέρω πως να την πειράξω για να πιάσει και τις 3 στήλες που θέλω.

Αν μπορεί κάποιος να απαντήσει θα με διευκόλυνε απίστευτα.

 

Σας ευχαριστώ.

Δημοσ.

Κάνε record εσύ μια μακροεντολή όπου θα κάνεις μια φορά το cut paste και μετά θα το κάνει αυτό μόνο του. Πήγαινε στο κελί Α71 (αφού θες ανά 70 γραμμές). Επέλεξε το κελί. Μετά πήγαινε στο View (προβολή)-->Macro (μακροεντολή)-->πάντα στο στο βελάκι που έχει για να ανοίξει ένα drop down menu--> τικάρισε να είναι επιλεγμένο το "use relative reference"--> ξανά στη μακροεντολή-->record macro-->δώσε ένα πλήκτρο για συντόμευση μαζί με το ctrl (πχ το k)-->ξεκινάς να κάνεις εγγραφή της μακροεντολής. Ότι κινήσεις κάνεις από εδώ και πέρα το excel τις καταγράφει (σαν "βιντεοκάμερα" ένα πράγμα). Επιλέγεις τα στοιχεία Α71:C2000, κάνεις cut και πηγαίνεις στο D1 και κάνεις paste. Πηγαίνεις μετά στο κελί D71 (ώστε λόγω του relative reference να ξαναξεκινήσει από εκεί), το επιλέγεις το κελί και μετά πάς ξανά στο drop down menu της μακροεντολής και πατάς stop recording. Όπως είσαι, αρχίζεις να πατάς τη συντόμευση που έδωσες πριν (πχ ctrl+k) και το excel ξανακάνει αυτή τη διαδικασία. Πατάς τη συντόμευση όσες φορές χρειαστεί μέχρι να έχεις καταλήξει στο αποτέλεσμα που θες.

  • Like 1
Δημοσ.

Η λύση που θα πρότεινα εγώ, για να μην το τρέχεις πολλαπλές φορές, είναι η εξής:

 

 

Αν δεν έχεις επικεφαλίδες, επέλεξε ένα κελί της πρώτης στήλης του πίνακά σου και τρέξε το εξής:

    Dim CurrentColumn, TotalRows, Rows As Long

    TotalRows = ActiveCell.End(xlDown).Row
       
    Dim i As Integer
    For i = 1 To Application.RoundDown(TotalRows / 70, 0)
        
        CurrentColumn = ActiveCell.Column
        Rows = Cells(1, CurrentColumn).End(xlDown).Row
        Range(Cells(71, CurrentColumn), Cells(Rows, CurrentColumn + 2)).Select
        Selection.Cut
        Cells(1, CurrentColumn + 3).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        
    
    Next i

Αν έχεις επικεφαλίδες, επέλεξε ένα κελί της πρώτης στήλης του πίνακά σου και τρέξε το εξής:

 
    Dim CurrentColumn, TotalRows, Rows As Long

    TotalRows = ActiveCell.End(xlDown).Row
       
    Dim i As Integer
    For i = 1 To Application.RoundDown(TotalRows / 70, 0)
        
        CurrentColumn = ActiveCell.Column
        Rows = Cells(1, CurrentColumn).End(xlDown).Row
        Range(Cells(72, CurrentColumn), Cells(Rows, CurrentColumn + 2)).Select
        Selection.Cut
        Cells(2, CurrentColumn + 3).Select
        ActiveSheet.Paste
        Range(Cells(1, CurrentColumn), Cells(1, CurrentColumn + 2)).Select
        Selection.Copy
        Cells(1, CurrentColumn + 3).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
    
    Next i

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

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

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

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

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

Σύνδεση

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

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