Board logo

標題: [發問] 請問該如何作 [打印本頁]

作者: yujen16    時間: 2011-2-16 20:16     標題: 請問該如何作

請問如何完成如文件所敘述問題?
作者: Hsieh    時間: 2011-2-16 22:17

回復 1# yujen16
試試附件,按F9重算就等同抽籤
[attach]4747[/attach]
作者: yujen16    時間: 2011-2-17 11:22

謝謝Hsieh 真的又學到一招了
當初的原意是讓每一個人都有參與感,而來抽籤,然後再輸入其所抽籤的號碼.
輸入抽籤號碼後,一旦有哪一組先把六個組員抽齊,印表機就會去列印該組的工作表內容.
請問可以如此作嗎?
作者: ANGELA    時間: 2011-2-17 14:01

回復 4# yujen16


    試試是否可行,要印表機自動列印,那需要VBA幫助了.
作者: Hsieh    時間: 2011-2-17 16:12

本帖最後由 Hsieh 於 2011-2-17 17:39 編輯

回復 4# yujen16

我的做法只是用亂數代替抽籤
只要在Sheet1的A攔不要使用公式,直接輸入,那麼其他工作表就會自動得到答案
只是沒輸入到的籤號,會顯示#N/A的錯誤
若要自動列印那就必須靠這錯誤來計算是否填滿
然後利用分組工作表的重算事件來列印
分組工作表模組
  1. Private Sub Worksheet_Calculate()
  2. Dim A As Range
  3. For i = 2 To 8 Step 2
  4. Set A = Range(Cells(3, i), Cells(8, i))
  5. n = 0
  6.   For Each C In A
  7.      If IsError(C.Value) Then n = n + 1
  8.   Next
  9.   If n = 0 Then Sheets("分組" & i / 2).PrintPreview '預覽用此法
  10.   If n = 0 And Cells(2, i) <> "已列印" Then pn = MsgBox("是否列印", vbYesNo)
  11.   If pn = 6 Then Sheets("分組" & i / 2).PrintOut: Cells(2, i) = "已列印" '列印用此法
  12. Next
  13. End Sub
複製代碼
[attach]4760[/attach]
作者: yujen16    時間: 2011-2-17 20:31

真是太神奇了!謝謝Hsieh
雖然程度太淺不能理解公式的精髓,卻已解我燃眉之急.
作者: yujen16    時間: 2011-2-24 11:29

再請問,列印過的工作表如何不再列印?
舉例來說當第籤號13-18號被輸入後會去執行列印分組3工作表沒問題了
可是當籤號1-6好被輸入後去列印分組1工作表也沒問題,但如何不再列印分組3工作表呢?
另外籤號的輸入如何驗證是否重複輸入同一個號碼及超出1-24的範圍呢?
作者: Hsieh    時間: 2011-2-24 12:07

回復 8# yujen16

用預覽列印語法來執行,要印的才按列印,否則按關閉就會往下一頁

若要用程式直接判斷,那就要在列印後的工作表註記已列印作判斷




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)