অন্য শিট থেকে ডেটা তৈরি করুন মাস্টার শীটে সংশ্লিষ্ট সারিতে


0

আমি একটি "নতুন" শীট পেয়েছি যা দিনে কয়েকবার উত্পন্ন হবে এবং এটি এই সাবটির পরে মুছে ফেলা হবে।

আমি "নতুন" শীট থেকে ডেটা অনুলিপি করতে এবং এটি বিদ্যমান "রেকর্ড" শীটে পেস্ট করতে চাই

  1. এর সম্পর্কিত সারিতে ডেটা আটকান (বিভিন্ন ফল)
  2. "রেকর্ডস" শীটে ফল উপস্থিত না থাকলে নতুন ফলের সারি যুক্ত করুন
  3. (আজ) থেকে সাজান, ফলের নামের প্রথম কলাম দ্বারা "রেকর্ডস" শীটে পুরো ব্যবহৃত পরিসীমা
  4. ব্যবহৃত ব্যাপ্তিতে ফাঁকা ঘর পাওয়া শূন্য পূরণ করুন
  5. সর্বশেষ ব্যবহৃত রেঞ্জের সারি + 1 এ মোট সারি যুক্ত করুন (সুতরাং যখনই এই শীটটি নতুন স্টলের ক্রমের জন্য চালানো হবে তখন এটি আলাদা হবে)

যেমন

পত্রক: রেকর্ডস, নতুন, আমি এটি কীভাবে চাই তা
এই ক্ষেত্রে, আপনি কলা, ব্লুবেরি এবং ড্রাগনফ্রুটটি খেয়াল করতে পারেন

"ব্লক ইফ বিহীন ইফ" এর জন্য আমি এখন ত্রুটি পাচ্ছি।
আপডেটগুলি: ফাঁকা রন্ধন সন্ধান করার জন্য আমি শেষটি মিস করেছি। এখন কোডটিতে ত্রুটি নেই তবে আমি যে ফলাফল চাই তা পেতে পারি না। কলা, ব্লুবেরি "রেকর্ডস" এ নতুন ফল হিসাবে যুক্ত করা উচিত বলে কোডটিতে কী ভুল হয়েছে তা আমার কোনও ধারণা নেই তবে এখন তালিকায় আমি একটি অতিরিক্ত স্ট্রবেরি পেয়েছি, মনে হয় এটি অন্য শর্ত সম্পর্কে শ্রীযুক্তি করা উচিত তবে আমি ডন করি না এটি ঠিক করতে জানি না।
এটি আমার বর্তমান রেকর্ড শীট

আপাতত আমি কেবলমাত্র আমার প্রয়োজনীয়তার ২ য় অংশে পৌঁছেছি, কারণ আমি এখনও ব্যবহৃত পরিসরের সাথে খুব বেশি পরিচিত নই, এখনও কোডিং করতে আমার একটু লড়াই চলছে।

Sub fruit()

'find first blank column
blankCol = ThisWorkbook.Worksheets("Records").Cells(1, Columns.Count).End(xlToLeft).Column
If blankCol > 1 Then
blankCol = blankCol + 1
End If

'paste the list into existing "Records" sheet
Set rsht = ThisWorkbook.Worksheets("Records")
Set r = rsht.Range("A1") 'record sheet

'set up header for new entry in "Records"
r.Offset(0, blankCol - 1).Value = "new" 'new sheet name from different stalls
r.Offset(1, blankCol - 1).Value = "Amount"

'new sheet with new data
Set temp = ThisWorkbook.Worksheets("new")
Set n = temp.Range("A1") 'temp : new

Dim lastrow As Long
lastrow = temp.Cells(Rows.Count, "A").End(xlUp).Row 'last row in new temp sheet

Dim nextrow As Long
nextrow = rsht.Cells(Rows.Count, "A").End(xlUp).Row + 1 'find next empty row in "Records"

    j = 2 '"Records" sheet
    For i = 1 To lastrow 'refer new

        If n.Offset(i, 0).Value = r.Offset(j, 0).Value Then 'if name matched then

            r.Offset(j, blankCol - 1).Value = n.Offset(i, 1).Value 'copy respective value

        Else

            'paste new name into next available row
            r.Offset(nextrow, 0).Value = n.Offset(i, 0).Value 'fruits
            r.Offset(nextrow, blankCol - 1).Value = n.Offset(i, 1).Value 'amount

        End If

    j = j + 1        
    Next i

End Sub

'delete that new sheet
'ThisWorkbook.Worksheets("new").Delete

1 / অপরিবর্তিত last2 / এর জন্য ... পরবর্তী বিবৃতি (ভিজ্যুয়াল বেসিক)for অনুপস্থিত । এগুলি সুস্পষ্ট ত্রুটি। আরও থাকতে পারে ...next
ডেভিডপস্টিল

সম্পাদকীয় কোডের একটি লাইনে একটি ব্রেকপয়েন্টকে সেটিংস দ্বারা ডিবাগিং শুরু করুন, তারপরে আপনার কোডটি একবারে একটি লাইন দিয়ে পদক্ষেপ দিন যতক্ষণ না আপনি ঠিক কোন লাইনে ত্রুটি সৃষ্টি করছে তা খুঁজে না পাওয়া পর্যন্ত।
ʜιᴇcʜιᴇ007

... আপনি একটি অনুপস্থিত End If। আমি ধরে নিলাম এর পরে আসা উচিত Next i?
ব্রুসওয়েেন

হাই @ ডেভিডপস্টিল, ত্রুটিটি সমাধান করা হয়েছে। উপরের প্রশ্নে আমার কাছে আপডেট রয়েছে। আশ্চর্যজনক যে তালিকাটি অর্ধেকের মধ্যে বন্ধ হয়ে গেছে। আপনি কি আমাকে কিছুটা আলোকপাত করতে আপত্তি করবেন?
এক্সেলনোভাইস

হাই @ ব্রুসওয়েইন, যদি [শর্ত] তবে [বিবৃতি] অন্যথায় [বিবৃতি] শেষ করুন যদি --- এমএস ওয়েবপৃষ্ঠায় এটি দেখেছেন। আমি বুঝতে পারি না কেন অতিরিক্ত এড যুক্ত করলে ত্রুটিটি সমাধান হবে। আপত্তি করছো কেন বলো?
এক্সেলনোভাইস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.