विधि 1 - वेबसाइट से विशिष्ट डेटा को एक्सेल VBA MsgBox में आयात करें
चरण:
- रिबन से डेवलपर टैब पर जाएं।
- कोड श्रेणी से विजुअल बेसिक पर क्लिक करके विजुअल बेसिक एडिटर खोलें। या ALT+F11 दबाकर विजुअल बेसिक एडिटर खोलें।

- यह विजुअल बेसिक एडिटर में दिखाई देगा।
- टूल्स मेनू पर जाएं और रेफरेंस पर क्लिक करें।

- रेफरेंस - VBAProject डायलॉग बॉक्स दिखाई देगा।
- थोड़ा नीचे स्क्रॉल करें और दो माइक्रोसॉफ्ट लाइब्रेरी सक्षम करें। माइक्रोसॉफ्ट HTML ऑब्जेक्ट लाइब्रेरी और माइक्रोसॉफ्ट इंटरनेट कंट्रोल्स चेक मार्क करें।
- ओके क्लिक करें।

- इन्सर्ट ड्रॉप-डाउन मेनू बार से मॉड्यूल पर क्लिक करें।

- यह आपकी वर्कबुक में एक मॉड्यूल बनाएगा।
- नीचे दिखाए गए 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
- RunSub बटन पर क्लिक करके या कीबोर्ड शॉर्टकट F5 दबाकर कोड चलाएं।

- यह वेबसाइट से डेटा लाएगा और उस डेटा को MsgBox में दिखाएगा।

VBA कोड व्याख्या
Sub Import_SpecificData()
Sub कोड का एक हिस्सा है जिसका उपयोग कोड में काम को संभालने के लिए किया जाता है लेकिन कोई मान वापस नहीं करेगा। इसे सबप्रोसीजर के रूप में भी जाना जाता है। हमने अपनी प्रक्रिया का नाम Import_SpecificData() रखा।
Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim total As Variant
VBA में DIM स्टेटमेंट "घोषित करें" को संदर्भित करता है, जिसका उपयोग वेरिएबल घोषित करने के लिए किया जाना चाहिए।
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
यह माइक्रोसॉफ्ट विंडो में कुल दिखाएगा।
End Sub
यह प्रक्रिया समाप्त करेगा।
विधि 2 - वेबसाइट से डेटा स्क्रैप करके एक्सेल में लाएं
चरण:
- उस छोटे आइकन पर क्लिक करें जो रिकॉर्ड मैक्रो करता है।

- रिकॉर्ड मैक्रो डायलॉग दिखाई देगा।
- मैक्रो को एक नाम दें। हम मैक्रो का नाम Get_Data रखते हैं।
- ओके क्लिक करें।

- डेटा टैब पर जाएं रिबन से।
- प्राप्त करें और रूपांतरित करें डेटा के तहत वेब से पर क्लिक करें।

- वेब से विंडो दिखाई देगी।
- अपने कीबोर्ड पर CTRL+V दबाकर URL को URL क्षेत्र में पेस्ट करें बेसिक चुनने के बाद।
- ओके बटन दबाएं।

- परिणामस्वरूप नेविगेटर डायलॉग बॉक्स दिखाई देगा।
- प्रदर्शन विकल्प मेनू से कोई भी डेटा टेबल चुनें जो आपकी आवश्यकताओं के अनुरूप हो।
- "लोड टू" चुनें।

- डेटा आयात डायलॉग दिखाई देगा।
- "आप इस डेटा को अपनी वर्कबुक में कैसे देखना चाहते हैं?" से टेबल चुनें और मौजूदा वर्कशीट पर क्लिक करें।
- वह सेल चुनें जहां आप डेटा आयात करना चाहते हैं।
- ओके क्लिक करें।

- यह वेबसाइट से डेटा आयात करेगा।

- पूरी वर्कशीट चुनें और हटाएं बटन पर क्लिक करें, माइक्रोसॉफ्ट एक्सेल डायलॉग दिखाई देगा। सुनिश्चित करें कि आप नहीं पर क्लिक करते हैं।

- यह सभी डेटा को हटा देगा।
- रिबन से डेटा पर जाएं और क्वेरीज़ और कनेक्शन के तहत सभी रिफ्रेश करें पर क्लिक करें।
- वर्कशीट में सभी डेटा वापस प्राप्त करें।

- रिबन खोलें और ड्रॉप-डाउन मेनू से डेवलपर चुनें।
- विजुअल बेसिक चुनकर विजुअल बेसिक एडिटर खोलें। या, विजुअल बेसिक एडिटर को 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

- यह स्वचालित मैक्रो कोड है।
एक्सेल में डेटा टैब का उपयोग करके वेब डेटा कैसे आयात करें
चरण:
- अपने आयात डेटा वर्कशीट में सेल C4 में URL रखें।
- CTRL+C दबाकर URL कॉपी करें।

- डेटा टैब पर जाएं रिबन से।
- प्राप्त करें और रूपांतरित करें डेटा के तहत वेब से पर क्लिक करें।

- वेब से नामक एक विंडो दिखाई देगी।
- बेसिक चुनें और URL फ़ील्ड में, अपने कीबोर्ड से CTRL+V दबाकर URL पेस्ट करें।
- ओके बटन पर क्लिक करें।

- यह नेविगेटर डायलॉग बॉक्स प्रदर्शित करेगा।
- प्रदर्शन विकल्प से अपनी आवश्यकताओं के अनुसार कोई भी डेटा टेबल चुनें।
- लोड पर क्लिक करें।

- यह उस वेबसाइट से चयनित डेटा आयात करेगा और इसे आपकी एक्सेल फाइल में लोड करेगा।

अभ्यास वर्कबुक डाउनलोड करें
आप वर्कबुक डाउनलोड कर सकते हैं और उनके साथ अभ्यास कर सकते हैं।
संबंधित लेख
- एक्सेल VBA: क्रोम के साथ वेब स्क्रैपिंग
- वेबसाइट से टेबल स्क्रैप करने के लिए एक्सेल VBA
- ब्राउज़र के बिना वेब स्क्रैपिंग कैसे करें एक्सेल VBA के साथ
मुफ्त उन्नत एक्सेल अभ्यास समाधान के साथ प्राप्त करें!