返回列表 上一主題 發帖

關於巨集錯誤的問題

關於巨集錯誤的問題

我設定了些巨集,希望讓我所選取的姓名可以快速的自動編列成隊伍的EXCEL如下:
http://naturefruit.myweb.hinet.net/TEAM.xls

能否幫我看一下我的隊伍一,和清除這兩個按鈕分別各出現問題如下圖:



都卡在Range這個部分,請問我該如何改寫呢?

本帖最後由 GBKEE 於 2010-8-11 19:49 編輯

回復 1# vpower
  1. Private Sub CommandButton1_Click()
  2.     Selection.Copy
  3.     Sheets("總覽").Select
  4.     Range(Cells(1, 2)).Select
  5.     Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
  6.         False, Transpose:=True
  7. End Sub
  8. Private Sub CommandButton3_Click()
  9.     Sheets("總覽").Select
  10.     Range("2:2,4:4,6:6").Select
  11.     Range("A6").Activate
  12.     Selection.ClearContents
  13. End Sub
複製代碼
這是你原本的程式碼  在sheets("原稿") 物件模組中
Sheets("總覽").Select-> '指定 "總覽"為作用中的工作表
接下的 Range(Cells(1, 2)).Select   語法是錯誤的
正確是  Range(Cells(1, 2).Address).Select    但這樣還是會有錯誤
因為 程式碼是在"原稿"中  所以沒有指明是哪一個SHEET中作Select 會在"原稿"中作Select的方法
如此就產生錯誤 須修改成 Sheets("總覽").Range(Cells(1, 2).Address).Select
                                  同 Sheets("總覽").Cells(1, 2).Select
                                  同 Sheets("總覽").Range("B1").Select
CommandButton3_Click ->  Range("2:2,4:4,6:6").Select  修改成 Sheets("總覽").Range("2:2,4:4,6:6").Select
                                            Range("A6").Activate     修改成   Sheets("總覽").Range("A6").Activate

如果 你將程式碼寫在一般模駔(Module) 中就沒有問題的

TOP

我發現第一個問題
把Range前面加上ActiveSheet.即可以完成

GBKEE大大謝謝~想請教一下!
其實我的Range(Cells(1, 2)).Select不是我巨集原來的是我自己修該測試的
原來的是Range("A2").Select  然後我把他修改成ActiveSheet.Range("A2").Select 就可以了
那我第2題是否也可以這樣修改呢? 感謝您!

TOP

本帖最後由 vpower 於 2010-8-11 20:11 編輯

還要請教一下,是否只有複製才能選擇性貼上呢?

因為我編列小隊希望可以用剪下的方式,這樣貼上的話就變成空白,比較好查看出哪些人沒被編列到小隊裡面

或是我可以利用設定格式化條件讓我所複製過的儲存格變色,我該怎麼做呢?

TOP

一切問題都解決了,謝謝GBKEE完成我的所有問題..讓我受益良多1

TOP

本帖最後由 GBKEE 於 2010-8-12 08:24 編輯

回復 3# vpower
ActiveSheet.Range("A2").Select     ->ActiveSheet =作用中的工作表
所以上面的語法意思=> 作用中的工作表在 Range("A2").Select 的方法
第2題是也可以這樣修改的

回復 4# vpower
  1. Private Sub CommandButton1_Click()
  2.     With Selection
  3.         .Copy
  4.         Sheets("總覽").Range("b1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
  5.                 False, Transpose:=True
  6.         .Value = ""
  7.     End With
  8. End Sub
複製代碼

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題