返回列表 上一主題 發帖

[發問] 擷取報表中所需資料

[發問] 擷取報表中所需資料

本帖最後由 asus103 於 2011-1-3 12:07 編輯

您好:
我是VBA初學者,現在需要把一份雜亂的原始報表,整理成所需型式的工作表(如附件)
請問除了土法煉鋼(出錯率較高)以外,能否有自動處理的方式,也當作我學習上的一個範本。
我想這是一個浩大的工程。
感謝您附註:
1.各班可能會切成兩部分
2.各班選修科目也不相同
3.各班人數可能會改變
4.所需排列方式如SHEET4

score.rar (77.52 KB)

ASUS

GBKEE:
非常感謝您!!!!
我現在馬上處理,先感謝您的費心
ASUS

TOP

回復 2# GBKEE
再一次感謝您
現在基本資料進來了
只是自己程度還不夠,尚無法完全看懂,我會再加油看懂它

那成績部分我若是用vlookup處理會遇到兩個問題
1.原資料並非完整區塊,中間有許多空白
2.各班及科目位置並不相同
請問有方法把成績轉移過來嗎?
謝謝
ASUS

TOP

回復 5# GBKEE


GBKEE您好
原來的檔案中,即有成績的部分
只是各班(如5班以後)選修科目並不相同,
所以我無法自動判別取出

另,我的權限無法看到我自己的附檔
若檔案有問題煩請再告知
謝謝!!!
ASUS

TOP

本帖最後由 asus103 於 2010-12-30 12:06 編輯

衷心感謝兩位版主的鼎力協助
我原以為恐怕需要很長的程式碼才能解決的
兩位版主化繁為簡的功力真令我佩服,而且是在這麼短的時間內
感激阿!!
我先使用了,之後我會努力看懂並學習的

尚有2個小問題請教:
1.若是把班級欄改為純數字,是否是手動即可
2.若想在未選修的位置上填上"-1",那應該在哪一行加上些甚麼?
謝謝
ASUS

TOP

回復 8# Hsieh
Hsieh大大您好
衷心感謝您的幫助

尚有2個小問題請教:
1.若是把班級欄改為純數字,是否是手動即可
2.若想在未選修的位置上填上"-1",那應該在哪一行加上些甚麼?
謝謝
ASUS

TOP

本帖最後由 asus103 於 2010-12-30 14:27 編輯

回復 11# Hsieh
對不起
是我沒有說清楚
是班級名稱,如三年二班改為302....

還有另外一個小問題
原始資料中若是"姓  名"不是"姓名"(如B7中是"姓  名"時,(中間有空白))
浪費您許多寶貴的時間,
只能在一次跟您說感謝
謝謝您
ASUS

TOP

回復 13# Hsieh

全目標達成!!!!
非常地感謝您

附註:
有一個好玩的現象我會去研究
輸出的成績中,前三個是文字格式,之後是數字格式

再次感激
從這之間,我也學到好多,更明白"不足的更多"
ASUS

TOP

回復 15# Hsieh
完全完美狀態!!!!!!您真是神人啊!!!!
我會以此為目標努力的!!
再一次感謝!!!
ASUS

TOP

回復 13# Hsieh

Hsieh大大您好:
感謝您的熱心協助,工作上的問題已經OK
但基於想要把VBA學好的心情,關於這個程式的巧妙之處,是否可以繼續請教您
這幾天我先看了一本VBA入門的書
也詳細看了您發表的一些文章,如"Dictionary物件的認識與應用"、"VBA的寫作技巧與增進效能"、"學習 Excel VBA的一些基本概念"等,獲益良多
但此程式中的一些程式碼我還是看不懂
如:
    For Each C In Ar
        If C <> "" Then d1(C) = ""
         If C = "姓 名" Then d1("班級") = "": d(A & "班級") = Replace(Replace(Replace(Replace(Replace(Replace(MyClass, "高", ""), "年", ""), "班", ""), "三", 3), "二", 2), "一", 1)
         d2(A.Value) = ""
         d(A & C) = IIf(s > 20, "", "'") & A.Offset(, s).Text
         '改變 s 可改變成績以文字或數字格式
         s = s + 1
       Next
這段中是如何將資料指定進入d、d1、d2這三個Dictionary物件的呢?
執行完d1(C) = ""後,d1的變數內容中竟然就出現count=1、Item1="學號"?真是太神奇了
"d1("班級") = "": d(A & "班級") ="的語法是甚麼?我想他是為了把班級這個ITEM指定進d1的第三項,但他是怎麼辦到的呢?

不好意思,小弟愚昧尚有許多不明之處,
期待您的相助之後,繼續探索VBA的世界
ASUS

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題