Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Αντιγραφή δεδομένων σε άλλο φύλλο, από γραμμές που δεν έχουν errors

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 18-09-15, 21:51
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 49
Προεπιλογή Αντιγραφή δεδομένων σε άλλο φύλλο, από γραμμές που δεν έχουν errors

Γεια σε όλους!
Σε ένα φύλλο έχω δεδομένα στην περιοχή A3:I1002
Σε κάθε γραμμή τα δεδομένα μου είτε θα είναι όλα έγκυρα, είτε θα έχουν όλα το σφάλμα #Δ/Υ.
Αυτό που θα ήθελα είναι να αντιγράφω τα δεδομένα των γραμμών, που δεν περιέχουν σφάλματα, σε άλλο φύλλο στις αντίστοιχες στήλες.
Αν στο αρχικό φύλλο οι γραμμές 1 και 3 είναι έγκυρες και η 2 έχει σφάλματα, στο νέο φύλλο θα ήθελα η γραμμή 1 να έχει τα δεδομένα της γραμμής 1 του αρχικού φύλλου και η γραμμή 2 να περιέχει τα δεδομένα της γραμμής 3 του αρχικού φύλλου. Δηλαδή, δε θέλω να έχω κενές γραμμές στο νέο φύλλο.
Απάντηση με παράθεση
  #2  
Παλιά 19-09-15, 09:54
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Κατ' αρχήν,
καλό είναι, να ανεβάζετε παραδείγματα, για να μην είναι αναγκασμένος,
όποιος απαντά, να τα δημιουργεί, για να τσεκάρει την λύση του.
Ακόμα,
ένα αρχείο, διευκολύνει, ώστε να αποφεύγουμε την πολυλογία
και κάνει κατανοητό, το ζητούμενο.

Τώρα,
Αναφέρεις ότι το σφάλμα είναι #Δ/Υ (#N/A).
που σημαίνει, υπάρχουν τύποι.
Τι θα μεταφερθεί στο άλλο φύλλο;
Οι τύποι ή μόνο τιμές;
Και γιατί να γίνει μεταφορά;
Είναι απαραίτητο για την εργασία;
Αναφέρεις:
«Σε κάθε γραμμή τα δεδομένα μου είτε θα είναι όλα έγκυρα, είτε θα έχουν όλα το σφάλμα...»
Μήπως με φίλτρο, ως προς τις έγκυρες τιμές, λύνεις το πρόβλημα;

Ανέβασε αρχείο.
Απάντηση με παράθεση
  #3  
Παλιά 19-09-15, 12:16
Όνομα: Σάκης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2012
Μηνύματα: 49
Προεπιλογή

Γεια σου Σπύρο!
Έχεις δίκιο με τις παρατηρήσεις σου, γι' αυτό επισυνάπτω ένα δείγμα.
Στο φύλλο results2 θέλω να μεταφέρονται οι τιμές μόνο. Αυτό το κάνω, ώστε να μπορούν οι άνθρωποι που θα το χρησιμοποιούν, να εκτυπώνουν μόνο τις έγκυρες εγγραφές χωρίς κόπο.
Πριν προχωρήσω, θέλω να σου πω ότι έλυσα το πρόβλημά μου βάζοντας σε κελιά (στη στήλη 256) τη συνάρτηση ISERROR. Το αποτέλεσμα ήταν ότι μπόρεσα σε VBA να διαχειριστώ τιμές True και False, ενώ πριν προσπαθούσα σε VBA να χρησιμοποιήσω τη συνάρτηση IsError(), χωρίς όμως επιτυχία.
Άρα λοιπόν, δεν υπάρχει πλέον σοβαρός λόγος να ασχοληθεί κάποιος με τ πρόβλημά μου, παρά μόνο αν θέλει να μου πει κάποιος πως χρησιμοποιώ τη συνάρτηση IsError() κι αν υπάρχει καλύτερος τρόπος από τον κώδικα που χρησιμοποίησα.
Κώδικας:
For iCntr = 1002 To 3 Step -1
Sheets("results1").Select
    If Cells(iCntr, 256) = True Then
    Sheets("results2").Select
        Rows(iCntr).Delete
    ElseIf Cells(iCntr, 1) = 0 Then
    Sheets("results2").Select
        Rows(iCntr).Delete
    End If
Next
Sheets("results2").Select
Συνημμένα Αρχεία
Τύπος Αρχείου: xls sample.xls (15,0 KB, 20 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 19-09-15, 13:54
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Πολλές φορές, κάνουμε τα πράγματα σύνθετα, χωρίς να υπάρχει λόγος.

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

Στο παράδειγμα,
όλα αυτά που συζητάμε, υπάρχουν σε ένα φύλλο και μόνο.
Γράφουμε καθημερινά, ότι θέλουμε, με ημερομηνία και φιλτράρουμε
την βοηθητική στήλη ως προς TRUE
ώστε να πάρουμε την καρτέλα του ονόματος με x εγγραφές.
Από 'κει και μετά, φίλτρο σε ημερομηνία, από - έως
(και σε κάποιο άλλο κριτήριο, αν κι εφ' όσον είναι απαραίτητο) μας λύνει το πρόβλημα.
Τα φίλτρα, θα μπορούσαν να είναι και αυτοματοποιημένα με κώδικα.

Στην φιλτραρισμένη περιοχή, ένας μικρός κώδικας εκτύπωσης, με special cells, τελειώνει το έργο.

Ακόμα, μπορούμε χωρίς κώδικα, με σύνθετο φίλτρο, να αντιγράψουμε
ό, τι θέλουμε σε κάποιο άλλο φίλο.
Συνημμένα Αρχεία
Τύπος Αρχείου: xls sample.xls (70,0 KB, 57 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Αντιγραφή κελιού σε άλλο φύλλο υπό προϋπόθεση jose Excel - Ερωτήσεις / Απαντήσεις 3 07-05-18 10:46
[VBA] Μεταφορά δεδομένων σε άλλο φύλλο Χρήστος Excel - Ερωτήσεις / Απαντήσεις 1 14-10-16 12:43
[Excel07] Μεταφορά δεδομένων σε άλλο φύλλο rania1984 Excel - Ερωτήσεις / Απαντήσεις 3 25-09-14 14:17
[Γενικά] Αντιγραφή από ένα φύλλο Excel σε άλλο kallias79 Excel - Ερωτήσεις / Απαντήσεις 1 28-01-14 12:46
[Συναρτήσεις] Μεταφορά δεδομένων σε άλλο φύλλο xristos Excel - Ερωτήσεις / Απαντήσεις 16 01-11-11 08:21


Η ώρα είναι 09:43.