কম্পিউটার টিউটোরিয়াল

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

পদ্ধতি 1 – ওয়েবসাইট থেকে এক্সেল VBA MsgBox-এ নির্দিষ্ট ডেটা আমদানি করুন

পদক্ষেপ:

  • ডেভেলপার -এ যান রিবন থেকে ট্যাব।
  • ভিজ্যুয়াল বেসিক-এ ক্লিক করুন কোড থেকে ভিজ্যুয়াল বেসিক সম্পাদক খুলতে বিভাগ . অথবা ALT টিপুন +F11 ভিজ্যুয়াল বেসিক এডিটর খুলতে .

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

  • এটি একটি মডিউল তৈরি করবে আপনার ওয়ার্কবুকে।
  • 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 টিপে .

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

এই লাইনের সাহায্যে, আমরা ওয়েবপেজের নির্দিষ্ট উপাদানগুলির মোট পাব। আমাদের ক্লাসের নাম পেতে হবে। সেই নির্দিষ্ট উপাদানের ক্লাস নাম পেতে, আমাদের সহজ নির্দেশাবলী অনুসরণ করতে হবে।

  • ওয়েবসাইট এ যান এবং ডান-ক্লিক করুন সেই নির্দিষ্ট ব্লকে।
  • তারপর, পরিদর্শন করুন এ ক্লিক করুন .

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

MsgBox total

এটি একটি Microsoft এ মোট দেখাবে৷ উইন্ডো।

End Sub

এটি প্রক্রিয়াটি শেষ করবে৷

পদ্ধতি 2 – ওয়েবসাইট থেকে এক্সেলে ডেটা স্ক্র্যাপ করুন

পদক্ষেপ:

  • ছোট আইকনে ক্লিক করুন যা রেকর্ড করুন ম্যাক্রো .

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

  • রিবন খুলুন এবং ডেভেলপার বেছে নিন ড্রপ-ডাউন মেনু থেকে।
  • ভিজ্যুয়াল বেসিক নির্বাচন করুন ভিজ্যুয়াল বেসিক এডিটর খুলতে . অথবা, ভিজ্যুয়াল বেসিক সম্পাদক 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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

  • এটি স্বয়ংক্রিয় ম্যাক্রো কোড।

এক্সেলে ডেটা ট্যাব ব্যবহার করে কীভাবে ওয়েব ডেটা আমদানি করবেন

পদক্ষেপ:

  • URL রাখুন সেলে C4 আমাদের আমদানি ডেটা ওয়ার্কশীটে।
  • URL অনুলিপি করুন CTRL টিপে +C .

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

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

অনায়াসে ডেটা স্থানান্তর:ওয়েবসাইটের ডেটা এক্সেলে টেনে আনতে 2টি প্রমাণিত VBA পদ্ধতি

অভ্যাস ওয়ার্কবুক ডাউনলোড করুন

আপনি ওয়ার্কবুক ডাউনলোড করতে পারেন এবং তাদের সাথে অনুশীলন করতে পারেন।

সম্পর্কিত প্রবন্ধ

  • Excel VBA:Chrome এর সাথে ওয়েব স্ক্র্যাপিং
  • ওয়েবসাইট থেকে টেবিল স্ক্র্যাপ করতে এক্সেল VBA
  • এক্সেল VBA দিয়ে ব্রাউজার ছাড়াই কিভাবে ওয়েব স্ক্র্যাপিং করবেন
সমাধান সহ বিনামূল্যে উন্নত এক্সেল ব্যায়াম পান!
  1. ডেস্কটপ এবং ওয়েবের জন্য মাইক্রোসফ্ট টিমগুলিতে কীভাবে কাস্টম ট্যাব তৈরি করবেন

  2. এক্সেলে অফসেট ফাংশনের ব্যবহার [অফসেট – ম্যাচ কম্বো, ডায়নামিক রেঞ্জ]

  3. অ্যান্ড্রয়েডে আউটলুকের জন্য দ্রুত সমাধান:সিঙ্ক সমাধান করুন এবং সমস্যাগুলি দ্রুত পাঠান৷

  4. মোবাইল পিক্সেল ডুয়েক্স ম্যাক্স পোর্টেবল মনিটর পর্যালোচনা:দূরবর্তী কাজের উত্পাদনশীলতা বৃদ্ধি করুন