[問題] VBA 工作群組下一起輸入值或公式

看板Office作者 (翼をください)時間11年前 (2015/04/23 11:09), 11年前編輯推噓3(3011)
留言14則, 3人參與, 最新討論串1/1
軟體:Office Excel 版本:2010 選擇一張工作表時,若要針對A1進行填值,VBA可寫── Range("A1") = 1 但是當選擇多張工作表時,若要針對每張工作表的A1進行填值,VBA要寫成── Range("A1").Select: Selection = 1 因為要Select一範圍就要先Activate該活頁簿、Active該工作表,會讓運行變慢, 不知道有沒有其他寫法可以類似只填一張工作表那樣簡潔又不需Select呢? 謝謝! -- ┌─────────────────────────────┐ 就這樣,終於到了啟程的日子。 和來機場送行的朋友們說著玩笑話,其實內心恍恍惚惚像在作夢。 也似乎是因為,為了走到「出發」這一步,耗盡了全部心力。 └─────────────────石田裕輔《不去會死!》─┘ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.149.121 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1429758563.A.39F.html

04/23 12:01, , 1F
查了一下無查到如一張工作那麼簡易的寫法;運行變慢方面是
04/23 12:01, 1F

04/23 12:02, , 2F
否以application.enableevents的部分下手看看呢?
04/23 12:02, 2F

04/23 13:05, , 3F
謝謝蘇大! 最近被效能優化搞到有點頭大 沒有個比較準確
04/23 13:05, 3F

04/23 13:05, , 4F
的原則 Q_Q
04/23 13:05, 4F

04/23 13:26, , 5F
準確的原則是指?
04/23 13:26, 5F

04/23 13:30, , 6F
優化上是否還是在activate時的自動運算而再調整呢?
04/23 13:30, 6F
很多,例如說我以為陣列處理最快,所以把一些大範圍的複製貼上改用陣列取代, 結果執行時間反而變長... 還有Find、Match運算,網路上查到是Match比較快, 結果我改寫自己用Find寫成的東西後,執行時間也是變長了... 現在我都要透過測試執行時間,才能知道該用哪種程序才會將效能優化,有點苦惱 ※ 編輯: foolkids (60.249.149.121), 04/23/2015 15:12:39

04/23 19:19, , 7F
cell(1,1).value=1
04/23 19:19, 7F

04/23 19:20, , 8F
我一直都直接wb.ws.cell我寫囧
04/23 19:20, 8F

04/23 19:22, , 9F
直接在ws用陣列表示?
04/23 19:22, 9F

04/23 19:26, , 10F
如非必要不要用select activate等東西阿直接在code寫入數
04/23 19:26, 10F

04/23 19:26, , 11F
04/23 19:26, 11F

04/24 00:00, , 12F
直接在code寫數值?您是說跑迴圈嗎?
04/24 00:00, 12F

04/24 00:02, , 13F
我舉例的狀況是多張工作表的A1都要輸入1,不知有何好方
04/24 00:02, 13F

04/24 00:02, , 14F
法?
04/24 00:02, 14F
文章代碼(AID): #1LE69ZEV (Office)
文章代碼(AID): #1LE69ZEV (Office)