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

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-04-19, 07:54
Όνομα: βασιλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-09-2015
Μηνύματα: 72
Προεπιλογή Αντιγραφη σε αλλο φύλλο προβλημα

Καλήμερα
έχω το έξεις πρόβλημα. όταν κάνει την αντιγραφή από το ιστορικό στην θεραπεία
βγάζει λάθος
τι πρέπει να κάνω για να το κάνει κανονικά?
ευχαριστώ
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm dokimi.xlsm (55,4 KB, 8 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 04-04-19, 09:04
Το 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
Προεπιλογή

Καλημέρα
Βάλε τον παρακάτω κώδικα, στο κουμπί.
Κώδικας:
Private Sub CommandButton1_Click()
    Dim rngStart    As Range
    Dim rngDest     As Range
    Dim CellDest    As Range
    Set rngStart = ThisWorkbook.Sheets("1 ΙΣΤΟΡΙΚΟ").Range("at3:at18")
    Set rngDest = ThisWorkbook.Sheets("2 ΘΕΡΑΠΕΙΑ").Range("a29:a44")
    Set CellDest = ThisWorkbook.Sheets("2 ΘΕΡΑΠΕΙΑ").Range("a29")

    Application.ScreenUpdating = False

    rngDest.ClearContents
    rngStart.Copy
    CellDest.PasteSpecial Paste:=xlPasteValues

    Application.CutCopyMode = False
End Sub 
Η διόρθωση, έγινε με βάση αυτά που βλέπω (περιοχές, φύλλα, copy-paste αντί ένα loop κλπ)
Θεωρώ, ότι πρέπει να μεταφέρει τιμές και όχι συνάρτηση.
Απάντηση με παράθεση
  #3  
Παλιά 04-04-19, 11:06
Όνομα: βασιλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-09-2015
Μηνύματα: 72
Προεπιλογή

Ευχαριστώ Σπύρο για άλλη μια φορά
μια ακόμα ερώτηση
αν θέλω να πάνε στα κελιά από το A29 ΕΩΣ το I58 (Α29:Ι58)
Απάντηση με παράθεση
  #4  
Παλιά 04-04-19, 11:43
Το 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
Προεπιλογή

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

Στα σημεία:
Set rngStart = ThisWorkbook.Sheets("1 ΙΣΤΟΡΙΚΟ").Range("Περιοχή αντιγραφής")

Set rngDest = ThisWorkbook.Sheets("2 ΘΕΡΑΠΕΙΑ").Range("Περιοχή προορισμού")

Set CellDest = ThisWorkbook.Sheets("2 ΘΕΡΑΠΕΙΑ").Range("Πρώτο πάνω αριστερά κελί περιοχής προορισμού")

μπορεί να αλλάξει κανείς τις περιοχές, με ό,τι θέλει, αρκεί οι rngStart & rngDest, να είναι ίδιες
σε στήλες και γραμμές (με αυτή την μορφή του κώδικα τουλάχιστον).
Απάντηση με παράθεση
  #5  
Παλιά 04-04-19, 14:01
Όνομα: βασιλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-09-2015
Μηνύματα: 72
Προεπιλογή

αυτό θέλω φίλε Σπύρο
Συνημμένα Thumbnails
Αντιγραφη σε αλλο φύλλο προβλημα-1.jpg  
Απάντηση με παράθεση
  #6  
Παλιά 04-04-19, 15:11
Το 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
Προεπιλογή

Βασίλη, αυτό είναι «λίγο» διαφορετικό από το αρχικό ζητούμενο.

Να το επιβεβαιώσουμε, περιφραστικά, για να δούμε τι θα κάνει;

Παίρνει από το «Ιστορικό» από at2 και κάτω, όσο υπάρχουν τιμές
και πάει και τις βάζει στο «Θεραπεία» από a29 και κάτω μέχρι a58
και συνεχίζει στην b στήλη, αν έχει δεδομένα και μετά στην c,d...i58
Σωστά;
Απάντηση με παράθεση
  #7  
Παλιά 04-04-19, 15:36
Το 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
Προεπιλογή

Δες πρώτα το παρακάτω βιβλίο, με τύπους...και μια πολύ απλή λύση.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm dokimi.xlsm (69,1 KB, 14 εμφανίσεις)
Απάντηση με παράθεση
  #8  
Παλιά 04-04-19, 18:23
Το 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
Προεπιλογή

Μια πιο σοβαρή λύση με τύπο και μια με κώδικα.

Συνδέστε τον κώδικα, σε όποιο κουμπί θέλετε, ή τρέξτε τον απλά,
αφού συμπληρώσετε και προσαρμόσετε τα στοιχεία με πράσινο.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Book1.xlsm (29,7 KB, 9 εμφανίσεις)
Απάντηση με παράθεση
  #9  
Παλιά 04-04-19, 18:41
Όνομα: βασιλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-09-2015
Μηνύματα: 72
Προεπιλογή

φίλε Σπύρο ο δεύτερο παράδειγμα μου κάνει και θέλω με κωδικά γιατί στα κελιά για να αλλάζω πράγματα στην θεραπεία άλλα κάτι δεν κάνω καλά στα πρώτα που πρέπει να βάλω τα νούμερα

Option Explicit
Const cellStart As Long = 46 'Φύλλο εκκίνησης κελιά από - έως
Const cellEnd As Long = 47
Const colDest As Long = 1 'Στήλη προορισμού (1 = a)
Const colPacks As Long = 9 'Φύλλο προορισμού «ντάνες» πχ 30
Const rowPacks As Long = 29 'Φύλλο προορισμού (που ξεκινάνε τα δεδομένα; γραμμή 29)
Απάντηση με παράθεση
  #10  
Παλιά 04-04-19, 18:53
Το 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
Προεπιλογή

Const cellStart As Long = 2 'Φύλλο εκκίνησης κελιά από
Const cellEnd As Long = 109 'Φύλλο εκκίνησης κελιά έως
Const colDest As Long = 1 'Στήλη προορισμού (1 = a)
Const colPacks As Long = 30 'Φύλλο προορισμού «ντάνες» πχ 30 γραμμών
Const rowPacks As Long = 29 'Φύλλο προορισμού (που ξεκινάνε τα δεδομένα; γραμμή 29)

*ξέχασα να πω σε αυτήν την γραμμή
wsDestn.Cells(j + rowPacks, h) = wsStart.Cells(i, 1)
στη θέση του 1 βάλε 46 που είναι ο αριθμός της at
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Αντιγραφή κελιού σε άλλο φύλλο υπό προϋπόθεση jose Excel - Ερωτήσεις / Απαντήσεις 3 07-05-18 09:46
[VBA] Μεταφορά με VBA τιμές απί ένα φύλλο σε άλλο LEO Excel - Ερωτήσεις / Απαντήσεις 3 20-04-17 11:00
[VBA] Αντιγραφή δεδομένων σε άλλο φύλλο, από γραμμές που δεν έχουν errors sakis297 Excel - Ερωτήσεις / Απαντήσεις 3 19-09-15 12:54
[Γενικά] Ταξινόμηση από μεταφορά σε άλλο φύλλο xristos Excel - Ερωτήσεις / Απαντήσεις 0 19-12-14 11:43
[Γενικά] Αντιγραφή από ένα φύλλο Excel σε άλλο kallias79 Excel - Ερωτήσεις / Απαντήσεις 1 28-01-14 11:46


Η ώρα είναι 00:48.