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)

jose 09-03-12 14:14

Αμέτρητες ευχαριστίες.....

Δυστηχώς η Forthnet είχε μιά πολύωρη διακοπή
και γι'αυτο η καθυστερημένη απάντηση.

Να βάλω και εγώ κάτι που μπορεί να χρησιμεύσει σε κάποιον
( ισως οι Αδμινίστορες την θεωρήσουν χρήσιμη και την
τοποθετήσουν σε ανάλογο Θέμα )

Εστω
Α1 = 5
Β1 = - ( παύλα )
C1 = 9

Με την =CONCATENATE(A1;B1;C1) στην στήλη Ε και στο Ε1 παίρνουμε το 5-9

με την παρακάτω , στις στήλες G και Η κάνουμε Split το 5-9 , σε 5 και 9

( δεν ξέρω αν υπάρχει και άλλος τρόπος , αυτήν είχα βρεί στο διαδύκτιο και ήταν
πολυ πρακτική )

Κώδικας:

Sub Split_paula()

 Dim firstName As String
    Dim lastName As String
    Dim n As Integer
    Dim rowNum As Integer
    Dim colNum As Integer
    rowNum = 1
    colNum = 5
   
    While Cells(rowNum, colNum).Value <> ""
        n = InStr(1, Cells(rowNum, colNum).Value, "-")
        lastName = Left(Cells(rowNum, colNum).Value, n - 1)
        firstName = Right(Cells(rowNum, colNum).Value, Len(Cells(rowNum, colNum).Value) - n - 0)
        Cells(rowNum, colNum + 2).Value = lastName
        Cells(rowNum, colNum + 3).Value = firstName
        rowNum = rowNum + 1
    Wend

End Sub


και πάλι σας ευχαριστώ

Tasos 09-03-12 16:17

Νίκο σ ευχαριστούμε για τη λύση που παράθεσες!

Και εμείς ήμαστε στο Internet και συνήθως οι κώδικες μας δεν είναι φλύαροι:biggrin:

Για παράδειγμα, ο παρακάτω κώδικας διαχωρίζει τη λέξη 1-1 από το κελί A2 στα και περνά τα τμήματα της στα αμέσως επόμενα κελιά δεξιά:

Κώδικας:

Sub Split_paula()
    Dim arr() As String, i As Integer
    arr = Split(Cells(2, 1), "-")
    For i = 0 To UBound(arr)
        Cells(2, i + 2) = Trim(arr(i))
    Next
End Sub

Φιλικά

Τάσος

gr8styl 09-03-12 17:08

Καλησπέρα σας και από μένα.
εκτός του ότι δεν καταλαβαίνω γιατί να σπάσουμε (split) κάτι που ενώσαμε με την Concatenate !!!
δεν καταλαβαίνω και γιατί χρειαζόμαστε VBA αφού οι τύποι:
Κώδικας:

G1=LEFT(E1;SEARCH(B1;E1)-1)
και
H1=RIGHT(E1;LEN(E1)-SEARCH(B1;E1)-LEN(B1)+1)

στις στήλες G και H αντίστοιχα δίνουν το επιθυμητό (το διαχωριστικό είναι στην στήλη Β).

Ή απλά μέσω μενού κείμενο σε στήλες με διαχωριστικό την παύλα (κελί e1 στα g1 και h1)
Κώδικας:

Sub Split_paula()
    Application.CutCopyMode = False
    Range("e1").TextToColumns Destination:=Range("g1"), _
        DataType:=xlDelimited, Other:=True, OtherChar:="-"
End Sub

Ελπίζω εσείς να ξέρετε το γιατί.
Τα λέμε.
Θανάσης.


Η ώρα είναι 07:25.

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


Search Engine Optimization by vBSEO 3.3.2