का उपयोग कर सेल के सूत्र को टेक्स्ट में कनवर्ट करना मैं वर्कबुक में सूत्रों के साथ सभी कक्षों को ढूंढने और एक अलग शीट पर दो कॉलम में अपना पता और फॉर्मूला आउटपुट करने के लिए Excel2003 में एक मैक्रो लिख रहा हूं।एक्सेल vba
मैं जानता हूँ कि मैं किसी एक सेल
Public Function ShowFormula(cell As Range) As String
ShowFormula = cell.Formula
End Function
जो सिर्फ ठीक काम करता है का उपयोग कर के लिए सूत्र दिखा सकते हैं, लेकिन जब से मैं हाथ से सभी कोशिकाओं खोजने के लिए नहीं करना चाहता था, मैं निम्नलिखित मैक्रो लिखा था उन सब को यह सभी कोशिकाओं ठीक, लेकिन इसके बजाय पाठ के रूप में सूत्र प्रदर्शित करने में पाता है मुझे
Sub Macro2()
Dim i As Integer
Dim targetCells As Range
Dim cell As Range
Dim referenceRange As Range
Dim thisSheet As Worksheet
Set referenceRange = ActiveSheet.Range("CA1")
With referenceRange
For Each thisSheet In ThisWorkbook.Sheets
If thisSheet.Index >= referenceRange.Parent.Index Then
Set targetCells = thisSheet.Cells.SpecialCells(xlCellTypeFormulas, 23)
For Each cell In targetCells
If cell.HasFormula Then
.Offset(i, 0).Value = thisSheet.Name
.Offset(i, 1).Value = cell.Address
.Offset(i, 2).Value = CStr(cell.Formula)
i = i + 1
End If
Next
End If
Next
End With
End Sub
के लिए लगता है, सूची सूत्र परिणाम प्रदर्शित करता है।
फॉर्मूला के बजाय फॉर्मूला को आउटपुट करने के लिए मुझे क्या याद आ रही है?
टिप के लिए धन्यवाद चीजों को तेज करने के लिए! आपके उत्तर पर त्वरित सवाल। हालांकि यह काम करता है, यह '= ए 1 + बी 2 + सी 3 + ...' आउटपुट करता है। मैं उन सूत्रों को बाद में विभिन्न कोशिकाओं में प्लग करने की योजना बना रहा हूं और इसके लिए "" को हटाने की आवश्यकता होगी। क्या पाठ प्रारूप को मजबूर किए बिना ऐसा करने का कोई तरीका है? मुझे सच में आश्चर्य है कि यह यूडीएफ के साथ क्यों काम करता है और मैक्रो के भीतर नहीं ...? –
"" को छोटा करना 'छोटा है' दाएं (एस, लेन) - 1) 'लेकिन मैं आपका मुद्दा लेता हूं। आप अनमोडिफाइड फॉर्मूला चिपकाने से पहले गंतव्य सेल के प्रारूप को पाठ में सेट करने का प्रयास कर सकते हैं और देख सकते हैं कि यह कैसे जाता है। –
पाठ को स्वरूपण ने उस चाल को किया था। इतना आसान, फिर भी यह मेरे लिए नहीं हुआ :(बहुत धन्यवाद! –