ভিবিএ "লাইক" এটি করার কথা বলে না


0

আমার প্রায় 2500 সারিগুলির একটি তালিকা রয়েছে এবং আমি প্রথম কলামে "ইন্টার্ন" এর পরে ":" পরে ":" শব্দটি প্রকাশ করতে চাই বা না তা চেক করতে চাই (একটি: ইন্টার্নের পরে কোনও অবস্থানে থাকতে পারে)

কোডটির গুরুত্বপূর্ণ অংশটি এরকম দেখাচ্ছে:

For k = 1 To lastrowND
intern = Worksheets("new Data").Cells(k, 1).Value


If Not intern Like "*intern*:" Then

তবে এই আদেশটি কোনও কিছুই ফিল্টার করে না। আমার ভুল কোথায়?

আপনাকে অনেক ধন্যবাদ


আমি অনুমান করব যে এটি এর ফলে: ব্যর্থ হয় the
এলপিসিপ

আপনি কী নিশ্চিত করেছেন (ব্রেকআপপয়েন্টের মাধ্যমে) যে মানটির কোনওটিই আপনি যে প্যাটার্নটি সন্ধান করছেন তাতে আসলেই জনবহুল? অন্যান্য (আরও বেসিক) নিদর্শনগুলি প্রত্যাশার মতো কাজ করে?
ʜιᴇcʜιᴇ007

হ্যাঁ, কোডটি যখন "ইন্টার্ন" কেবল তখনই আমার কাজ করত, তবে আমার অতিরিক্ত শর্তটি দরকার যে "" "স্ট্রিংয়ের যে কোনও জায়গায় আসে
মারিও অ্যাডেনোয়ার

উত্তর:


4

যদি আপনার ডেটাতে কোলনের পরে কিছু থাকে তবে *সত্যটি পরীক্ষা করার জন্য আপনার অতিরিক্ত প্রয়োজন । ( *intern*:*)

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


4

এই জাতীয় নিয়মিত এক্সপ্রেশন ব্যবহার করার চেষ্টা করুন:

Dim strPattern As String: strPattern = "intern(.*?):"
Dim regEx As New RegExp

' ...

With regEx
     .Global = True
     .IgnoreCase = False
     .Pattern = strPattern
End With

For k = 1 To lastrowND
   intern = Worksheets("new Data").Cells(k, 1).Value

   If Not regEx.Test(intern) Then
   ' ...

1
এটি খুব আশাব্যঞ্জক দেখাচ্ছে তবে আমি এই ফাংশনটি নিয়ে কখনও কাজ করি নি। লুপ [ওয়ার্কশিটগুলি ("নতুন ডেটা") কীভাবে সংহত করব? সেল (কে, 1)। মূল্য] এই আদেশটি দিয়ে? যাইহোক যাইহোক
মারিও অ্যাডেনোয়ার

মারিও, আপনাকে লুপে কোনও পরিবর্তন করার দরকার নেই! লিমের বাইরে কেবল নতুন রেজিএক্সপ হিসাবে ডিম রেজিএক্সটি সংজ্ঞায়িত করুন এবং "যদি না তবে রেজিএক্স.টেষ্ট (ইন্টার্ন) তারপর" এর পরিবর্তে "যদি না তবে ইন্টার্ন লাইক" ইন্টার্ন : "তারপরে" ব্যবহার করুন। আমি আমার উত্তরটি সম্পাদনা করেছি, দয়া করে একবার দেখুন।
ডুডে

কোডটি আপনার সম্পাদনার জন্য ধন্যবাদ। যাইহোক আমি লম্বা লিংকটির দিকে ইঙ্গিত করে কমপ্লিট কোডটি পারছি না নতুন রেজিএক্সপ
মারিও

সম্ভবত কিছু নির্ভরতা অনুপস্থিত। সরঞ্জামগুলিতে যান -> তথ্যসূত্র -> "মাইক্রোসফ্ট
ভিবিএস স্ক্রিপ্ট

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