मुझे थोड़ी समस्या है। मुझे चयनित दो पंक्तियों को अंतिम पंक्ति में सेट करने की आवश्यकता है। 0. मैं VBA में बहुत नया हूं और यह जानने के लिए कि क्या उपयोग करना है।

यह वही है जो मैंने अभी तक किया है और यह काम कर रहा है बस मूल्य कठिन-कोडित (कोशिकाओं के लिए) हैं।

Sub SetCellValueToZero()
    Dim r As Range

    For Each r In Selection.Rows
        Cells(r.Row, 3) = "0"
        Cells(r.Row, 2) = "0"
    Next r
End Sub

किसी भी सहायता की सराहना की जाएगी।

धन्यवाद

1
dergotic 1 पद 2015, 01:29

3 जवाब

सबसे बढ़िया उत्तर
Sub SetCellValueToZero()
Dim r As Range
Dim lastCol as Long
For Each r In Selection.Rows
    lastCol = ActiveSheet.Cells(r.row, ActiveSheet.Columns.Count).End(xlToLeft).Column
    Cells(r.Row, lastCol-1) = "0"
    Cells(r.Row, lastCol) = "0"
Next r
End Sub
3
findwindow 30 नवम्बर 2015, 23:40

एक पंक्ति में सबसे सही उपयोग की गई सेल को खोजने के लिए आप Range.End(xlToLeft) का उपयोग कर सकते हैं क्योंकि आपके प्रश्न के टिप्पणियों में findwindow संकेत कर रहा है। {{}} function, Excel में End + -key दबाने के बराबर है। इसलिए यदि आप इसे उस पंक्ति के सबसे दाहिने सेल से करते हैं जिसे आप खोज रहे हैं, तो यह आपको अंतिम सेल देगा (जब तक कि सबसे सही सेल का उपयोग नहीं किया जाता है)। एक शीट में सबसे सही सेल खोजने के लिए, आप ActiveSheet.Cells(Selection.Row, ActiveSheet.Columns.Count) करें।

इस सब को एक साथ रखकर, आपका मैक्रो कुछ इस तरह दिखेगा:

Sub SetCellValueToZero()
  Dim last_used_cell As Range, r As Range

  For Each r In Selection.Rows
    Set last_used_cell = ActiveSheet.Cells(r.Row, ActiveSheet.Columns.Count).End(xlToLeft)
    last_used_cell = "0"
    last_used_cell.Offset(0, -1) = "0"
  Next r
End Sub
1
eirikdaude 30 नवम्बर 2015, 23:05
Function getLastColumn(ByVal inputRng As Range) As Single
Dim nColumn As Single
    nColumn = 1
    On Error Resume Next
    nColumn = inputRng.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

    getLastColumn = nRow
End Function

Last2Row = getLastColumn - 1

0
Eric K. 1 पद 2015, 01:02