九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
EXCEL日報自動化_2

建立“通報正文”表

整理好“數(shù)據(jù)源”表與“數(shù)據(jù)轉(zhuǎn)化”表后,接下來就該把每條通報正文與圖表一一對應起來,按事先擬定的分析框架進行整理。

① 新建一張工作表,并命名為“日報正文”。

② 在A1單元格處輸入通報標題,合并A1:H1單元格,并設置字體大小及排版居中。

③ 添加日期下拉輸入控件,可直接復制“數(shù)據(jù)轉(zhuǎn)化”表中已設置好的下拉控件。

④ 輸入、設置通報正文,例如在B4單元格輸入“一、用戶規(guī)?!保贐5單元格輸入“=數(shù)據(jù)轉(zhuǎn)化!I18”,將新增用戶數(shù)的柱形圖復制到B5單元格所在行的下方,圖表數(shù)據(jù)會隨原圖表數(shù)據(jù)的更新而更新。其他通報正文設置亦同此理,我就不再重復介紹,直接完成設置。

⑤ 可隱藏通報正文范圍外無須用到的單元格區(qū)域,例如要隱藏I列及其以后的列,那么用鼠標選中I列,同時按下【Ctrl+Shift+→】三個鍵,并單擊鼠標右鍵,選中【隱藏】即可,同理,還可隱藏無須用到的行。

⑥ 如果希望隱藏行、列標題,可通過【文件】→【選項】→【高級】,找到【顯示行和列標題】的復選框,去除勾選即可。

最終通報正文效果如圖所示。

數(shù)據(jù)提取自動化

實現(xiàn)從數(shù)據(jù)庫取數(shù),把數(shù)據(jù)結果追加至Excel相應表中,需要用SQL與VBA語句,主要實現(xiàn)以下幾個功能。

★ 打開Access數(shù)據(jù)庫。

★ 輸入提取數(shù)據(jù)的日期。

★ 運行指定的提數(shù)SQL語句。

★ 將SQL語句運行的數(shù)據(jù)結果自動追加到Excel“數(shù)據(jù)源”表的新記錄中。

相關的VBA語句編寫如下:

Sub每日數(shù)據(jù)提取()

'聲明定義VBA語句中需要使用到的各個變量類型

Dim AdoConn As New ADODB.Connection '定義變量AdoConn為連接數(shù)據(jù)庫對象(ADODB是數(shù)據(jù)庫訪問組件,Connection是其中的一個對象),用于實現(xiàn)連接數(shù)據(jù)庫和關閉數(shù)據(jù)庫連接等操作

Dim MyData As String '定義變量MyData為字符串型變量,用于數(shù)據(jù)庫路徑賦值

Dim N As Integer 定義變量N為數(shù)值型變量,用于Excel表行數(shù)賦值

Dim D1 As Date '定義變量D1為日期型變量,用于數(shù)據(jù)起始日期賦值

Dim D2 As Date '定義變量D2為日期型變量,用于數(shù)據(jù)結束日期賦值

' 定義SQL語句所需要的4個字符串型變量,可根據(jù)實際需要選擇需要聲明的變量個數(shù)

Dim strSQL1 As String

Dim strSQL2 As String

Dim strSQL3 As String

Dim strSQL4 As String

' InputBox函數(shù)的作用是打開輸入對話框,提示輸入提數(shù)日期,并賦值給D1,D2賦值D1+1

D1 = InputBox('請輸入需要提數(shù)的日期,例如:2011-9-4', '提數(shù)日期')

D2 = D1 + 1

' 取第3列第1個空格單元格的行數(shù),并賦值給N

N=ActiveSheet.Range('C1').End(xlDown).Row + 1

指定數(shù)據(jù)庫,可根據(jù)實際情況替換雙引號內(nèi)數(shù)據(jù)庫文件名,注意Access數(shù)據(jù)庫文件與Excel文件必須在同一個路徑下,如果不是,則須更改為MyData = 'D:\數(shù)據(jù)\業(yè)務數(shù)據(jù)庫.accdb',根據(jù)實際情況替換Access數(shù)據(jù)庫文件

MyData =ThisWorkbook.Path & “\業(yè)務數(shù)據(jù)庫.accdb'

建立數(shù)據(jù)庫連接,打開剛才指定的數(shù)據(jù)庫MyData

With AdoConn

.Provider=“Microsoft.ACE.OLEDB.12.0”

.Open MyData

End With

設置SQL語句,根據(jù)實際情況編寫和替換

strSQL1= 'SELECT count(用戶ID)FROM用戶明細WHERE注冊日期<#'&D2&'#AND注

冊日期>=# '&D1& #'

strSQL2= 'SELECT count(用戶ID)FROM(SELECT DISTINCT用戶ID FROM訂購明細WHERE

訂購日期<#' &D1& '#)'

strSQL3= 'SELECT count(訂單編號),sum(訂購金額)FROM訂購明細WHERE訂購日期<#'&D2& &D1& '#'

strSQL4= 'SELECT count(用戶ID)FROM(SELECT DISTINCT用戶ID FROM訂購明細WHERE

訂購日期<# '&D2&“#)'

執(zhí)行SQL查詢,并將查詢結果輸出到當前表格相應位置,可根據(jù)實際情況在相應位置進行調(diào)整

ActiveSheet.Cells(N,3).CopyFromRecordset AdoConn.Execute(strSQL1)

ActiveSheet.Cells(N,4).CopyFromRecordset AdoConn.Execute(strSQL2)

ActiveSheet.Cells(N,5).CopyFromRecordset AdoConn.Execute(strSQL3)

ActiveSheet.Cells(N,7).CopyFromRecordset AdoConn.Execute(strSQL4)

關閉數(shù)據(jù)庫連接

AdoConn.Close

釋放變量

Set AdoConn = Nothing

MsgBox函數(shù)作用是打開輸出對話框,以對話框形式提示“數(shù)據(jù)提取完畢!”

MsgBox “數(shù)據(jù)提取完畢!”

End Sub

VBA語句執(zhí)行的步驟,如圖所示。

★ 雙引號之間的語句是VBA語句中的文本字符串。

★ 井號(#)主要在SQL查詢語句中表示數(shù)據(jù)類型為日期型,通常在數(shù)據(jù)值兩端加上井號(#),這在講Access數(shù)據(jù)庫SQL語句查詢時就介紹過。

★ 連接符(&)在VBA語句中,用于連接各個文本字符串,以組成一串所需的字符串,例如VBA語句中的strSQL1變量所賦值的SQL語句。因為需要根據(jù)輸入的日期進行數(shù)據(jù)查詢提取,VBA語句中涉及文本字符串與日期參數(shù)兩種類型的文本。

如果將各個文本字符串與日期參數(shù)D1、D2直接連接,而沒有進行類別分隔再連接,那么系統(tǒng)會將日期參數(shù)D1、D2識別為文本字符串D1、D2,而不是日期參數(shù),這樣就不能引用對話框輸入的日期進行數(shù)據(jù)篩選查詢,并且還會運行出錯。

所以需要將一條完整的SQL語句拆分為各個文本字符串部分,再將各個文本字符串部分與日期參數(shù)D1、D2用連接符(&)進行連接組合,使其組合成一串所需的SQL語句,這就好比剛才介紹的“數(shù)據(jù)轉(zhuǎn)化”表中的通報正文的組合一樣,將各個文本字符串按需組合起來。

因為SQL語句要求各個關鍵字用空格符號分隔,所以在文本字符串與日期參數(shù)連接時注意空格符號的使用。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VB精品課程 - 濟南鐵道職業(yè)技術學院 信息工程系? Limber Senovo
C++操作SQLite簡明教程
轉(zhuǎn)貼:VC++6.0下使用ADO技術訪問SQL 數(shù)據(jù)庫
關于SQL語句中的雙引號、單引號和&
Excel VBA SQL操作數(shù)據(jù)庫——Excel 數(shù)據(jù)搬家
JDBC為什么要使用PreparedStatement而不是Statement
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服