iT邦幫忙

0

一個國小老師的問題?題庫如何顯示所選考題?

一個國小老師 有個題庫共100題,因為出題需要複製貼上很麻煩
想用程式設定..如:我打3458就會顯示三四五八的題目列出在另一頁 可以印成考卷
可以用excel嗎? 還是access? 還是??
要怎麼設定呢???

看更多先前的討論...收起先前的討論...
既然是Excel
建議使用「自動篩選」的功能
建立類似如下的表格
+====+====+===========+
|挑選|題號|題目 |
+====+====+===========+
| v | 1 |第1題的題目|
| | 2 |第2題的題目|
| v | 3 |第3題的題目|
| v | 4 |第4題的題目|
+====+====+===========+
然後用自動篩選的功能
先篩選出有打勾的項目
再手動將題目複製至他處即可
蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:43:06 檢舉
這個巨集提供參考
說明:
要有一張工作表名稱為 試卷
第一次使用或新增試題時要在H1欄輸入 R
確認新增試題時在H1欄輸入OK
*新增CHECKBOX控制項位置可能會因電腦不同而不正確,如不正確需自行修正
ActiveSheet.CheckBoxes.Add(0, (I * 16.5) - 16.5, 75, 0).Text = "第 " & I & " 題"
將下列語法貼上"題庫"工作表巨集編輯器
蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:43:52 檢舉
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$1" Then
Flag = ActiveSheet.Range("B65535").End(xlUp).Row
If Target.Value = "OK" Then
If Flag <> Empty Then
J = 1
Sheets("試卷").Range("A:A") = Empty
For I = 1 To Flag
If ActiveSheet.CheckBoxes(I).Value = 1 Then
Sheets("試卷").Range("A" & J) = ActiveSheet.Range("B" & I).Text
J = J + 1
End If
Next I
End If
蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:44:05 檢舉
ActiveSheet.Range("H1").Value = Empty
ElseIf Target.Value = "R" Then
ActiveSheet.Shapes.SelectAll
Selection.Delete
ActiveSheet.Range("A1").Select
For I = 1 To Flag
ActiveSheet.CheckBoxes.Add(0, (I * 16.5) - 16.5, 75, 0).Text = "第 " & I & " 題"
Next I
ActiveSheet.Range("H1").Value = Empty
ElseIf Target.Value <> Empty Then
MsgBox "H1欄位請輸入 OK 或 R"
ActiveSheet.Range("H1").Value = Empty
End If
End If
End Sub
蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:44:27 檢舉
怎麼這樣就超過一仟字了..
蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:45:07 檢舉
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$H$1" Then
        Flag = ActiveSheet.Range("B65535").End(xlUp).Row
        If Target.Value = "OK" Then
            If Flag <> Empty Then
                J = 1
                Sheets("試卷").Range("A:A") = Empty
                For I = 1 To Flag
                    If ActiveSheet.CheckBoxes(I).Value = 1 Then
                        Sheets("試卷").Range("A" & J) = ActiveSheet.Range("B" & I).Text
                        J = J + 1
                    End If
                Next I
            End If
            ActiveSheet.Range("H1").Value = Empty
        ElseIf Target.Value = "R" Then
            ActiveSheet.Shapes.SelectAll
            Selection.Delete
            ActiveSheet.Range("A1").Select
            For I = 1 To Flag

蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:45:27 檢舉
                ActiveSheet.CheckBoxes.Add(0, (I * 16.5) - 16.5, 75, 0).Text = "第 " & I & " 題"
            Next I
            ActiveSheet.Range("H1").Value = Empty
        ElseIf Target.Value <> Empty Then
            MsgBox "H1欄位請輸入 OK 或 R"
            ActiveSheet.Range("H1").Value = Empty
        End If
    End If
End Sub
蟹老闆 iT邦大師 1 級 ‧ 2010-09-29 14:55:50 檢舉
試題請放在題庫工作表的B欄
tombo iT邦高手 1 級 ‧ 2010-10-01 17:12:28 檢舉
用 Excel 來做,應該是最容易懂了,使用 VLOOKUP去查詢對應表格裡的數字,然後取出指定欄位的值。

擴大一點,在題庫裡寫好答案,也可以很方便就產生標準答案卷
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
8
liounoon
iT邦新手 1 級 ‧ 2010-09-28 22:28:01
最佳解答

三言兩語恐怕說不完,已經花一些時間作了一個簡單的Excel檔,再更複雜就超過我的能耐了謝謝
http://cid-4090aebd7da9e9ad.skydrive.live.com/redir.aspx?resid=4090AEBD7DA9E9AD!106

ycl8000 iT邦高手 1 級 ‧ 2010-09-29 08:40:39 檢舉

灑花

10
fillano
iT邦超人 1 級 ‧ 2010-09-28 14:11:08

看你用的題庫有沒有出題的功能,否則感覺希望渺茫。

程式設定?題庫用什麼程式寫的?

不明 檢舉

我非常喜歡 版主 的文章呢 , 誠摯地給您事業 參考:

你在尋求 最 有 效 的 獲 取 財 富 的工具 嗎?

那你不能道聽塗說 , 要選擇 有事實根據的

-> http://azyyeayzz.weebly.com/

12
cmh
iT邦新手 2 級 ‧ 2010-09-28 14:19:58

依據描述,應該是單純的資料而已,現行的題庫光碟,都是用程式進行開發的,然後再輸出成Word,如果不想寫程式,使用Access可以達到你想要的結果.
參考資料:自己

8
csyu
iT邦高手 1 級 ‧ 2010-09-28 15:39:59

cmh提到:
使用Access可以達到你想要的結果.

樓上cmh大,你得敎他如何製作啊!

darktasi iT邦新手 4 級 ‧ 2010-09-28 17:45:07 檢舉

這就得看書了...不是三言兩語就教得會的吧暈

10
逮丸逮丸
iT邦大師 1 級 ‧ 2010-09-28 23:56:32

這是個很有趣的問題,
我做了從網頁來處理的界面:
http://alpha.tagbible.net/zhjp/cathy6270
看看這個方案是否是快速而有效的解決方式。
使用方式如下:
1.複製 Excel 所要的欄位,如果原excel有編號的欄位,不需包括。
2.貼上述網址的表格中。
3.按跑。
4.依照自己所定的順序,點選所要的行數。
5.都挑選完成後,點選:「挑選完成,產生以tab欄位分隔」
6.產生一個依您順序選出的哪些行數,且是以 tab 分欄的頁面。
7.全選、複製。
8.打開記事本,貼上,存成一個txt。
9.Excel以匯入的方式將該txt檔讀入,是以tab為分隔。

補充說明:
1.任何幾行的文字,都適用上述的網址來操做。
2.所選擇的項目,無法做「退選」的動作,只能在該頁重新整理,會把所有的選擇全清除掉,再重選。
3.其實也可以吐出 CSV 的格式,但一定會碰到行數的裡面有逗號的問題,所以只能以複製、貼上,而以tab為分欄,而避開逗號的分欄問題。
4.本系統是以Ruby on Rails再加上簡單的javascript,快快地簡單地完成,所以javascript一定要開才能用。

cathy6270 iT邦新手 5 級 ‧ 2010-09-29 09:57:26 檢舉

抱歉..只能選擇一個最佳解答..
您做的也超酷的~感恩您的辛苦..
我覺得 excel 對老師而言 可能還是方便些
可以另外調整想要的格式...
我也將您的解答給那位老師參考了...
再次感謝您辛苦了謝謝

tombo iT邦高手 1 級 ‧ 2010-10-01 17:16:31 檢舉

試了一下,感覺好像有點小 Bug,
當我快速 Click 「V」選題時,同一題會被重覆選擇!

另外,選題之後,題目就消失,建議可以保留題目,然後點選相同題目就可以取消選取 毆飛

tombo提到:
試了一下,感覺好像有點小 Bug

謝謝您的發現及建議,讓我有具體的方向改進。

14
alenchen
iT邦新手 2 級 ‧ 2010-09-29 09:15:40

既然題庫已經建在Excel中,那就建議你用查表函數(VLOOKUP())來抓你所輸入題號的題目內容...

u745253 iT邦新手 4 級 ‧ 2010-09-29 14:48:36 檢舉

嗯,VLOOKUP好用,如同資料表的查詢功能,以題號為索引,查詢原建立的工作表

我要發表回答

立即登入回答