ভিবি স্ক্রিপ্টটি অনুসন্ধান সারণী ব্যবহার করে অনুসন্ধান এবং প্রতিস্থাপন করতে


1

আমার একটি স্প্রেডশিট রয়েছে যা আমার নিরীক্ষণের জন্য বেনামে রাখতে হবে (ব্যবহারকারীর নাম, হোস্টনাম, আইপি ঠিকানা ইত্যাদি))

আমি একটি সম্পূর্ণ ওয়ার্কবুকটিতে একটি অনুসন্ধান চালানোর এবং প্রতিস্থাপনের চেষ্টা করছি, আমি একটি অনুসন্ধান সারণী তৈরি করেছি যার একটি 'ফাইন্ড' কলাম রয়েছে (তথ্যটি পাওয়া যাবে) এবং একটি 'প্রতিস্থাপন' কলাম (ডেটা প্রতিস্থাপন করবে এমন ডেটা) এক কলামে)।

আমি নীচের ভিবি স্ক্রিপ্টটি ব্যবহার করছি যা একটি একক ওয়ার্কশিটের জন্য কাজ করে তবে আমার পুরো ওয়ার্কবুকটি অনুসন্ধান করতে হবে (এক শিট ছাড়াও যা দেখার তালিকায় রয়েছে), কার্যপত্রে মোট she 76 টি শীট রয়েছে।

আমি নীচের একক ওয়ার্কশিটটি রেফারেন্স করেছি এবং আমি ওয়ার্কবুকের মধ্যে একটি ওয়ার্কশিট ব্যতীত অন্য সমস্ত রেফারেন্সের জন্য এন্ট্রি দিয়ে এটিকে প্রতিস্থাপন করতে চাইছি to চূড়ান্ত শীটে ওয়ার্কবুকের মধ্যে লুকিং টেবিলটি অন্তর্ভুক্ত রয়েছে তাই এটি 'সন্ধান' এর মধ্যে অন্তর্ভুক্ত করতে চাই না।

এ সম্পর্কে যে কোনও সহায়তা প্রশংসিত হবে। আপনার যদি কোনও অতিরিক্ত তথ্যের প্রয়োজন হয় তবে দয়া করে আমাকে জানান। অগ্রিম ধন্যবাদ.

Sub abbrev()

Dim abvtab() As Variant
Dim ltsheet As Worksheet
Dim datasheet As Worksheet
Dim lt As Range

Set ltsheet = Sheets("sheet2")


' REFERENCE TO SINGLE WORKSHEET
Set datasheet = Sheets("ACTIVE_DIRECTORY_User")

Set lt = ltsheet.Range("A2", ltsheet.Range("B2").End(xlDown))

abvtab = lt

For i = 1 To UBound(abvtab)
    datasheet.Cells.Replace What:=abvtab(i, 1), Replacement:=abvtab(i, 2), LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False

Next i

End Sub

উত্তর:


0

একক ওয়ার্কশিট রেফারেন্সকে অতিরিক্ত বাহ্যিক লুপের সাথে প্রতিস্থাপনের বিষয়টি কেবল একটি সহজ বিষয়:

Sub abbrev()

  Dim abvtab() As Variant
  Dim ltsheet As Worksheet
  Dim datasheet As Worksheet
  Dim lt As Range
  Dim i As Long

  Set ltsheet = Sheets("sheet2")


  ' REFERENCE TO SINGLE WORKSHEET
'  Set datasheet = Sheets("ACTIVE_DIRECTORY_User")

  Set lt = ltsheet.Range("A2", ltsheet.Range("B2").End(xlDown))

  abvtab = lt

  For Each datasheet In Worksheets
    If datasheet.Name <> ltsheet.Name Then
      For i = 1 To UBound(abvtab)
        datasheet.Cells.Replace What:=abvtab(i, 1), Replacement:=abvtab(i, 2), LookAt:=xlPart, _
          SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
          ReplaceFormat:=False

      Next i
    End If
  Next datasheet

End Sub

নাম সন্ধানের টেবিল শীটটি বাদ দেওয়া হয়েছে।


ধন্যবাদ রবিনসিটিএস এটি কাজ করেছে এবং সমস্ত শিট, অনুসন্ধানের টেবিলযুক্ত শীটটি বাদ দিয়ে সংশোধন করা হয়েছে। সত্যিই দ্রুত প্রতিক্রিয়া প্রশংসা। অনেক ধন্যবাদ.
নিকি জি

@ নিকিজি খুশি
রবিন্টিসট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.