
如圖所示
首先要定義個 動態二維陣列 ,行數是根據借款單號那列不為空判斷,而列數則為紅色圈出部分 為9列吧 每行~
然后要回圈去把當前表格對應每行圈出的列資料 賦值到 定義的二維陣列中,
請問如何寫代碼實作?
uj5u.com熱心網友回復:
在VB6中,多維動態陣列如果在改變大小時,需要保留之前的資料,只能改變最后一維的大小。
按你的應用環境,“資料行數”是動態的,
那這個二維陣列應該象這樣定義:
Dim arrData() as string
..........
ReDim arrData(列, 行)
這里“列”為8(0~8,共9個列號)
而“行”可以按需要,進行動態改變。
uj5u.com熱心網友回復:
啥情況?如果是帶“表格”的環境,直接從表格里取數豈不是更方便?uj5u.com熱心網友回復:
這倒未必,他的9列資料,不是連續的。
這樣在回圈中處理資料并不方便。
另外,如果資料處理程序中要頻繁的讀寫,
直接操作表格,速度慢很多。
尤其是“寫”時,相應區域被別的公式參考到的時候。
如果資料較多,會多耗費很長時間。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
表格資料是哪里來的?是來自資料庫表嗎?如果是,重新執行一個 SQL 查詢,然后將記錄集直接轉為陣列。
uj5u.com熱心網友回復:
Dim arrLoan As VariantDim cn As New ADODB.Connection, rs As New ADODB.Recordset
cn.Open "......"
rs.OPen "Select 核定金額, 現金科目, 往來科目,借款人,借款人部門,備注,識別,現金科目內碼,往來科目內碼 From yourTable Where Not IsNull(借款單號)" , cn
arrLoan = rs.GetRows
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
uj5u.com熱心網友回復:
表格資料 來自 myexcel中的,其實也可以理解為 就是來自它的sql的資料表中,但是我現在要實作資料匯總么 又是操作目前顯示在excel表中的資料 然后在往另外個資料庫中的表插資料uj5u.com熱心網友回復:
myexcel 是 Excel 物件?是:合計行填 SUMIF 公式即可。
否:SQL 用 SUM 函式合計更方便。
uj5u.com熱心網友回復:
可能誤解了,myexcel是一款通過excle承載的已開發好的程式,而不是物件。。uj5u.com熱心網友回復:
只要是 Excel,就能填公式。可以在設計模板時指定,可以在物件(如果有的話)操作時指定。
uj5u.com熱心網友回復:
估計你理解錯我的意思了我的最終意思為 獲取當前excel表格里的資料 然后創建個二維陣列并把當前每行資料存入進去
再分組匯總資料 匯總的欄位為 核定金額,別的欄位照顯示
uj5u.com熱心網友回復:
把 Excel 當作外部資料庫,用 SQL 查詢即可。uj5u.com熱心網友回復:
就是這樣。
uj5u.com熱心網友回復:
定義一個n行11列的2維陣列,現金科目內碼,往來科目內碼讀取第10,11列即可Sub Test()
Dim arr
arr = [d9].Resize([b9].End(4).Row - 8, 11)
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/118105.html
標籤:VBA
