পদ্ধতি 1 – ওয়েবসাইট থেকে এক্সেল VBA MsgBox-এ নির্দিষ্ট ডেটা আমদানি করুন
পদক্ষেপ:
- ডেভেলপার -এ যান রিবন থেকে ট্যাব।
- ভিজ্যুয়াল বেসিক-এ ক্লিক করুন কোড থেকে ভিজ্যুয়াল বেসিক সম্পাদক খুলতে বিভাগ . অথবা ALT টিপুন +F11 ভিজ্যুয়াল বেসিক এডিটর খুলতে .

- এটি ভিজ্যুয়াল বেসিক এডিটরে প্রদর্শিত হবে .
- সরঞ্জাম-এ যান মেনু এবং রেফারেন্স-এ ক্লিক করুন .

- রেফারেন্স - VBAProject ডায়ালগ বক্স আসবে।
- একটু নিচে স্ক্রোল করুন এবং দুটি Microsoft সক্ষম করুন লাইব্রেরি . চেক মার্ক Microsoft HTML অবজেক্ট লাইব্রেরি এবং Microsoft ইন্টারনেট কন্ট্রোল .
- ঠিক আছে ক্লিক করুন .

- মডিউল -এ ক্লিক করুন ঢোকান থেকে ড্রপ-ডাউন মেনু বার।

- এটি একটি মডিউল তৈরি করবে আপনার ওয়ার্কবুকে।
- VBA কপি এবং পেস্ট করুন কোড নিচে দেখানো হয়েছে।
VBA কোড:
Sub Import_SpecificData()
Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim total As Variant
website = "https://en.wikipedia.org/wiki/2022_FIFA_World_Cup"
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "GET", website, False
request.setRequestHeader "If-Modified-Since", "Mon, 14 Nov 2022 00:00:00 GMT"
request.send
response = StrConv(request.responseBody, vbUnicode)
html.body.innerHTML = response
total = html.getElementsByClassName("wikitable")(0).innerText
MsgBox total
End Sub - RubSub ক্লিক করে কোডটি চালান বোতাম বা কীবোর্ড শর্টকাট F5 টিপে .

- এটি ওয়েবসাইট থেকে ডেটা আমদানি করবে এবং একটি MsgBox-এ দেখাবে। .

VBA কোড ব্যাখ্যা
Sub Import_SpecificData() সাব কোডের একটি অংশ যা কোডে কাজ পরিচালনা করতে ব্যবহৃত হয় কিন্তু কোনো মান ফেরত দেয় না। এটি উপপ্রক্রিয়া হিসেবেও পরিচিত। আমরা আমাদের পদ্ধতির নাম দিয়েছি Import_SpecificData() .
Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim total As Variant DIM VBA-এ বিবৃতি বোঝায় “ঘোষণা করুন, যা একটি পরিবর্তনশীল ঘোষণা করতে ব্যবহার করা আবশ্যক।
website = "https://en.wikipedia.org/wiki/2022_FIFA_World_Cup"
Set request = CreateObject("MSXML2.XMLHTTP") এটি একটি বস্তু তৈরি করবে যা ওয়েবপৃষ্ঠার অনুরোধ করবে৷
৷request.Open "GET", website, False এই ব্লক থেকে আমরা জানব কোথায় যেতে হবে এবং কিভাবে সেখানে যেতে হবে। আপনাকে লাইনটি পরিবর্তন করতে হবে না, আপনি যেকোনো ওয়েবসাইট থেকে যেকোনো ধরণের ডেটা আমদানি করার সময় সরাসরি এই লাইনটি অনুলিপি করতে পারেন।
request.setRequestHeader "If-Modified-Since", "Mon, 14 Nov 2022 00:00:00 GMT" আমরা আমাদের ওয়েবসাইট থেকে নতুন তথ্য পাব।
request.send এই লাইনটি ওয়েবপেজে অনুরোধ পাঠায়।
response = StrConv(request.responseBody, vbUnicode) আমরা ওয়েবপৃষ্ঠার প্রতিক্রিয়া ডেটা ভেরিয়েবলে পাই৷
৷html.body.innerHTML = response কোডের লাইনটি ডেটা রেফারেন্স সহজ করতে ওয়েবপৃষ্ঠাটিকে একটি HTML অবজেক্টে রাখে।
total = html.getElementsByClassName("wikitable")(0).innerText এই লাইনের সাহায্যে, আমরা ওয়েবপেজের নির্দিষ্ট উপাদানগুলির মোট পাব। আমাদের ক্লাসের নাম পেতে হবে। সেই নির্দিষ্ট উপাদানের ক্লাস নাম পেতে, আমাদের সহজ নির্দেশাবলী অনুসরণ করতে হবে।
- ওয়েবসাইট এ যান এবং ডান-ক্লিক করুন সেই নির্দিষ্ট ব্লকে।
- তারপর, পরিদর্শন করুন এ ক্লিক করুন .

- এটি HTML প্রদর্শন করবে এবং CSS যে ওয়েবসাইটের উপাদান। আপনাকে যে ক্লাসটি নিতে হবে সেটিতে ক্লিক করুন এবং সেগুলি html.getElementsByClassName(“wikitable”) এর ভিতরে রাখুন .

MsgBox total এটি একটি Microsoft এ মোট দেখাবে৷ উইন্ডো।
End Sub এটি প্রক্রিয়াটি শেষ করবে৷
পদ্ধতি 2 – ওয়েবসাইট থেকে এক্সেলে ডেটা স্ক্র্যাপ করুন
পদক্ষেপ:
- ছোট আইকনে ক্লিক করুন যা রেকর্ড করুন ম্যাক্রো .

- রেকর্ড ম্যাক্রো ডায়ালগ প্রদর্শিত হবে।
- ম্যাক্রোর একটি নাম দিন। আমরা ম্যাক্রো নাম দিই Get_Data .
- ঠিক আছে ক্লিক করুন .

- ডেটা-এ যান রিবন থেকে ট্যাব।
- ওয়েব থেকে ক্লিক করুন Get &Transform Data-এর অধীনে .

- ওয়েব থেকে উইন্ডো দেখাবে।
- CTRL ক্লিক করে +V আপনার কীবোর্ডে, URL আটকান URL-এ বেসিক বেছে নেওয়ার পরে এলাকা .
- ঠিক আছে টিপুন বোতাম।

- নেভিগেটর এর ফলে ডায়ালগ বক্স আসবে।
- ডিসপ্লে অপশন থেকে যেকোনো ডেটা টেবিল বেছে নিন আপনার প্রয়োজন অনুসারে মেনু।
- "এতে লোড করুন নির্বাচন করুন৷ ।"

- ডাটা আমদানি করুন ডায়ালগ দেখাবে।
- টেবিল নির্বাচন করুন “আপনার ওয়ার্কবুকে আপনি কীভাবে এই ডেটা দেখতে চান তা নির্বাচন করুন৷৷ ” এবং বিদ্যমান ওয়ার্কশীট-এ ক্লিক করুন .
- সেলটি বেছে নিন যেখানে আপনি ডেটা আমদানি করতে চান৷ ৷
- ঠিক আছে ক্লিক করুন .

- এটি ওয়েবসাইট থেকে ডেটা আমদানি করবে।

- পুরো ওয়ার্কশীটটি নির্বাচন করুন এবং মুছুন ক্লিক করুন৷ বোতাম, Microsoft এক্সেল ডায়ালগ প্রদর্শিত হবে। নিশ্চিত করুন যে আপনি না ক্লিক করুন৷ .

- এটি মুছে ফেলবে সমস্ত ডেটা।
- ডেটা এ যান রিবন থেকে এবং সব রিফ্রেশ করুন ক্লিক করুন৷ কোয়েরি এবং সংযোগ এর অধীনে .
- ওয়ার্কশীটে সমস্ত ডেটা ফিরে পান৷ ৷

- রিবন খুলুন এবং ডেভেলপার বেছে নিন ড্রপ-ডাউন মেনু থেকে।
- ভিজ্যুয়াল বেসিক নির্বাচন করুন ভিজ্যুয়াল বেসিক এডিটর খুলতে . অথবা, ভিজ্যুয়াল বেসিক সম্পাদক ALT টিপেও অ্যাক্সেস করা যেতে পারে +F11 .
- মডিউলে , আপনি VBA ম্যাক্রো পাবেন সেখানে।
VBA কোড:
Option Explicit
Sub Get_Data()
'
' Get_Data Macro
'
'
Sheets("Get Data").Select
Range("N11").Select
ActiveWorkbook.Queries.Add Name:="2022 FIFA bidding (majority 12 votes)", _
Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://en.wikipedia.org/wiki/2022_FIFA_World_Cup""))," & Chr(13) _
& "" & Chr(10) & " Data1 = Source{1}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes (Data1,{{""Bidders"", type text}, {""Votes Round 1"", type text}, {""Votes Round 2"", type text}, {""Votes Round 3"", type text}, {""Votes Round 4"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Changed Type"""
Workbooks("Import Data from Website .xlsm").Connections.Add2 _
"Query - 2022 FIFA bidding (majority 12 votes)", _
"Connection to the '2022 FIFA bidding (majority 12 votes)' query in the workbook." _
, Array( _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""2022 FIFA bidding (majority 12 votes)"";Extended Properties=""""" _
, ""), "SELECT * FROM [2022 FIFA bidding (majority 12 votes)]", 2
Application.CommandBars("Queries and Connections").Visible = False
ActiveWorkbook.Queries.Add Name:="2022 FIFA bidding (majority 12 votes) (2)" _
, Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://en.wikipedia.org/wiki/2022_FIFA_World_Cup""))," & Chr(13) & "" & Chr(10) & " Data1 = Source{1}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(Data1,{{""Bidders"", type text}, {""Votes Round 1"", type text}, {""Votes Round 2"", type text}, {""Votes Round 3"", type text}, {""Votes Round 4"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Changed Type"""
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""2022 FIFA bidding (majority 12 votes) (2)"";Extended Propertie" _
, "s="""""), Destination:=Range("$B$2")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT * FROM [2022 FIFA bidding (majority 12 votes) (2)]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "_2022_FIFA_bidding__majority_12_votes___2"
.Refresh BackgroundQuery:=False
End With
Columns("A:A").ColumnWidth = 2.86
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Columns("G:G").ColumnWidth = 12
Range("M26").Select
Application.CommandBars("Queries and Connections").Visible = False
Cells.Select
Selection.ListObject.QueryTable.Delete
Selection.ClearContents
Range("B2:F9").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("B2").Select
End Sub

- এটি স্বয়ংক্রিয় ম্যাক্রো কোড।
এক্সেলে ডেটা ট্যাব ব্যবহার করে কীভাবে ওয়েব ডেটা আমদানি করবেন
পদক্ষেপ:
- URL রাখুন সেলে C4 আমাদের আমদানি ডেটা ওয়ার্কশীটে।
- URL অনুলিপি করুন CTRL টিপে +C .

- ডেটা-এ যান রিবন থেকে ট্যাব।
- ওয়েব থেকে ক্লিক করুন Get &Transform Data-এর অধীনে .

- ওয়েব থেকে নামের একটি উইন্ডো প্রদর্শিত হবে।
- মৌলিক নির্বাচন করুন এবং URL-এ ক্ষেত্র, URL আটকান CTRL টিপে +V আপনার কীবোর্ড থেকে।
- ঠিক আছে-এ ক্লিক করুন বোতাম।

- এটি নেভিগেটর প্রদর্শন করবে ডায়ালগ বক্স।
- ডিসপ্লে অপশন থেকে আপনার প্রয়োজনীয়তা অনুযায়ী যেকোনো ডেটা টেবিল নির্বাচন করুন .
- লোড-এ ক্লিক করুন .

- এটি সেই ওয়েবসাইট থেকে নির্বাচিত ডেটা আমদানি করবে এবং আপনার এক্সেল ফাইলে লোড করবে।

অভ্যাস ওয়ার্কবুক ডাউনলোড করুন
আপনি ওয়ার্কবুক ডাউনলোড করতে পারেন এবং তাদের সাথে অনুশীলন করতে পারেন।
সম্পর্কিত প্রবন্ধ
- Excel VBA:Chrome এর সাথে ওয়েব স্ক্র্যাপিং
- ওয়েবসাইট থেকে টেবিল স্ক্র্যাপ করতে এক্সেল VBA
- এক্সেল VBA দিয়ে ব্রাউজার ছাড়াই কিভাবে ওয়েব স্ক্র্যাপিং করবেন