আমি ভিবিএতে নতুন এবং আমি জানতে চাইছি যে আমি নিম্নলিখিত ঘোষণা এবং অ্যাসাইনমেন্টটিকে এক লাইনে রূপান্তর করতে পারি:
Dim clientToTest As String
clientToTest = clientsToTest(i)
অথবা
Dim clientString As Variant
clientString = Split(clientToTest)
আমি ভিবিএতে নতুন এবং আমি জানতে চাইছি যে আমি নিম্নলিখিত ঘোষণা এবং অ্যাসাইনমেন্টটিকে এক লাইনে রূপান্তর করতে পারি:
Dim clientToTest As String
clientToTest = clientsToTest(i)
অথবা
Dim clientString As Variant
clientString = Split(clientToTest)
উত্তর:
দুর্ভাগ্যক্রমে ভিবিএতে কোনও সংক্ষিপ্ত বিবরণ নেই, আপনি সবচেয়ে নিকটবর্তী হয়ে যাবেন :
ধারাবাহিকতা চরিত্রটি ব্যবহার করে খাঁটি দর্শনীয় জিনিস যদি আপনি এটি পড়ার জন্য এক লাইনে চান;
Dim clientToTest As String: clientToTest = clientsToTest(i)
Dim clientString As Variant: clientString = Split(clientToTest)
ইঙ্গিত (অন্যান্য উত্তর / মন্তব্যগুলির সংক্ষিপ্তসার): অবজেক্টের সাথেও কাজ করে (এক্সেল 2010):
Dim ws As Worksheet: Set ws = ActiveWorkbook.Worksheets("Sheet1")
Dim ws2 As New Worksheet: ws2.Name = "test"
আপনি নিচের মত, অবজেক্টের সাহায্যে সকার্ট-এ করতে পারেন।
Dim w As New Widget
তবে স্ট্রিং বা ভেরিয়েন্টের সাথে নয়।
:
। কিছু সীমাবদ্ধতা রয়েছে কারণ আপনার একই লাইনে একাধিক মান ঘোষণাপত্র (যেমন var1 = val1: var2 = val2
) নাও থাকতে পারে । এটি স্পষ্টত বিগ আউট হবে এবং আপনাকে কখনও কখনও এই ধরণের অ্যাসাইনমেন্টটি করার অনুমতি দেয় তবে পুরোপুরি হিসাবে এই স্বরলিপি দ্বারা প্রস্তাবিত নয়।
Dim x As New T
বাক্য গঠন যা কেবলমাত্র বস্তুগুলির সাথে কাজ করে।
dim str as String: str = "value"
এবং dim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
উভয় বার বার কাজ। যদিও, আমি যদি কোনও অবজেক্ট ইনস্ট্যান্টেশন করি dim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
তবে ভিবিএতে অন্য কোনও অবৈধ ক্রিয়াকলাপের মতো ত্রুটি হবে।
New
শব্দ না। আমি এটাই বলছি।
আসলে, আপনি পারেন, কিন্তু না।
Sub MySub( Optional Byval Counter as Long=1 , Optional Byval Events as Boolean= True)
'code...
End Sub
সাবটি কল করার সময় আপনি ভেরিয়েবলগুলি আলাদাভাবে সেট করতে পারেন বা তাদের ডিফল্ট মানগুলিতে রেখে দিন।
কিছু ক্ষেত্রে পরিবর্তনশীল ঘোষণার পুরো প্রয়োজনটি With
বিবৃতি ব্যবহার করে এড়ানো যায় ।
উদাহরণ স্বরূপ,
Dim fd As Office.FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
If fd.Show Then
'use fd.SelectedItems(1)
End If
এই হিসাবে আবার লিখতে পারেন
With Application.FileDialog(msoFileDialogSaveAs)
If .Show Then
'use .SelectedItems(1)
End If
End With
নীচে এক লাইনে দেখানো হিসাবে আপনি সংজ্ঞা নির্ধারণ করতে এবং নির্ধারণ করতে পারেন। আমি ঘোষিত এবং একক লাইনে নির্ধারিত দুটি ভেরিয়েবলের উদাহরণ দিয়েছি। যদি একাধিক ভেরিয়েবলের ডাটা টাইপ একই হয়
Dim recordStart, recordEnd As Integer: recordStart = 935: recordEnd = 946