कैसे VBA एक सेल के आधार पर सेल वैल्यू अपडेट करें


0

मैंने स्टैक एक्सचेंज पर सभी को देखा है और वास्तव में मैंने जो देखा है वह नहीं देखा है। मेरे पास कुछ वस्तुओं की एक विस्तृत सूची है, जिन्हें अलग-अलग तिथियों और अंतरालों पर निरंतर अंशांकन की आवश्यकता होती है, और मैं जो करने की कोशिश कर रहा हूं वह VBA / मैक्रो है ताकि मैं किसी एक विशिष्ट आइटम के अंशांकन तिथि को अपडेट कर सकूं जिसमें से प्रत्येक पर नजर डाली जा सके व्यक्तिगत प्रविष्टि या उपयोग = VLOOKUP ()। अब तक मेरे पास कुछ भी ठोस नहीं है, मैं अभी तक एक कार्यक्रम को कॉल कर सकता हूं, लेकिन मैंने जो कल्पना की थी, वह एक सेल में आइटम की आईडी # लिख रहा था, दूसरे सेल में नए अंशांकन समाप्ति तिथि और उनके बगल में एक बटन है ताकि आईडी की खोज हो सके #, एक कॉलम को दाईं ओर ले जाता है और सेल पर टेक्स्ट को नई तारीख से बदल देता है। समझाने के लिए पर्याप्त सरल है लेकिन इस तथ्य को देखते हुए कि मैंने अभी चार घंटे पहले VBA के बारे में सीखना शुरू किया है, यह एक चुनौती साबित हो रही है। अब तक मैं '

range("a1").Formula = "=CELL("address", INDEX(H:J, MATCH(L11,H:H, 0),2))"

ActiveCell.FormulaR1C1 = "=INDEX(R[-5]C[-9], 3, 2, )"

अगर किसी को इसकी आवश्यकता हो तो मैं अधिक जानकारी या संदर्भ प्रदान करूंगा!

जवाबों:


0

किसी सूत्र के अंदर उद्धरणों का उपयोग करते समय आपको उन पर दोगुना करना चाहिए:

Range("A1").Formula = "=CELL(""address"", INDEX(H:J, MATCH(L11,H:H, 0),2))"
ActiveCell.FormulaR1C1 = "=INDEX(R[-5]C[-9], 3, 2, )"

0

यह आपको बहुत करीब मिलेगा। आप अपने डेटा को फिट करने के लिए इसे समायोजित कर सकते हैं। MsgBox कमांड को कमेंट डिलीट किया जा सकता है, लेकिन डिबगिंग के लिए आसान है।

Sub SetCalDate()

    'Set up variables
    Dim ID, RowNum As Integer
    Dim NewCalDate As Date
    Dim IDNums As Range

    'Initialize variables
    ID = Range("A1").Value           'Assumes the ID to Find is in A1,
    NewCalDate = Range("B1").Value   'and the NewCalDate is in B1.
    'MsgBox NewCalDate
    Set IDNums = Range("C1:C10")     'This is the range of ID's to be searched.
    'You might need something like Set IDNums = Worksheets("Sheet3").Range("C1:C10")
    'if the ID numbers are on a different sheet.

    'Find the ID in IDNums
    RowNum = Application.WorksheetFunction.Match(ID, IDNums, 0)
    'MsgBox RowNum
    Range("D" & RowNum) = NewCalDate    'Assumes the CalDates are in column D.

End Sub

यदि आप मैक्रो को एक बटन पर असाइन करना चाहते हैं, तो पहले एक नए मॉड्यूल में कोड डालें, फिर एक बटन बनाएं और इस मदद पृष्ठ पर बताए अनुसार सेटकैडलेट () मैक्रो को असाइन करें । सौभाग्य।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.