VBA में, Evaluate()
और []
तरीकों दोनों सरणियों वापस जाने के लिए इस्तेमाल किया जा सकता:कैसे मूल्यांकन विधि के साथ सरणी सूत्रों का मूल्यांकन करने के
Dim i As Variant
i = Evaluate("{1,2;3,4}")
i = [{1,2;3,4}]
दोनों लाइनों i
सेट एक 2D सरणी संख्या 1-4 से युक्त होने के लिए । (- [...](1,2)
इस बीच त्रुटियों अर्थात 2)
मैं सोच रहा हूँ वहाँ एक ही तरीके से एक सरणी-लौटने कार्यपत्रक समारोह के मूल्यांकन के लिए किसी भी वाक्य रचना है, चाहे, जैसे एक अतिरिक्त कार्यक्षमता Evaluate(...)(1,2)
सरणी के R1C2 अनुक्रमित तत्व देता है
i = Evaluate("LEN(A1:A5)>3") 'or similar like [{LEN(A1:A5)>3}]
अगर मैं A4
& A5
में 3 अक्षरों से पाठ अब हमारे पास जो {False,False,False,True,True}
तरह -1 डी सरणी लौट जाना चाहिए, लेकिन ऐसा नहीं है।
यदि नहीं, तो क्या पूर्ण सरणी को वापस करने के लिए सरणी-सूत्र का मूल्यांकन करने का एक और 1-लाइनर तरीका है? मैं देख रहा हूं कि जो भी दृष्टिकोण सबसे छोटा चरित्र-गिनती देता है।
'मैं = मूल्यांकन (" पंक्ति (A1: A5)> 3 ") ' – SJR
@ एसजेआर, विचित्र यह काम करता है, लेकिन' i = मूल्यांकन ("एलईएन (ए 1: ए 5)> 2") नहीं। मैं उम्मीद करता हूं कि एक सरणी वापस करने के लिए, लेकिन यह केवल एक ही बुलियन लौटाता है, क्या वहां कुछ अस्पष्टता है जो मैं देख रहा हूं? – Greedo
वास्तव में विचित्र। मुझे यकीन नहीं है कि क्यों, लेकिन कुछ कार्यों को सही तरीके से काम करने के लिए "मजबूर" होना चाहिए, उदा। यह काम करता है 'i = मूल्यांकन (" अगर (पंक्ति (ए 1: ए 5), एलईएन (ए 1: ए 5)> 2) ")' – SJR