各位高人,
問題比較弱智,還很著急,盼高人指點。
一個指定路徑下的檔案夾里有多個excel檔案(檔案個數不知,假如有15個)。這25個excel檔案的格式完全相同,每個檔案里面的A1:P16共256個資料需要讀出來并且相應單元格分別求平均值,再將這256個平均值保持到名為abc.xls的A1:P16的相應位置?
另外一個問題:從A1:P16這256個數,需要根據值所處的范圍設定不同灰度,數值越小顏色越深,數值越大,顏色越亮。這256個數都在95-105之間,且為小數,需要將95-105十等分,每一份的灰度不同,如何設定?
謝謝!急盼!
uj5u.com熱心網友回復:
感覺上是設計的問題,如能搞到資料庫了,不麻煩。uj5u.com熱心網友回復:
已經給你提供過例子了?其他的我也不知道怎么幫你了。畢竟你提供的訊息太少了。uj5u.com熱心網友回復:
我頂上去uj5u.com熱心網友回復:
下面這段代碼 如果你的理解程度夠的話 你應該便能搞定如要我幫忙代寫也行,我花時間 你充話費, 本人不愛財,但可不愿做白工 QQ:138449666
Sub XLStoINI()
On Error GoTo Errh ' 捕捉錯誤
Fname = AppDisk & "calc1.xlsx"
If IsOpen(Fname) Then MsgBox Fname & " 檔案已打開!": Exit Sub
Set VbExcell = CreateObject("Excel.Application") '創建excel物件
VbExcell.Visible = True '物件可見
Set vbbook = VbExcell.Workbooks.Open(Fname) '打開檔案
If Val(VbExcell.Application.Version) >= 8 Then
Set vbbook = VbExcell.ActiveSheet
Else
Set vbbook = VbExcell
End If
VbExcell.ActiveWindow.Zoom = 100
'************************************ XLS匯出到Ini檔案
IniName3 = AppDisk & "Weight.ini"
VbExcell.Sheets("槽鋼資料表").Select
Constop = False
For i = 1 To 999
BB = ""
For j = 1 To 6
AA = VbExcell.Cells(i, j)
If j = 1 And AA = "" Then Constop = True: Exit For
BB = BB & AA & ","
Next j
If Constop Then Exit For
If Right(BB, 1) = "," Then BB = Mid(BB, 1, Len(BB) - 1)
Call INIWrite("CS", CStr(i), BB, IniName3)
Next i
'************************************
VbExcell.Sheets("工字鋼資料表").Select
Constop = False
For i = 1 To 999
BB = ""
For j = 1 To 6
AA = VbExcell.Cells(i, j)
If j = 1 And AA = "" Then Constop = True: Exit For
BB = BB & AA & ","
Next j
If Constop Then Exit For
If Right(BB, 1) = "," Then BB = Mid(BB, 1, Len(BB) - 1)
Call INIWrite("Ibeam", CStr(i), BB, IniName3)
Next i
'*********************************************
VbExcell.Sheets("引數").Select
Constop = False
'For i = 65 To 74
' For j = 1 To 999
' AA = VbExcell.Cells(j, Chr(i))
' If j > 2 And i = 65 And AA = "" Then Constop = True: Exit For
' List1.AddItem AA
' Next j
'If Constop Then Exit For
'Next i
For i = 1 To 999
BB = ""
For j = 1 To 10
AA = VbExcell.Cells(i, j)
If i > 5 And j = 1 And AA = "" Then Constop = True: Exit For
BB = BB & AA & ","
Next j
If Constop Then Exit For
If Right(BB, 1) = "," Then BB = Mid(BB, 1, Len(BB) - 1)
Call INIWrite("Reference", CStr(i), BB, IniName3)
Next i
'***********************************************
VbExcell.DisplayAlerts = False '關閉時不提示保存
'******************* Close & Quit
VbExcell.Quit
Set vbbook = Nothing
Set VbExcell = Nothing
Errh:
If Err > 0 Then Exit Sub
End Sub
uj5u.com熱心網友回復:
我現在沒有資料庫,只有一堆excel檔案。請問我如何得到檔案夾中xls 檔案的個數,因為要計算平均值
謝謝
uj5u.com熱心網友回復:
沒有原始表格做不了如何得到檔案夾中xls 檔案的個數 很簡單
留下你的QQ我給你個代碼
uj5u.com熱心網友回復:
真抱歉,我沒有qq,可以寫在這里嗎?你需要原始表格嗎?上面所說abc.xls是個空的檔案。而我需要計算平均值的資料如下,在excel中從A1:P16:
0.9991 1.0000 0.9992 0.9982 0.9990 0.9991 1.0020 1.0008 1.0001 1.0009 1.0003 0.9996 1.0002 0.9987 0.9977 0.9997
0.9984 0.9975 0.9980 0.9960 0.9963 0.9984 1.0011 1.0008 1.0000 0.9997 0.9974 0.9985 0.9987 0.9975 0.9969 0.9994
0.9995 0.9979 0.9998 0.9985 0.9988 1.0032 1.0041 1.0027 1.0030 1.0006 1.0008 1.0018 0.9997 0.9993 0.9971 1.0005
1.0007 0.9990 0.9981 0.9973 0.9988 1.0042 1.0041 1.0025 1.0029 1.0006 0.9997 1.0008 1.0003 0.9963 0.9986 1.0012
1.0010 1.0000 0.9982 0.9998 1.0009 1.0043 1.0026 1.0008 1.0018 0.9995 0.9985 1.0017 1.0003 0.9998 1.0011 1.0020
1.0001 1.0006 0.9989 1.0008 1.0021 1.0045 1.0007 1.0005 0.9996 0.9981 0.9997 1.0003 0.9997 1.0007 1.0021 1.0008
0.9990 1.0000 0.9999 0.9992 1.0033 1.0003 1.0008 1.0011 0.9985 0.9995 0.9996 0.9997 0.9985 0.9996 1.0028 1.0001
0.9985 0.9992 0.9995 1.0004 1.0048 1.0008 1.0008 1.0003 0.9989 0.9989 1.0003 0.9980 0.9996 0.9994 1.0018 0.9989
1.0004 0.9998 0.9995 1.0033 1.0028 1.0009 0.9995 0.9978 0.9979 0.9990 1.0001 0.9985 0.9994 1.0025 1.0010 1.0011
0.9999 0.9974 1.0013 1.0037 1.0011 1.0004 0.9980 0.9963 0.9978 0.9996 0.9997 0.9995 0.9972 1.0034 0.9998 1.0002
0.9974 1.0002 1.0041 1.0023 1.0021 0.9995 0.9987 0.9978 0.9999 1.0015 1.0001 1.0004 1.0006 1.0012 0.9997 0.9997
0.9993 1.0041 1.0023 1.0029 1.0005 0.9989 0.9981 0.9981 1.0013 1.0001 1.0000 0.9994 1.0034 0.9999 1.0020 0.9986
1.0007 0.9990 1.0006 1.0015 0.9975 0.9994 0.9988 1.0011 1.0021 0.9989 0.9975 0.9999 0.9998 0.9990 0.9994 0.9991
1.0012 1.0013 1.0014 0.9968 0.9993 0.9983 1.0006 1.0030 1.0009 1.0000 1.0012 1.0044 0.9999 1.0028 0.9981 1.0008
0.9988 0.9987 0.9969 0.9974 0.9970 0.9991 1.0008 1.0001 1.0004 0.9991 1.0023 0.9987 0.9990 0.9976 0.9979 0.9993
1.0003 0.9990 0.9987 0.9967 0.9983 1.0026 1.0010 0.9997 0.9993 1.0025 0.9998 0.9998 1.0008 0.9970 0.9998 0.9999
uj5u.com熱心網友回復:
256個數能出來256個平均值?你的描述我看了不下十遍,不知所云uj5u.com熱心網友回復:
剛吃完飯 到公園走走 回來后將你7F 的資料整給你uj5u.com熱心網友回復:
抱歉,可能我的表達不清楚。
由于檔案夾中有多個xls檔案(假設有20個),每個檔案都有256個數(A1:P16),需要將20個檔案中每個檔案的A1:P16分別相加并計算平均值。平均值仍然是256個數,并且需要保存到一個新的檔案的A1:P16.
uj5u.com熱心網友回復:
我貼的資料只是一個xls檔案里A1:P16的資料uj5u.com熱心網友回復:
小意思,我能做出來一會兒就開始做
uj5u.com熱心網友回復:
代碼寫完了,需要資料除錯,特別是變數偏移看資訊
uj5u.com熱心網友回復:
只有樓上那些資料 將它直接黏貼進 .xls也沒辦法 搞死人了一.已將你 7F 那堆資料整合為 Book1.xls (256個資料)
二.已將Book1.xls的256個資料 帶入 SubT1(0)--- SubT1(255) 256個陣列變數, 這只是一個表格
三.下面我沒做 因為你的意思很含糊
猜想就是 如果你有20個檔案
以A1而言 則將會有 SubT1(0) SubT2(0) SubT3(0) SubT4(0).... SubT20(0)
然后將這20個資料加總除以20 求得 20個檔案所有 A1 的總和除以20 得到平均值
Avg(0)---Avg(255) 共 256個平均值的變數
沒難度 但耗時
uj5u.com熱心網友回復:
我已經做完了uj5u.com熱心網友回復:
這個很簡單 體力活而已uj5u.com熱心網友回復:
會者不難,難者不會啊樓上都是高手啊
uj5u.com熱心網友回復:
我給你發訊息了uj5u.com熱心網友回復:
已經給你發檔案了,謝謝!
uj5u.com熱心網友回復:
暫時沒有收到uj5u.com熱心網友回復:
非常抱歉,檔案中應該從C23:R38我說的A1:P16是舉個例子
uj5u.com熱心網友回復:
所以說啊,沒有資料,變數偏置值就不好確定uj5u.com熱心網友回復:
不好意思啊。uj5u.com熱心網友回復:
再發一次,幾張就行uj5u.com熱心網友回復:
已發。3個檔案。uj5u.com熱心網友回復:
謝謝,諸位。這個是好東西啊。
大家加油。
uj5u.com熱心網友回復:
不知道除錯的怎么樣了呢?
急盼!
uj5u.com熱心網友回復:
我靠,現在VB版里居然開始這樣全代碼協助了啊?泰山哥,我覺得你這樣的做法欠妥,對于不懂的問題,提供解決方案和思路,部分代碼問題指出毛病,這樣提問題者才有提高,如這樣全代碼的幫助,是授人魚,非授人漁,治標不治本呀。
uj5u.com熱心網友回復:
請您說話文明點。這里沒有人也沒有哪種行為需要你用到這個語氣詞!
uj5u.com熱心網友回復:
用幾個沒用的分就讓人幫助干活,挺合適,賺大了
uj5u.com熱心網友回復:
~~~~~~~,uj5u.com熱心網友回復:
4樓的哥哥很現實啊。。。uj5u.com熱心網友回復:
我不明白你們這些高人之間是否有些什么所謂默契,看見一個人幫助一個什么都不懂的新人心里難受。老實說泰山并沒有答應會給我代碼,我確實心里沒底,只是我心存幻想。
uj5u.com熱心網友回復:
你連QQ都沒有信箱也不會發信件
我發你VB代碼你能除錯了?
我沒拿到你的資料,無法除錯
uj5u.com熱心網友回復:
這個也太難了吧~~~~uj5u.com熱心網友回復:
做資料處理的很可能是專家,有課題需要下不為例
uj5u.com熱心網友回復:
我發了啊,你有沒收到嗎?除非郵箱地址有誤!
uj5u.com熱心網友回復:
看資訊uj5u.com熱心網友回復:
看資訊,收郵件uj5u.com熱心網友回復:
還沒收到郵件。uj5u.com熱心網友回復:
找到了,在“垃圾郵件”里發現的uj5u.com熱心網友回復:
天哪,我冤死了,都成了不會發郵件的了,哈哈uj5u.com熱心網友回復:
你那里有VB吧?uj5u.com熱心網友回復:
我本來想裝個vb,結果好像裝了個.net,有些區別吧uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
我可以裝一個VB的uj5u.com熱心網友回復:
這個問題其實不困難,關鍵是理清思路。1 Excel 資料可以通過 VB 所支持的 Excel 物件讀寫。
2 通過 Excel 物件能夠設定單元格的字體或背景顏色。
可以這樣做:
1 打開一個用來放結果的 Excel 作業表。A1-P16 全部填入 0。 在其他單元格,例如 R1 記錄當前讀取檔案數,現在是 0。
2 打開一個源檔案,逐格讀取資料。在目標單元格中,寫入新值:
新值 = (舊值 X R1 + 源檔案單元格值)/ (R1 + 1)
然后,設定該目標檔案當前單元格背景色 RGB 都等于 Int(當前值 + 150)。
3 處理完一個源檔案之后,將目標檔案 R1 加 1。
uj5u.com熱心網友回復:
謝謝!思路很清楚!
uj5u.com熱心網友回復:
自己動手,豐衣足食uj5u.com熱心網友回復:
學習學習來了uj5u.com熱心網友回復:
才發現,來晚了。問題都被你們解決了。uj5u.com熱心網友回復:
使用合并計算功能就能解決uj5u.com熱心網友回復:
第2個問題使用Excel2010中的條件格式-色階就可以實作了uj5u.com熱心網友回復:
感覺樓主應該不是搞計算機的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/153309.html
標籤:VB基礎類
上一篇:大家幫我想一想啊,如果在已經有了codesmart,mztools等的前提下,再開始一個小的VB6 IDE外接程式,代碼規模3-5K的那種,哪幾個新功能是您的推
下一篇:vb2010 修改資料集出錯
