एक्सेल से टैब-निहित पाठ को बिना उद्धरण के कैसे कॉपी करें?


0

मैंने देखा है कि एक सेल जिसमें एक टैब होता है, को एम्बेडेड उद्धरणों के साथ कॉपी किया जाता है। मैं उद्धरण के बिना इस तरह के एक सेल की नकल करने के लिए देख रहा हूं।


उदाहरण उदाहरण

मेरे पास 5 सेल हैं; ए 1, ए 2, ए 3, ए 4, और ए 5। उनके लिए सूत्र हैं:

यहाँ छवि विवरण दर्ज करें

यह वे एक्सेल पर कैसा दिखेगा:

यहाँ छवि विवरण दर्ज करें

सूत्र ऐसे सेट किए जाते हैं, जब किसी पाठ संपादक में कक्षों की प्रतिलिपि बनाते समय अपेक्षित परिणाम प्राप्त होता है:

यहाँ छवि विवरण दर्ज करें

दुर्भाग्य से, यह वही है जो मुझे मिलता है:

यहाँ छवि विवरण दर्ज करें

समस्या उद्धरण के साथ है । मुझे जिन चीज़ों की आवश्यकता है, उन कोट्स के बिना कॉपी करना।


मुझे लगता है कि मिल / के लिए बदलें "tabऔर 1"एक अस्वीकार्य समाधान अपने असली डेटा दिया है? या यह एक सामान्य झुंझलाहट का सवाल है और किसी विशेष फ़ाइल के लिए विशिष्ट नहीं है?
इंजीनियर टोस्ट

हां, यह कोई विशेष स्थिति वाला सवाल नहीं है, यह सामान्य झुंझलाहट वाला सवाल है। डबल कोट्स के बिना कोशिकाओं को कॉपी करने के लिए मुझे जो कुछ भी प्राप्त करने की आवश्यकता है। खोजें / बदलें "tabऔर 1"इसका समाधान न करें क्योंकि उल्लिखित स्थिति केवल उदाहरण के लिए है, और मुझे एक्सेल के भीतर एक समाधान की आवश्यकता है ताकि मैं कॉपी किए गए पाठ के साथ दिखाई देने वाले दोहरे उद्धरणों के बिना अपने उद्देश्यों को कुछ चरणों में पूरा कर सकूं।
उमर

तब VBA I को एक कीबोर्ड कमांड पर सेट किया गया है जो ट्रिक करेगा।
इंजीनियर टोस्ट

जवाबों:


2

कैसे एक VBA समाधान के बारे में? यह टॉप लेफ्ट सेलेक्टेड सेल से लेकर राईट राईट सेलेक्टेड सेल तक सभी सेलेक्ट करेगा। यदि आप असंगत कोशिकाओं का चयन करते हैं, तो यह कोड वैसे भी ऊपर बाएं और नीचे दाईं ओर सब कुछ एकत्र करेगा। आप निश्चित रूप से इसे बदल सकते हैं। यह इस तरह से आसान था। यह कॉलम के बीच में टैब लगाता है और पंक्तियों के बीच में लाइन ब्रेक होता है।

Sub CopyText()

    Dim obj As Object
    Dim rng As Range
    Dim r As Long, c As Long
    Dim s As String
    Dim rTL, rBR, cTL, cBR

    rTL = Selection.Cells(1, 1).Row
    cTL = Selection.Cells(1, 1).Column

    For Each rng In Selection.Cells
        If rng.Row < rTL Then rTL = rng.Row
        If rng.Column < cTL Then cTL = rng.Column
        If rng.Row > rBR Then rBR = rng.Row
        If rng.Column > cBR Then cBR = rng.Column
    Next

    For r = rTL To rBR
        For c = cTL To cBR
            s = s & Cells(r, c).Value
            If c < cBR Then s = s & Chr(9)
        Next
        If r < rBR Then s = s & vbNewLine
    Next

    Set obj = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    obj.SetText s
    obj.PutInClipboard
    Set obj = Nothing

End Sub

यदि आप इस भाग के बारे में सोच रहे हैं:

Set obj = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

... यह सिर्फ देर से-बाध्यकारी संस्करण है Set obj = New DataObjectइसलिए आपको VBA में कोई संदर्भ नहीं जोड़ना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.