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/1228-pos-mporo-na-metafero-ta-dedomena-poy-tha-epilego-apo-mia-stili-se-mia-alli.html)

sakplak 27-06-11 16:16

Πως μπορώ να μεταφέρω τα δεδομένα που θα επιλέγω από μια στήλη σε μια άλλη
 
Θα ήθελα να ρωτήσω πως μπορώ να μεταφέρω δεδομένα τα οποία θα επιλέγω από μια στήλη σε μια άλλη...Ευχαριστώ εκ' τον προτέρων...

Lefteris 27-06-11 16:53

1 Συνημμένο(α)
Kαλησπέρα.
Φίλε Σακη, αν θέλεις αυτό να γίνεται συνέχεια, ορίζεις το κελί προορισμου. Δηλ. εκεί που θέλεις να στείλεις τα δεδομένα του κελιού Α1(για παράδειγμα), γράφεις τον τύπο =Α1,(Δές το παράδειγμα)
Αν αυτό θέλεις να γίνεται επιλεγμένα(όταν θέλεις εσύ), μαρκάρεις με αριστερό κλίκ τα κελιά που θέλεις να αντιγράψεις,πατάς αντιγραφή(copy), το πρώτο κελί προορισμού και πατάς επικόλληση(paste).
Eλπίζω να κατάλαβα το ζητούμενό σου.

Φιλικά/Λευτέρης

sakplak 27-06-11 18:24

1 Συνημμένο(α)
Φιλε Λευτέρη σε ευχαριστώ ίσως δεν το διατύπωσα σωστά..Θέλω να επιλέγω τα δεδομένα που θα μεταφέρονται από την στήλη πχ Α στην στήλη C και αντίστροφα....όχι όμως με copy paste..Ίσως με κλικ η με κάποια επιλογή..Ευχαριστώ για τον κόπο.. Επισυνάπτω αρχείο για υποβοήθηση

kapetang 27-06-11 19:49

1 Συνημμένο(α)
Καλησπέρα στην παρέα

Σάκη, στο αρχείο που επισυνάπτω, έκανα μια προσπάθεια να υλοποιήσω το ζητούμενο.
Συγκεκριμένα κάνοντας κλικ σ’ ένα κελί της περιοχής «A2:A120»:
1. Αν το κελί έχει όνομα μεταφέρεται στους απόντες.
2. Αν είναι κενό γεμίζει με το όνομα που υπάρχει στη στήλη C και στην ίδια γραμμή.
Η παραπάνω λειτουργικότητα οφείλεται στον κώδικα:
Κώδικας:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim TargetRow As Long
    If Target.Cells.Count > 1 Then Exit Sub
    TargetRow = Target.Row
    If Not Intersect(Target, Range("A2:A120")) Is Nothing Then
        If Not IsEmpty(Target) Then
            Target.Cut Destination:=Cells(Target.Row, 3)
        Else
            Cells(Target.Row, 3).Cut Destination:=Target
        End If
        Cells(TargetRow, 2).Activate
    End If
End Sub

Φιλικά/Γιώργος

sakplak 27-06-11 20:52

Φίλε μου Γιώργο σε ευχαριστώ.. Είσαι απίστευτος. Υλοποιήσεως αυτό που ακριβώς ήθελα..Σε ευχαριστώ για τον κώδικα....Τι να πω respect!!!!!!

Tasos 27-06-11 21:20

Καλησπέρα Σάκη και καλωσόρισες στο φόρουμ!

Εναλλακτικά, μπορείς να δοκιμάσεις το παρακάτω:


Κώδικας:

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    With Target
        If .Count > 1 Or .Row < 2 Or .Column <> 1 Then Exit Sub
        Cancel = True
        If Trim(.Value) <> vbNullString Then
            .Offset(, 2).Value = .Value
            .ClearContents
        Else
            .Value = .Offset(, 2).Value
            .Offset(, 2).ClearContents
        End If
    End With
End Sub

Ο κώδικας αυτός ενεργοποιείται με το διπλό κλικ πάνω σε κελί της στήλης A.

Καλή συνέχεια!

Τάσος

sakplak 28-06-11 15:47

Φίλε Τάσο σε ευχαριστώ πολύ...και ο δικός σου κώδικας είναι οκ!!!Ευχαριστώ πολύ για την βοήθεια..

jose 07-03-12 07:18

Παράθεση:

Αρχική Δημοσίευση από kapetang (Μήνυμα 7053)
Καλησπέρα στην παρέα

Σάκη, στο αρχείο που επισυνάπτω, έκανα μια προσπάθεια να υλοποιήσω το ζητούμενο.
Συγκεκριμένα κάνοντας κλικ σ’ ένα κελί της περιοχής «A2:A120»:
1. Αν το κελί έχει όνομα μεταφέρεται στους απόντες.
2. Αν είναι κενό γεμίζει με το όνομα που υπάρχει στη στήλη C και στην ίδια γραμμή.
Η παραπάνω λειτουργικότητα οφείλεται στον κώδικα:
Κώδικας:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim TargetRow As Long
    If Target.Cells.Count > 1 Then Exit Sub
    TargetRow = Target.Row
    If Not Intersect(Target, Range("A2:A120")) Is Nothing Then
        If Not IsEmpty(Target) Then
            Target.Cut Destination:=Cells(Target.Row, 3)
        Else
            Cells(Target.Row, 3).Cut Destination:=Target
        End If
        Cells(TargetRow, 2).Activate
    End If
End Sub

Φιλικά/Γιώργος

Καλημέρα,

στο παραπάνω παράδειγμα ( αλλάζοντας το target.cut με το target.copy )

μπορω να Αντιγράψω ένα όνομα απο την στήλη Α στην στήλη C με την χρήση της VBA ,

πχ το Α1 στο C1

Η ερώτηση .........

εαν έχω πχ έναν πίνακα με τις στηλες Α και C

και 6 Ονοματα στην Α στήλη , Αλλά μόνο 3 θέσεις στην στηλη C

μπορώ πχ το Α2 να το βάζω ( αντιγράφω ) στο C1 και μετα ΑΝ το C1 έχει όνομα το

το Α4 να το βάζω στο αμέσως αποκάτω κενό κελί της στηλης C ; στο C2 δηλαδή

κσι κατόπιν το Α6 στο C3 ;

ή πιό απλά .... με ....

κλικ στο Α2 να αντιγράφεται στο C1
κλικ στο Α4 να αντιγράφεται στο C2
κλικ στο Α6 να αντιγράφεται στο C3 ;

kapetang 07-03-12 09:45

1 Συνημμένο(α)
Παράθεση:

Αρχική Δημοσίευση από jose (Μήνυμα 9874)
.................................................. .....
ή πιό απλά .... με ....

κλικ στο Α2 να αντιγράφεται στο C1
κλικ στο Α4 να αντιγράφεται στο C2
κλικ στο Α6 να αντιγράφεται στο C3 ;

Καλημέρα

Νίκο, στο επισυναπτόμενο αρχείο υπάρχει μια υλοποίηση του ζητούμενου.

Φιλικά/Γιώργος

jose 07-03-12 11:03

αχ,

ετσι που ειχα τα παραδείγματα εδωσα λάθος νόημα

συγγνώμη ...παράλειψή μου

το ζητούμενο είναι να μεταφέρονται και τα Μονά ονόματα
( να χρησιμοποείται δηλαδή Ολη η στήλη Α )

πχ

Α1>C1
A3>C2
A4>C3


Η ώρα είναι 06:18.

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


Search Engine Optimization by vBSEO 3.3.2