利用ADO連接EXCEL,並進行數據運算

2021-01-12 VBA語言專家

大家好,今日繼續講解VBA資料庫解決方案的第34講,這講的內容是利用ADO連接EXCEL,並進行數據運算。為什麼要講解這講的內容呢?因為我們在實際的工作中,往往需要的是連接上EXCEL後提取的數據並不是原始的數據所直接給出的,往往要進行一些簡單的運算,而我們所關心的其實只是運算後的結果,不關心運算的過程。

那麼,在使用ADO連接上EXCEL後,如何讓數據參與運算並返回我們所需要的值呢?今日我們就來講解這個內容。

實例: 15年.xlsx 文件中的第二頁中有銷售數量和銷售單價兩個數值,我們要提取的值是兩者的乘積,如下截圖

我們看代碼:

Sub mynzexcels_3()

'第34講,利用ADO,實現EXCEL工作表某兩列數據的數據計算

Dim cnADO, rsADO As Object

Dim strPath, strTable, strSQL As String

Set cnADO = CreateObject("ADODB.Connection")

strPath = ThisWorkbook.Path & "\" & "15年.xlsx"

strTable = "[sheet2$a2:b2]"

'建立連接,提取A2B2單元格的數據

cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 8.0;hdr=no;imex=1';data source=" & strPath

strSQL = "select F1*F2 from " & strTable

Cells.Clear

[a1].CopyFromRecordset cnADO.Execute(strSQL)

cnADO.Close

Set cnADO = Nothing

End Sub

代碼截圖:

代碼講解:

1 strTable = "[sheet2$a2:b2]" 此處定義了數據表的範圍為[sheet2] 工作表的A2到B2的單元格

2 strSQL = "select F1*F2 from " & strTable 此處直接定義了F1 和F2 相乘

3 [a1].CopyFromRecordset cnADO.Execute(strSQL) 最後將所得的值放在A1 單元格。

下面我們運行一下程序:

這樣就實現了我們的目的,在連接EXCEL的同時進行數據的計算,並返回計算的結果。當然,我這裡只是給出了一個最為簡單的例子,在實際工作中實際問題要遠遠比這個要複雜,但只要你掌握到了基本的方法,是能夠處理複雜問題的。

今日內容回向:

1 如何實現在連接EXCEL的同時實現數據的計算?

2 如果是多個計算結果該如何返回呢?

相關焦點

  • 利用ADO連接EXCEL,並實現數據複雜計算
    大家好,今日我們繼續VBA與資料庫的學習,最近的講解是ADO與EXCEL的連接,從而實現許多方便快捷的操作,這裡的EXCEL是作為資料庫應用的,在本書資料庫的講解中,連接詳細講解的就只有accdb資料庫和excel資料庫了,兩者各有不同,對於EXCEL而言是非常大眾化的數據處理軟體,利用的非常廣泛,而accdb資料庫是一個專門的資料庫。
  • 利用ADO連接EXCEL,提取固定位置(行或者單元格)的數據
    大家好,我們繼續VBA資料庫解決方案的學習,今天講解第33講:利用ADO連接EXCEL,提取固定位置(行或者單元格)的數據。在上一講中我們學習了ADO連接EXCEL後,實現提取列數據的方法,但很多的時候,必要的數據並不是在整列中的,也有可能在行或者某單元格的固定位置,這個時候要如何處理呢?這個內容就是我今天要講解的內容。
  • Excel如何批量對多個單元格的數據進行運算?
    excel中可以使用選擇性粘貼對多個單元格的數據進行批量計算,一起來看看吧。1.我們要將基本工資這一列的數據都加上五百。4.複製單元格,然後將所有的數據刷黑。5.滑鼠右鍵——選擇性粘貼。6.選擇數值粘貼,然後運算選擇加號。7.點擊確定之後,所有選中的數值都加上了五百。
  • 如何通過ADO接口連接資料庫
    在關鍵的應用方案中使用最少的網絡流量,並且在前端和數據源之間使用最少的層數,所以這些都是為了提供輕量、高性能接口。那麼如何實現ADO連接資料庫呢?如果對你有幫助的話,幫忙推薦同學朋友關注公眾號,是小編最好的支持具體過程:首先需要一個ODBC數據源。
  • 利用ADO,實現同一文件夾下多個EXCEL工作表的數據匯總
    大家好,今天繼續講解《VBA資料庫解決方案》,今日講解的是第37講,利用ADO,實現同一文件夾下多個EXCEL工作表的數據匯總。最近的內容實用性比較強,如今日的內容,只把需要匯總的EXCEL文件放在同一個文件夾下,而且格式一致,那麼利用ADO匯總這幾個文件的數據是非常快的,這講的內容和第32講的內容是類似的,不過第32講的內容是要事先知道文件的名稱,然後建立一個數組來分別對應每個文件,通過循環來實現從每個文件中提取數據的目的,本講的內容是事先不知道每個文件的名稱。
  • 用ADO,實現EXCEL多個工作表數據的匯總
    大家好,今日我們繼續講解VBA資料庫解決方案,今日講解第35講:利用ADO,實現EXCEL多個工作表數據的匯總。在前幾講中,我們講了用ADO連接EXCEL實現一些便捷操作的方法,其實,這些操作中是把EXCEL作為一種特殊的資料庫來對應的,我們在實際工作中面臨的實際情況多種多樣,要實現特殊的操作有時要組合利用一些基本的方法。
  • aspnet中的ado.net模塊(基礎入門7)
    內容回顧在上幾節內容中,我們學習了asp.net連接資料庫,並執行資料庫的查詢以及刪除操作。在學習的同時,我們也著重講解了asp.net連接MSSQL資料庫的連接字符串,對連接字符串中的內容進行了詳細的說明。
  • 利用ADO,實現多數據在工作表間查詢的方法
    大家好,今日繼續講解VBA資料庫解決方案,今日內容是利用ADO實現兩個工作表間的查詢。在VBA的應用中,我一直在推崇的是VBA實現數據處理的自動化,也在不同的章節中講如何利用VBA進行數據的自動處理。在數據處理中,查詢一直是一大塊的內容,在工作表中,我們可以應用的方法有:查找CTRL+F,篩選,定位,進而有工作表函數LOOKUP;如果您已經上手了VBA,查找就變的非常簡單了,有多個方案可以利用,有單元格的直接判斷,有FIND,FINDNEXT等系列的方案。今日我們講的內容和以往有所不同,是利用ADO及SQL語句來實現的查找。
  • excel使用模擬運算對商品銷售中的單變量進行計算
    excel使用模擬運算對商品銷售中的單變量進行計算在數據計算中,用戶根據一組假設數據得出相應的結果值,或者按照不同的變量計算出結果值,可以使用模擬運算方法,比如在計算一組數據中,有一些變量可以直接給出數據,而有些數據值,必須通過計算才能得出,例如,已知商品進價為23元,數量為500
  • 怎樣利用excel表格及CMD命令對文件進行批量重命名
    於是,心血來潮的我,想對這些文件進行一次批量重命名,正是在這樣欲望的驅使下,利用excel表格及CMD命令對文件進行批量重命名的神奇操作就開始了。操作步驟來了,如果你耐心的看下去,一定會有一種「緣,妙不可言」的感覺。
  • excel數學運算函數:表格中積商和餘數的處理方法
    想起以前還在讀書那會兒,總是被數學中的各種乘方、餘數、積、商折騰得頭痛,而這些令我們為難的問題,放在excel中,卻不值一提。今天我們就來學習一下excel中關於「積」和「商」的數學函數,趕緊來看看吧!
  • excel中公式的逆運算問題——單變量求解輕鬆解決
    在excel中,單變量求解可以根據一定的公式運算結果,倒推出變量。相當於對公式進行逆運算。比如輸入公式=(1+0.4%)^12-1,可以直接算出結果約為4.91%。如果給定計算結果是5.4%,其他條件不變,求指數為多少?使用單變量求解可輕鬆算出指數約為13.18。
  • excel VS python 誰更適合數據分析?
    我常常會聽到這樣的問題,「金融分析中,為什麼我要學習像python這樣的程式語言,甚至使用它超過excel呢?」在金融領域,python成為炙手可熱的分析工具,這幾乎已經成為共識。面對excel和python,誰更適合數據分析,也確實一直被大家討論。excel VS pythonexcel不用多做介紹,辦公必備的表格工具。
  • excel中利用Ctrl加T生成的超級表進行數據分析與處理
    大家好,在excel操作中,ctrl+T是容易被忽略卻又十分強大的一個功能。簡單地說,ctrl+T是基於普通表格生成的「超級表」,是普通表格的功能的延伸擴展,在某些方面擁有了數據透視表的功能。ctrl+T生成的「超級表」相對於普通表格,更加智能化:相對於數據透視表,更加具有簡潔性,下面就ctrl+T生成的表格做一個簡單的介紹。對於普通表格,直接按下ctrl+T就可能生成」超級表「,並且會在主選項卡生成一個設計的表格工具,我們可以利用設計中的功能進行圖片美化、刪除重複值等操作(如下圖),也可利用切片器和數據透視表等分析圖表。
  • 利用DAO與ADO,VBA與Access資料庫相連接
    VBA可以訪問的資料庫類型有Microsoft access、dBase、Microsoft SQLServer、Oracle 等,這給VBA的利用範圍得到擴展。我們的講解主要是VBA與Access資料庫的連接方式,這種連接是大多數的應用。
  • excel函數公式大全之利用SUM函數與RANK函數的組合對數值進行排名
    excel函數公式大全之利用SUM函數與RANK函數的組合對數值進行排名,excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數SUM函數與RANK函數。對於SUM函數大家在熟悉不過了,我們就不在做過多的講解。
  • excel中數據透視表的應用——如何利用分組功能進行數據統計?
    在excel中,數據透視表是一個比較簡單而又十分強大的功能,分組算是數據透視表中經典應用了,下面就給大家介紹一下分組功能在數據透視表中的作用吧。一、建立數據透視表。建立數據透視表大部分朋友習慣從插入選項卡中創建,或者一次按alt、D、P鍵利用數據透視表嚮導創建,其實還有一種比較簡單的方法,就是利用ctrl+Q中的表格功能建立數據透視表。這種方法除了創建空白數據透視表,還推薦了幾個數據透視表樣式。操作步驟:滑鼠定位到區域內的任一單元格,然後ctrl+Q——選擇表格——其他——空白數據透視表即可建立新的數據透視表。
  • excel不改變數據位置進行排序,rank函數可以幫到你
    我們在實際工作中,當我們使用excel表格處理大量數據的時候,有時候我們需要對數據進行排序,數據排序我們通常會使用到excel自帶的排序工具,這個工具方便快捷,但是使用排序工具對數據進行排序,會改變數據的位置,假如我們不想打亂數據的位置,又想對數據的大小進行排序操作,我們該如何處理
  • excel數據分析技巧:藉助模擬運算表,制定最佳營銷決策
    第一步:建立初始運算表任意選取一組自變量組合,在Excel搭建出結果值的計算過程,算是建立了變量與結果的聯繫。本例中,自變量是折扣率和引流費增加率,自變量組合就是不同折扣率和不同引流費增加率,結果即利潤額。利潤簡表即初始運算表。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • 用python寫身高體重關係,excel表格輸入數據進行查找
    Pandas 納入了大量庫和一些標準的數據模型,提供了高效地操作大型數據集所需的工具。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。通過 Matplotlib,開發者可以僅需要幾行代碼,便可以生成繪圖import numpy as np#NumPy(Numerical Python) 是 Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。