string - एक्सेल VBA-पहले से मौजूद पाठ के चरित्र स्वरूपों को रखने, एक सेल में टेक्स्ट को स्वरूपित प्रतीक जोड़ें




excel-vba insert (2)

रंग के लिए: (कुछ कारणों से रंगीनदेय कभी-कभी गलत रंग देता है, इसलिए मैं सेल को प्रारूपित करता हूं और मैं चाहता हूँ कि रंग को प्राप्त करने के लिए एक मैक्रो बनाएं।

.Color = -16776961

यह मेरे प्रश्न से एक्सल वीबीए में एक सेल में आखिरी चरित्र से दूसरा चुनें

मैं सेल में मौजूदा टेक्स्ट के बाद एक लाल टिक (या नीचे तीर) डालने के लिए एक मैक्रो लिख रहा हूं

मुझे इसे डालने वाला कोड मिला, मूल सेल सामग्री (बोल्ड रेखांकित लाल आदि) की अनुकूलित वर्ण स्वरूपण निकाल देता है।

ActiveCell.FormulaR1C1 = ActiveCell & " P "

मैं वर्णों को सम्मिलित करने और पहले से मौजूद वर्ण प्रारूपों को सेल में कैसे बनाए रख सकते हैं (कुछ पाठ लाल, अन्य पाठ बोल्ड, अन्य पाठ को रेखांकित किया जा सकता है।)?

मुझे एक मैक्रो मिला जो मौजूदा स्वरूपों को बनाए रखने वाले अक्षरों की जगह लेता है, और सोच रहा है कि इसके बजाय सेल के अंत में टिक और रिक्त स्थान जोड़कर बदल सकते हैं, और उन्हें प्रारूपित कर सकते हैं?

मुझे एक और मैक्रो मिल गया जो मूल्य के प्रतिलिपि के बाद प्रत्येक अक्षर के प्रारूप को प्रतिलिपि बनाते हैं, जिसमें 2 एक्सेल कोशिकाओं की मर्ज वाली सामग्री को वर्चुअल फॉर्मेट बरकरार रखते हुए (वीबीए का प्रयोग करके) मर्ज करते हैं , यदि मूल में अक्षरों को फिर से प्रारूपित करने के लिए इसे छू लिया जा सकता है सेल ... मैं थोड़ा स्टम्प्ड हूँ!

या हो सकता है कोई भी आसान तरीका है?

कोई सहायता कृतज्ञता की सराहना की।

================================================================================================================================================================================

    STRINGTODELETE = InStr(1, cell.Value, " ") 'define + find string to delete, ANYWHERE in cell (TODO inputbox)
    STRINGTODELETE_LENGTH = 1  'define length of string to delete (TODO get length from input)

    Do Until STRINGTODELETE = 0 'loop within cell until no more occurences found
        cell.Characters(STRINGTODELETE, STRINGTODELETE_LENGTH).Delete 'remove found occurrence of SPECIFIED STRING
        cell.Characters(STRINGTODELETE, 0).Insert Chr(10) 'insert line break where SPECIFIED STRING used to be

संपादित किया गया : ActiveCell.Value या ActiveCell.Formula का प्रयोग वास्तव में किसी विशेष स्वरूपण को पहले से बदल देगा (मेरी प्रारंभिक पोस्ट उसको अनदेखी) हालांकि, आपकी शोध परोक्ष रूप से प्रदर्शित किए जाने के बाद, आप वर्ण को बदलकर पाठ बदल सकते हैं.इन्सर्ट, लेकिन आपको अपने कस्टम स्वरूपण को बदलने से बचने के लिए उस वर्ण की लंबाई की आवश्यकता है जहां को सम्मिलित करना है।

मूल्य या सूत्र सेटिंग के बजाय इसे आज़माएं

ActiveCell.Characters(ActiveCell.Characters.Count + 1, 1).Insert (" P ")

फिर आप एक समान दृष्टिकोण का उपयोग करते हुए अंतिम वर्ण के लिए दूसरे को अपडेट करने के लिए आगे बढ़ते हैं (यह अंतिम वर्ण से पहले 1 वर्ण को अनिवार्य रूप से संपादित कर रहा है)।

With ActiveCell.Characters(ActiveCell.Characters.Count -1, Length:=1).Font
        .Name = "Wingdings 2"
        .FontStyle = "Bold"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
End With