Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Πρόβλημα με μακροεντολή (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1829-problima-me-makroentoli.html)

mike04 27-04-12 20:43

Πρόβλημα με μακροεντολή
 
1 Συνημμένο(α)
Καλησπέρα σε όλους.
Έχω ένα πίνακα στον οποίο στην στήλη J καταχωρώ την υπηκοότητα του ατόμου, στην στήλη D το επώνυμο του, E το όνομά του, F το όνομα του πατέρα του, G της μητέρας του και K την ημερομηνία γέννησής του. Με την βοήθεια της παρακάτω μακροεντολής μεταφέρω τα δεδομένα σε ένα άλλο φύλλο, σε συγκεκριμένα κελιά, που έχω δημιουργήσει μια αίτηση.
Πως μπορώ να αλλάξω την μακροεντολή έτσι ώστε να έχω σε ένα κελί συνεχόμενα τα στοιχεία του δηλαδή : ΕΛΛΗΝΙΚΗ (επ) ΠΑΠΑΔΟΠΟΥΛΟΣ (ον) Νικόλαος του Νικολάου και της Ελένης γεν. 1/1/1950.
Ευχαριστώ.

Spirosgr 28-04-12 07:37

1 Συνημμένο(α)
Καλημέρα
Έτσι όπως διαμορφώνετε η ερώτηση μπορεί να γίνει και χωρίς μακροεντολή
Δημιουργείς μια στήλη (L) βοηθητική για να "φτιάξουμε" την ημερομηνία να έρχεται σωστά με τον τύπο που θα δεις στο συνημμένο και στην στην συνέχεια βάζεις στην (Μ) τον τύπο που θα κάνει τις συνδέσεις με την σειρά κελιών που θέλεις
Έτσι έχεις το επιθυμητό αποτέλεσμα
Τώρα αν είναι υποχρεωτικό τα ονόματα Γονέων να είναι στην γενική ή αν αυτό το κελί θέλεις να αντιγράφετε, μεταφέρετε, αποκόπτεται, κλπ διευκρίνισε το να πάμε παρακάτω

mike04 28-04-12 18:35

Σπύρο καλησπέρα και ευχαριστώ για την απάντηση.
Δεν με ενδιαφέρει η πτώση του στα ονόματα.
Το πρόβλημά μου είναι ότι έχοντας πολλές εγγραφές επιλέγω την γραμμή της εγγραφής μου και πατώντας το κουμπί που εκτελεί την μακροεντολή μεταφέρει τα δεδομένα του ατόμου της γραμμής αυτής σε άλλο φύλλο σε συγκεκριμένες θέσεις.
Αυτό που θέλω είναι να τα μεταφέρει σε ένα κελί , συνεχόμενα όπως στην στήλη Μ στο παράδειγμά σου.
Ευχαριστώ πάντως που ασχολήθηκες με το πρόβλημα μου.

Spirosgr 28-04-12 21:21

2 Συνημμένο(α)
Σε συνέχεια του θέματος έχουμε τις εξής 2 λύσεις
Χωρίς VBA
Δημιουργούμε τις στήλες Ν,Ο,Ρ με τα περιεχόμενα που βλέπουμε στο συνημμένο
Στο Φύλλο που θέλουμε να γίνει η μεταφορά Δημιουργούμε τις στήλες Α,Β με τα περιεχόμενα τους
Κάθε φορά που στο φύλλο1 θα τοποθετούμε την λέξη ΕΠΙΛΟΓΉ (από την λίστα) δίπλα στο κελί που μας ενδιαφέρει (κίτρινα κελιά) η επιλογή μεταφέρετε αυτόματα στο φύλλο2
Αυτή η ενέργεια μπορεί να γίνει για μια ή περισσότερες επιλογές τόσο στο φύλλο1 όσο και στο φύλλο2
Με VBA
Επιλέγουμε από την στήλη Μ φύλλο1 το κελί που θέλουμε να μεταφέρουμε
Κλικ στο κουμπί και αυτό μεταφέρετε στο κελί της επιλογής μας φύλλο2
Εδώ για παράδειγμα (πράσινα κελιά) Ε2 φύλλο2
Εννοείτε ότι θα τροποποιήσουμε τον κώδικα με τις δικές μας επιλογές
ΥΓ πιθανή ασυμβατότητα τύπων στο 2003

Thanosp 29-04-12 08:13

Καλημέρα σε όλους
Με την παρατήρηση ότι δεν ενδιαφέρει η πτώση αλλά μόνο το μάζεμα ο κώδικας μπορεί να γραφεί
Sub NewRowActive1021(Row As Long)

Dim strSheetname,yphko, epwn, onom, on_pa, on_mh, genn As String
strSheetname = ActiveCell.Parent.Name & "!"
' ΕΝΗΜΕΡΩΣΗ ΣΤΟΙΧΕΙΩΝ ΑΙΤΗΣΗΣ ΣΥΜΦΩΝΑ ΜΕ ΤΗΝ ΕΠΙΛΟΓΗ ΑΠΟ ΤΟ ΑΡΧΕΙΟ
'ΣΤΟΙΧΕΙΑ ΑΙΤΗΣΗΣ
'----------------
Sheets(TEMPLATE_SHEET).Range("DATE_ISSUE_1").Value = "=" + strSheetname & "A" & CStr(Row)
yphko="=" + strSheetname & "J" & CStr(Row)
epwn="=" + strSheetname & "D" & CStr(Row)
onom="=" + strSheetname & "E" & CStr(Row)
on_pa="=" + strSheetname & "F" & CStr(Row)
on_mh="=" + strSheetname & "G" & CStr(Row)
genn ="=" + strSheetname & "K" & CStr(Row)
'ΕΛΛΗΝΙΚΗ (επ) ΠΑΠΑΔΟΠΟΥΛΟΣ (ον) Νικόλαος του Νικολάου και της Ελένης γεν. 1/1/1950
Sheets(TEMPLATE_SHEET).Range("surname").Value =yphko &" (επ) "& epwn &" (ον) "& onoma &" του "& on_pa &" και της "& on_mh &" γεν. "& gen &"."
'τα παραπάνω θα γραφούν όλα μαζύ σε ένα κελί στο ονόματος πχ
Sheets(TEMPLATE_SHEET).Range("FATHER_NAME").Value = "=" + strSheetname & "F" & CStr(Row)
......
Θανάσης


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

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2