मैं कुछ गलत कर रहा हूं। कृपया मेरी मदद करें ... स्थिति: दो टैब प्राप्त करें - Input_Tab और Database_Tab। इनपुट डेटा का उपयोग करके डेटाबेस अपडेट करना चाहते हैं। INPUT TAB: Input_Tab कॉलम A: हेडर की 60 पंक्तियाँ हैं (Staff_ID, Status, Staff_Name, Salary, आदि) Input_Tab कॉलम B: इसमें मानों की 60 पंक्तियाँ हैं (जैसे, Emp001, Active, John Smith, $ 150k, आदि)। DATABASE TAB: Database_Tab में 55 कॉलम होते हैं (60 नहीं, और Input_Tab के समान क्रम में नहीं)। Database_Tab Row 1: में 55 हेडर हैं। Database_Tab Row 2-901: प्रत्येक हैडर के अंतर्गत संबंधित कर्मचारियों के डेटा की 900 पंक्तियाँ हैं। उद्देश्य: दो crieria (Staff_ID और स्थिति, जैसे कि "Emp001" और "Active") का उपयोग करके, Input_Tab से मानों का उपयोग करके Database_Tab को अपडेट करें। (सामान्य एक्सेल बस एक vlookup होगा, लेकिन निश्चित रूप से 900 कर्मचारियों को व्यक्तिगत रूप से अपडेट करने के लिए VBA की आवश्यकता है।)
नीचे मेरा VBA काम नहीं करता है ... कृपया मेरी मदद करें।
उप अद्यतनरोडाटा ()
Sheets("Input").Activate
Dim staff_ID As String
Dim staff_status As String
Dim found_ID As Range
Dim found_status As Range
staff_ID = Sheets("Input").Range("B1").Select
staff_status = Sheets("Input").Range("B2").Select
Sheets("Database").Activate
Dim first_blank_row As Long
first_blank_row = Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).Row
starting_row = 1
Dim r As Long
r = starting_row
staff_ID = Sheets("Database").Range("a" & r).Value
staff_status = Sheets("Database").Range("b" & r).Value
Do While staff_ID <> 0
Set found_ID = Columns("a:a").Find(what:=staff_ID, LookIn:=xlValues, lookat:=xlWhole)
Set found_status = Columns("b:b").Find(what:=staff_status, LookIn:=xlValues, lookat:=xlWhole)
If (found_ID Is Nothing And found_status Is Nothing) Then
'<<<…Add new data at the end of Database.
For c = 1 To 500
Sheets("Database").Cells(first_blank_row, c) = Sheets("Input").Cells(r, c)
first_blank_row = first_blank_row + 1
Next c
Else
'<<<…else, update existing data.
For c = 1 To 500
Sheets("Database").Cells(found_ID.Row, c) = Sheets("Input").Cells(r, c)
Next c
End If
r = r + 1
Loop