| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλημέρα σας, Παρακαλώ θα ήθελα την βοήθεια σας. Θέλω να χρησιμοποιήσω την φόρμουλα: Κώδικας: =CONCATENATE(B3," ",IF(LEFT(C3)="MAKER:",CHAR(10),C3)) Το ίδιο και όταν υπάρχει και δεύτερη λέξη κλειδί με το OR. Ευχαριστώ Θανάσης |
|
#2
|
|
Συνονόματε αν και δεν είναι σαφές το ζητούμενο σου. Δοκίμασε τον παρακάτω τύπο όπου ίσως χρειαστεί να αλλάξεις τα ";" σε "," ανάλογα τις ρυθμίσεις του υπολογιστή σου. Αν τα περιεχόμενα το C3 αρχίζουν από "MAKER:" ή "KEYWORD" το αποτέλεσμα θα είναι η ένωση των περιεχομένων των B3 και C3 με διαχωριστικό το Διάστημα (space) και την νέα γραμμή (new line char(10)). Σημαντικό: Το κελί που θα βάλεις τον τύπο πρέπει να έχει τσεκαρισμένη την αναδίπλωση στην μορφοποίηση. Κώδικας: =B3&" "&IF(OR(LEFT(C3;LEN("MAKER:"))="MAKER:";LEFT(C3;LEN("KEYWORD"))="KEYWORD");CHAR(10)&C3;"")
ΥΓ. Το ="a"&"b" είναι ισοδύναμο και προτιμότερο της =CONCATENATE("a";"b") |
|
#3
| |||
| |||
|
Σε ευχαριστώ πάρα πολύ. ‘Έχω μόνο ένα πρόβλημα, όταν προσπαθώ να βάλω και άλλες λέξεις «κλειδιά» δεν τις δέχεται και βγάζει λάθος. Κώδικας:
=B3&" "&IF(OR(LEFT(C3,LEN("MAKER:"))="MAKER:",LEFT(C3,LEN("NOT AVAILABLE"))=
"NOT AVAILABLE"),LEFT(C3,LEN("EX STOCK"))="EX STOCK"),CHAR(10)&C3,C3)
Τελευταία επεξεργασία από το χρήστη Tasos : 19-05-12 στις 10:03. |
|
#4
|
|
Θανάση σου ξαναλέω ότι δεν είναι σαφές το ζητούμενό σου. Θα πρέπει να ανεβάσεις ένα παράδειγμα και να μας πεις ποιο ακριβώς είναι το ζητούμενο. Στον τύπο που ανέβασες υπάρχει ένα συντακτικό λάθος Η παρένθεση ")" μετά το ="NOT AVAILABLE") πρέπει να σβηστεί. Από την άλλη μάλλον έχει και πρόβλημα λογικής γιατί μας λέει ότι αν το C3 αρχίζει από τις λέξεις κλειδιά που έχεις τότε δίνει αποτέλεσμα b3 & char(10) & c3 ενώ αν το Β3 δεναρχίζει με κάποια από τις λέξεις κλειδιά τότε το αποτέλεσμα θα είναι b3 & c3 Σε κάθε περίπτωση δηλαδή θα ενώνει το b3 με το c3 και αν το c3 αρχίζει από τις λέξεις κλειδιά θα παρεμβάλει νέα γραμμή. (char(10)) Ανέβασε παράδειγμα και προσπάθησε να είσαι σαφής στο ζητούμενό σου. Φιλικά Θανάσης |
|
#5
| ||||
| ||||
|
Καλημέρα Θανάση! Έχεις μια παρένθεση παραπάνω: B3&" "&IF(OR(LEFT(C3;LEN("MAKER:"))="MAKER:";LEFT(C3;LE N("NOT AVAILABLE"))="NOT AVAILABLE");LEFT(C3;LEN("EX STOCK"))="EX STOCK");CHAR(10)&C3;C3) Καλή συνέχεια. Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#6
| |||
| |||
|
Καλημέρα, Σας ευχαριστώ πάρα πολύ. Έλυσα το πρόβλημα είδα που έκανα λάθος. Εάν δεν σας κουράζω με τις ερωτήσεις μου, θα ήθελα να μάθω εάν αυτές οι λέξεις κλειδιά που γίνεται η αναδίπλωση μπορούν να είναι μαυρισμένες (bold) ή ακόμη καλύτερα όλη η φράση της αναδίπλωσης (από το κλειδί έως το τέλος). Επισυνάπτω παράδειγμα. Σας ευχαριστώ εκ των προτέρων και εύχομαι καλό Σαββατοκύριακο. Θανάσης |
|
#7
|
|
Φίλε μου, το αποτέλεσμα μιας συνάρτησης δεν μπορεί να έχει μίξη μορφοποιήσεων Αντίθετα όταν έχεις ένα κελί που περιέχει πχ κείμενο και θέλεις να μορφοποιήσεις με έντονη γραφή από την πρώτη αλλαγή γραμμής char(10) και πέρα πρέπει να χρησιμοποιήσεις τον παρακάτω κώδικα. Κώδικας: Sub Conc_format()
Dim p As Integer
p = InStr(1, ActiveCell, Chr(10))
With ActiveCell.Characters(Start:=p + 1, Length:=Len(ActiveCell) - p).Font
.FontStyle = "Bold"
End With
End Sub
Φιλικά Θανάσης |
|
#8
| |||
| |||
|
Αγαπητέ συνονόματε, Ευχαριστώ γα την απάντησή σου, αλλά δεν κάνει στην περίπτωσή μου. Και στην περίπτωση που στην αρχή τα είχα σε διαφορετικά κελιά και μετά τα συνέδεα (concatenate) χάνουν την μορφοποίηση τους από Bold σε κανονικά. Άρα ο μόνον τρόπος που μένει είναι χειροκίνητα. Φιλικά Θανάσης |
|
#9
| |||
| |||
|
Θανάση, Βρήκα ένα ενδιαφέρον άρθρο στο internet (Humar December 29, 2009 at 06:55:53 Pacific) που με κάποιες αλλαγές θα μπορούσα να το χρησιμοποιήσω. Δυστυχώς για μένα δεν ξέρω πως να τις κάνω χρησιμοποιώντας ένα module. Εάν κάποιος μπορεί να βοηθήσει θα του ήμουν ευγνώμων. Κώδικας:
Here is a way to bold a list of words inside a longer phrase.
It requires visual basic and it uses the Change event.
For this example three words will be included in the new phrase and will be Bolded.
Put three words in cells E4, E5 and E6:
E
4 Wayne
5 John
6 big
Put this formula in cell E8:
="Films with "&E6&" film actor "&E5&" "&E4
Now right click on the Sheet name tab at the bottom of the Excel window. This example used Sheet1.
Select View Code
In the window that opens enter this code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objISect As Range
'this range object is created if the changed range (Target)
'contains any part of range E4:E6
Set objISect = Intersect(Target, Range("E4:E6"))
'make the changes if the range object has been set (i.e. is Not Nothing)
If Not objISect Is Nothing Then
'create the new string in cell E9
Range("E9").Value = Range("E8").Text
'remove any existing Bold font
Range("E9").Font.Bold = False
'now bold each of the words from the list E4:E6
Range("E9").Characters(InStr(1, Range("E9").Text, Range("E4").Text), _
Len(Range("E4").Text)).Font.Bold = True
Range("E9").Characters(InStr(1, Range("E9").Text, Range("E5").Text), _
Len(Range("E5").Text)).Font.Bold = True
Range("E9").Characters(InStr(1, Range("E9").Text, Range("E6").Text), _
Len(Range("E6").Text)).Font.Bold = True
End If
End Sub
To use more words, change the range in the line starting Set objIsect
For a fourth word the line becomes:Set objISect = Intersect(Target, Range("E4:E7"))
and add a new line under the heading 'now bold each of the words from the list E4:E6
Note that there are three lines of code, but each has been split onto two visual lines using the '_' character.
Just copy the last two visual lines, and paste them before End if, and change the E6 to E7 for a fourth word.
When you change any word in your list a new phrase with bolded text appears in cell E9.
Note that when you move cells referenced in this code, the code does not change, so you will have to change
the code to show the new cell addresses.
Regards
|
|
#10
|
|
Καλησπέρα Θανάση (αναφέρομαι στον ερωτώντα) αν έχω καταλάβει καλά το βασικό σου ερώτημα είναι Αν στο κελί C2 για παράδειγμα περιλαμβάνετε μια λέξη "κλειδί" τότε να ενωθούν τα κελιά Β2 & C2 και να αλλάξει η γραμμή (αλλά αυτό είναι δευτερεύον προς το παρών) Αν είναι έτσι τα πράγματα τότε στο παράδειγμα που ανέβασες στο κελί Β6 υπάρχουν και το MAKER: και το NOT AVAILABLE η ερώτηση μου είναι αν το βασικό σου στήσιμο είναι σωστό και με ποιο κριτήριο επιλέγεις τα δεδομένα του κάθε κελιού που περιέχει λέξη "κλειδί" μιας και δεν μας ανέβασες το αρχικό σου φύλλο και πρέπει να μαντέψουμε κάποια πράγματα... |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Ερωτήματα ] Ερώτημα για concatenate τιμών | jockey17 | Access - Ερωτήσεις / Απαντήσεις | 14 | 23-06-14 20:03 |
| [ Εκθέσεις ] Concatenate | devcon | Access - Ερωτήσεις / Απαντήσεις | 0 | 15-05-14 11:56 |
| [VBA] If, move and concatenate | devcon | Excel - Ερωτήσεις / Απαντήσεις | 4 | 05-07-11 05:29 |
Η ώρα είναι 09:41.


Αλλαγή σε γραμμικό τρόπο

