2012-08-06 10 views
15

मेरे पास एक लंबा चर एक्स है जिसमें एक संख्या है। कहें कि यह 415 है।मैं वीबीए/एक्सेल में पंक्ति एक्स के नीचे सब कुछ कैसे हटा सकता हूं?

मैं पंक्ति 415 और उससे नीचे वर्कशीट पर सब कुछ कैसे हटा सकता हूं?

मैं यह सुनिश्चित करना चाहता हूं कि मेरी स्प्रेडशीट पंक्ति 415 में साफ है और कुछ भी जो इससे नीचे हो सकता है।

मैं यह कैसे कर सकता हूं? धन्यवाद।

उत्तर

32

यह नीचे की तरह कुछ की तरह लगता है आपकी आवश्यकताओं के अनुरूप होगा:

With Sheets("Sheet1") 
    .Rows(X & ":" & .Rows.Count).Delete 
End With 

कहाँ एक्स एक चर कि पंक्ति संख्या (415)

+0

इस कोड को निष्पादित करने का सबसे अच्छा अभ्यास क्या है? – Dror

+0

सहमत हुए। इसे चलाने के लिए मैं इस कोड को कहां पेस्ट करूँ? –

+0

आप मैक्रो, वीबीए –

11

एक अन्य विकल्प Sheet1.Rows(x & ":" & Sheet1.Rows.Count).ClearContents (या .Clear) है = है। .Delete की बजाय आप इस विधि का उपयोग करना चाहते हैं क्योंकि हटाए गए सीमा में निर्भरता वाले किसी भी कक्ष (उदा। उन सूत्रों का संदर्भ जो सूत्रों को संदर्भित करते हैं, भले ही खाली हो) #REF दिखाएंगे। यह विधि साफ़ कोशिकाओं के सूत्र सूत्रों को संरक्षित रखेगी।

1

इस समारोह निर्दिष्ट पंक्ति और स्तंभ से शुरू चादर डेटा साफ़ हो जाएगा:

Sub ClearWKSData(wksCur As Worksheet, iFirstRow As Integer, iFirstCol As Integer) 

Dim iUsedCols As Integer 
Dim iUsedRows As Integer 

iUsedRows = wksCur.UsedRange.Row + wksCur.UsedRange.Rows.Count - 1 
iUsedCols = wksCur.UsedRange.Column + wksCur.UsedRange.Columns.Count - 1 

If iUsedRows > iFirstRow And iUsedCols > iFirstCol Then 
    wksCur.Range(wksCur.Cells(iFirstRow, iFirstCol), wksCur.Cells(iUsedRows, iUsedCols)).Clear 
End If 

End Sub 
+0

का उपयोग कर सकते हैं इससे मेरी मदद मिली। वैकल्पिक अंत कॉल और/या पंक्ति भी कूलर होगी। ;) –

-1

'पंक्ति' के लिए किसी भी संदर्भ का उपयोग करना चाहिए 'लंबी' नहीं 'पूर्णांक' शेष यदि स्प्रेडशीट एक बहुत है यह अतिप्रवाह होगा आंकड़े का।

संबंधित मुद्दे