इसके पीछे प्रेरणा यह है कि एक्सेल में, कोशिकाओं के एक सेगमेंट को कॉपी करने के बाद आप केवल चयन से घटने की क्षमता के बिना अधिक कोशिकाओं को उजागर कर सकते हैं। इसने मुझे नाराज़ किया, इसलिए आज मैंने एक चयन से घटने के लिए एक vba स्क्रिप्ट लिखी जो एक से अधिक बार हाइलाइट की गई कोशिकाओं पर आधारित थी।
Sub MultiDeselect()
Dim rng As Range
Dim Uni As Range 'this is the union
Dim Intersct As Range
Dim UnionMinusIntersect As Range
Dim singleArea As Range
'MsgBox ActiveCell.Address
If Selection.Areas.Count > 1 Then
For Each singleArea In Selection.Areas
For Each rng In singleArea.Cells
If Uni Is Nothing Then
Set Uni = rng
ElseIf Application.Intersect(Uni, rng) Is Nothing Then
Set Uni = Union(Uni, rng)
ElseIf Intersct Is Nothing Then
Set Intersct = rng
ElseIf Intersect(Intersct, rng) Is Nothing Then
Set Intersct = Union(Intersct, rng)
End If
Next rng
Next singleArea
' MsgBox Uni.Address
If Intersct Is Nothing Then
Set UnionMinusIntersect = Uni
Else
' MsgBox Intersct.Address
For Each singleArea In Uni
For Each rng In singleArea.Cells
' MsgBox rng.Address
If Intersect(rng, Intersct) Is Nothing Then
If UnionMinusIntersect Is Nothing Then
Set UnionMinusIntersect = rng
Else
Set UnionMinusIntersect = Union(UnionMinusIntersect, rng)
End If
End If
Next rng
Next singleArea
End If
'Check not null in case every cell was highlighted more than once
If Not UnionMinusIntersect Is Nothing Then
If UnionMinusIntersect.Cells.Count > 0 Then
UnionMinusIntersect.Select
End If
End If
End If
End Sub
बहुत कुछ मेरे निराश होने पर, खत्म होने के बाद, मैंने पाया कि कई क्षेत्रों में नकल की अनुमति नहीं है, जो किसी चीज़ को उजागर करने के लिए मेरे सामान्य उद्देश्य को हरा देता है। इससे पहले कि मैं एक मल्टी-कॉपी और मल्टी-पेस्ट को लागू करने की कोशिश करूं, मैं जानना चाहता था कि क्या कोई पहले ही ऐसा कर चुका है। यह मूल रूप से सक्रिय सेल के शीर्ष बाईं ओर संबंधित सेल में चयन के शीर्ष बाएँ के सापेक्ष प्रत्येक सेल की प्रतिलिपि करेगा।
जॉर्डन का जवाब बहुत अच्छा काम करता है। यहां अंतिम आउटपुट का एक उदाहरण दिया गया है:
Value
का उपयोग करCells
के साथRange
आप ऊपर, नीचे, बाएँ करना होगा, सही है अगर आप इसे में एक छेद चाहते हालांकि।