| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| ||||
| ||||
|
Καλημέρα σε όλους! Η λύση με χρήση τύπων είναι αυτή που πρότεινε ο Μανώλης. Επειδή όμως πρόκειται για αναδιπλωμένο κείμενο που περιέχει τον χαρακτήρα 10 (= line feed, στην Excel= Char(10) , στην VB = vbLF ή Chr(10) ) , θα είχαμε πιο ακριβή αποτελέσματα αν στο κελί B1 τροποποιούσαμε τον τύπο ως εξής: =TRIM(SUBSTITUTE(SUBSTITUTE(A1;CHAR(10);" ");" ";" ")) Χρησιμοποιώντας τον παραπάνω τύπο και μετατρέποντας το αποτέλεσμα του σε τιμή (Αντιγραφή > Ειδική επικόλληση>Τιμές), μπορούμε με τη μέθοδο "Κείμενο σε στήλες" και με τη βοήθεια του οδηγού να διασπάσουμε το περιεχόμενο του κελιού σε περισσότερες στήλες. Αυτό θα μπορούσε να γίνει και με VBA πχ: Κώδικας: Sub Text2Columns_1()
Range("B1:B100").TextToColumns _
Destination:=Range("C1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=False, _
Semicolon:=False, _
Comma:=False, _
Space:=True, _
Other:=False
End Sub
Κώδικας: Sub Text2Columns_2()
Dim x As Variant, c As Range
For Each c In Range("A1:A100")
If Not IsEmpty(c) Then
With c
x = Replace(Replace(.Value, vbLf, " "), " ", " ")
x = Split(x)
.Offset(, 1).Resize(, UBound(x) + 1).Value = x
End With
End If
Next
End Sub
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 27-06-11 στις 10:23. |
|
#2
| |||
| |||
|
Καλημέρα στην παρέα Τάσο μου, επειδή ξέρω ότι δεν αφήνεις τίποτα στην τύχη σίγουρα θα έχεις κάποιο λόγο που χρησιμοποιείς τη συνάρτηση «SUBSTITUTE» δύο φορές. Προσπάθησα να τον βρω, αλλά κόλλησα. Δεν μπόρεσα να εξηγήσω τη χρησιμότητα της εξωτερικής «SUBSTITUTE» αφού το μόνο που κάνει είναι η αντικατάσταση των (δύο;) διαστημάτων, στο αποτέλεσμα που επιστρέφει η εσωτερική «SUBSTITUTE», με ένα διάστημα. Αυτό όμως το κάνει η συνάρτηση TRIM που αφαιρεί τα αρχικά και τελικά διαστήματα και όλα τα επιπλέον ενδιάμεσα. Θα μπορούσε δηλαδή, κατά τη γνώμη μου, να χρησιμοποιηθεί ο τύπος =TRIM(SUBSTITUTE(A1;CHAR(10);" ")) Φιλικά/Γιώργος |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Excel07] Εμφάνιση περιεχόμενου ενεργού κελιού σε άλλο φύλλο | ggatzos | Excel - Ερωτήσεις / Απαντήσεις | 7 | 16-01-14 10:38 |
| [Συναρτήσεις] Διάσπαση κειμένου σε αλλα κελιά | Ρούλα | Excel - Ερωτήσεις / Απαντήσεις | 6 | 07-04-13 18:52 |
| [VBA] Μετατροπή περιεχομένου κελιού σε hyperlink για άλλο κελί | ΓιάννηςΔ | Excel - Ερωτήσεις / Απαντήσεις | 3 | 10-10-12 16:34 |
Η ώρα είναι 12:59.


Υβριδικός τρόπος

