Board logo

標題: 可以請問Hsieh大大嗎 [打印本頁]

作者: gn00487767    時間: 2010-12-16 12:48     標題: 可以請問Hsieh大大嗎

出處

你所回復的公式是陣列公式

可以麻煩看看我的附件裡

我的附件資料

可以用一般公式編寫嗎
作者: Hsieh    時間: 2010-12-16 13:44

本帖最後由 Hsieh 於 2010-12-16 22:53 編輯

回復 1# gn00487767

建議使用進階篩選
[attach]4125[/attach]
作者: gn00487767    時間: 2010-12-17 07:37

本帖最後由 gn00487767 於 2010-12-17 07:56 編輯

回復 2# Hsieh

謝謝大大的回覆

但是進階篩選我無法在另一個工作表顯示
我有看到您回覆別人的問題
如下
這裡

因為小弟還無法下載
leiru大大的資料做參考
我有照你的方法試
結果excel顯示
只能在作用工作表上複製篩選範圍
是我的方法錯誤嗎
還是我只能在該工作表篩選後再把資料複製到另一個工作表呢
作者: gn00487767    時間: 2010-12-17 11:44

本帖最後由 gn00487767 於 2010-12-17 11:52 編輯

回復 2# Hsieh

感謝Hsieh 大大不厭其煩的為我解答
小弟董了

另外可否再請教一個問題
出處
我的問題跟yang3814大大的問題大同小異
我的問題是要印表格 我只能夠做到 只要在表格內輸入編號 其餘資料 會自己跑到表格內
我也一樣要做一個按鈕 就可以把 所有有編號的資料通通印出來
該如何設一按鈕就可以執行的程式碼
我的附件

補充一點 我的資料是陸續增加 所以要列印的東西也一樣

煩請 Hsieh 大大幫幫小弟
作者: Hsieh    時間: 2010-12-17 11:56

回復 4# gn00487767
  1. Sub Ex()
  2. Dim A As Range
  3. With Sheets("資料表")
  4. For Each A In .Range(.[A2], .[A2].End(xlDown))
  5.    With Sheets("表格")
  6.      .[E1] = A
  7.      .[C3] = A.Offset(, 1)
  8.      .[G3] = A.Offset(, 2)
  9.      .[C5] = A.Offset(, 3)
  10.      .[G5] = A.Offset(, 4)
  11.      .[C7] = A.Offset(, 5)
  12.      .[C9] = A.Offset(, 6)
  13.      .PrintOut '列印
  14.     End With
  15. Next
  16. End With
  17. End Sub
複製代碼

作者: gn00487767    時間: 2010-12-18 07:35

回復 5# Hsieh

再次感謝Hsieh大大 小弟再自行研究研究 有問題再跟您討教
作者: gn00487767    時間: 2010-12-20 10:03

本帖最後由 gn00487767 於 2010-12-20 10:27 編輯

回復 5# Hsieh

Hsieh大大 抱歉
小弟直接複製代碼
製作出來的按鍵 可是執行下去都沒動作呢
可以幫小弟查詢看看嗎
或是可以請您做一個可以使用的EXCEL檔案讓我做參考
小弟的信箱
[email protected]
麻煩您了
作者: gn00487767    時間: 2010-12-20 20:59

回復 5# Hsieh


感謝Hsieh大大
您寄給我的範例我收到了
測試過 可以正常使用了
原來是我直接複製代碼後直接貼上
跟您寄給我的範例裡
第一行代碼不一樣的問題
所以無法正常使用
作者: gn00487767    時間: 2010-12-26 01:23

本帖最後由 gn00487767 於 2010-12-26 06:06 編輯

回復 2# Hsieh


Hsieh大大抱歉
小弟又要麻煩您了
我的問題有2個
第一個問題在附件裡
我的附件
第二個問題 就是您之前回覆我的列印表格的問題
01.Sub Ex()
02.Dim A As Range
03.With Sheets("資料表")
04.For Each A In .Range(.[A2], .[A2].End(xlDown))
05.   With Sheets("表格")
06.     .[E1] = A
07.     .[C3] = A.Offset(, 1)
08.     .[G3] = A.Offset(, 2)
09.     .[C5] = A.Offset(, 3)
10.     .[G5] = A.Offset(, 4)
11.     .[C7] = A.Offset(, 5)
12.     .[C9] = A.Offset(, 6)
13.     .PrintOut '列印
14.    End With
15.Next
16.End With
17.End Sub


其中
04.For Each A In .Range(.[A2], .[A2].End(xlDown))
紅色的A 是什麼意思 或是怎麼來的呀
因為我直接用你給我附件測試可以直接列印
但是我自己做一個新的工作表 複製您的程式碼 但是不能用呢
其他的我都弄清楚代表什麼意思或是該怎麼使用(修改)
就只有其中的A我無法理解
我也從您給我的附件中把A作修改 還是可以使用
就我自己做出來的工作表中的A無法辨別
還是說我做的是因為我把您的資料中[A2] 到[A2] 的儲存格參照放在C欄位的儲存格並且還有合併儲存格的關西呢

對了 他傳給我錯誤訊息 忘了是450還是405
可以幫幫小弟嗎

再次麻煩大大了
作者: GBKEE    時間: 2010-12-26 09:35

回復 3# gn00487767
"但是進階篩選我無法在另一個工作表顯示"   可以使用 vba  
參照你在 http://forum.twbts.com/viewthread.php?tid=2190&extra= 的附檔
Sheets("資料表").Range("A1").CurrentRegion  資料庫->獨自一個工作表
Sheets("表格").[K1:L2]                                   篩選準則 ->獨自一個工作表
Sheets("Sheet3").[A1]                                   複製列的目標範圍 ->獨自一個工作表
  1. Sub Ex()
  2.     Sheets("Sheet3").[A1].CurrentRegion = ""
  3.     Sheets("資料表").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("表格").[K1:L2], CopyToRange:=Sheets("Sheet3").[A1]
  4. End Sub
複製代碼

篩選準則 (CriteriaRange) Sheets("表格").[K1:L2] 如圖

[attach]4204[/attach]


For Each A In  .Range(.[A2], .[A2].End(xlDown)) ( 物件的集合 )
A  為 物件的集合的元素
在此為   依序 [A2] ->[A3]->[A4]....
作者: gn00487767    時間: 2010-12-26 21:59

回復 10# GBKEE


   非常感謝熱心的 GBKEE 大大
  小弟了解了 也給了小弟很大的幫助
  小弟在此給您拍拍手^^
作者: gn00487767    時間: 2010-12-29 14:43

回復  gn00487767
"但是進階篩選我無法在另一個工作表顯示"   可以使用 vba  
參照你在  的附檔
Sheets ...
GBKEE 發表於 2010-12-26 09:35


可以否請教 GBKEE 大大 如您所說的進階篩選 是整個資料表為範圍
我如果要修改成 我選擇的範圍  如第一個工作表的(A1-E20) 準則範圍一樣在第二工作表 篩選結果要放在第三個工作表的(A5開始 或是A5到E24)
要怎樣做修改呢
還有另一個問題
就是如果篩選後的結果 列如 是 A1 到 A500
我要分次複製到 第二個工作表的 A1-A20 (固定都要複製到這然後列印)
第一次複製第一個工作表的 A1-A20  到第二工作表 的A1-A20 然後列印
第二次複製第一個工作表的 A21-A40 到第二工作表 的A21-A40 然後列印
第三次複製第一個工作表的 A41-A60 到第二工作表 的A41-A60 然後列印
如此循環
一直到結束
要怎麼做呢
可否請 GBKEE 大大 賜教
作者: Hsieh    時間: 2010-12-29 16:50

回復 12# gn00487767
進階篩選必須有標題列
如果新選取範圍要以選取區第一列為標題
那麼準則就必須同時變更標題
作者: gn00487767    時間: 2010-12-30 09:31

回復 13# Hsieh

感謝Hsieh 大大的回覆
小弟應該知道您所說的
但小弟是想問GBKEE 大大所指導小弟的程式碼 應該怎麼修改成篩選時 資料範圍用範圍式的 不要一整個工作表做資料範圍
    Sheets("資料表").Range("A1").CurrentRegion  資料庫->獨自一個工作表
Sheets("表格").[K1:L2]                                   篩選準則 ->獨自一個工作表
Sheets("Sheet3").[A1]                                   複製列的目標範圍 ->獨自一個工作表

因為小弟試過自己修改 但是都出現錯誤 真的不知道該怎麼做修改才好 所以...需要請求大大們協助

還有就是如何把篩選後的資料
分階段性的(一次20個)複製到另一個工作表然後列印
直到所有資料都列印完畢

可以煩請大大們指導指導小弟嗎
作者: Hsieh    時間: 2010-12-30 09:36

假設資料庫是Sheets("資料表")的A1:G50
Sheets("資料表").Range("A1").CurrentRegion  
改成
Sheets("資料表").Range("A1:G50")
作者: gn00487767    時間: 2010-12-31 10:38

回復 15# Hsieh


   謝謝 Hsieh大大
   小弟懂了
作者: gn00487767    時間: 2011-2-14 11:40

本帖最後由 gn00487767 於 2011-2-14 11:44 編輯

回復 10# GBKEE

請問 GBKEE 大大
如您所說的篩選

01.Sub Ex()

02.    Sheets("Sheet3").[A1].CurrentRegion = ""

03.    Sheets("資料表").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("表格").[K1:L2], CopyToRange:=Sheets("Sheet3").[A1]

04.End Sub


如果要修改成
名字為 資料庫 的EXCEL檔案裡面的 資料表 工作表 篩選結果到 名字為 結果 的 EXCEL檔案裡面的篩選後 工作表
要怎麼修改呢
麻煩 GBKEE 大大了
作者: Hsieh    時間: 2011-2-14 14:19

回復 17# gn00487767


   錄製可得
作者: gn00487767    時間: 2011-2-14 15:51

回復 18# Hsieh

謝謝 Hsieh 大大
小弟錄製看看
有問題在請教囉




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