返回列表 上一主題 發帖

如何觸發巨集

如何觸發巨集

各位先進好
請問
如附件檔案
當H欄位改變就觸發"排名test02巨集"
請問
如何使用事件觸發?
若不用事件觸發,要如何觸發?

Image 1011-1.jpg (258.36 KB)

Image 1011-1.jpg

1101005-(絕對)比對複製QA.rar (258.95 KB)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$6" Then
Call 排名test02
End If
End Sub
剛上網查...這招是不OK的..不知原因

TOP

If application. Intetsect([h:h], target)  then ...

TOP

在3/F 用手機打錯字., 更正為如下:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Application.Intersect([h:h], Target) Then Call 排名test02
  3. End Sub
複製代碼

TOP

回復 2# oak0723-1

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then Call 排名test02
End Sub

TOP

回復 4# ikboy


    你好
感謝熱心關注
執行結果卡住了
因為有IF沒有END IF

Image 16.jpg (248.95 KB)

Image 16.jpg

TOP

回復 5# samwang


    感謝關注回復
我這個檔案運作如下
當工作表"從01(接收)"A欄內容若有被貼上動作(從別的檔案複製過來)就把A欄位第6列(儲存格A6為起點)以後的資料複製轉置後貼到工作表"比對"第3列(儲存格I6為起點)
再將工作表"比對"H欄第6列(儲存格H6為起點)資料複製後貼到H欄位第6列(儲存格H6為起點)並啟動"排名test02"巨集
目前執行結果
整個檔案會當掉
如附件

1101012-(絕對)比對複製QA.rar (257.15 KB)

TOP

觸發巨集的方式
儲存格內容直接更改

儲存格內容是因為被"貼上"而改變的不同
所以
增加了一些問題

TOP

回復  samwang


    感謝關注回復
我這個檔案運作如下
當工作表"從01(接收)"A欄內容若有被貼上動作( ...
oak0723-1 發表於 2021-10-12 21:14


這和#1 的問題是一樣嗎? 不好意思,看不懂您實際需求是要做什麼。

TOP

回復 7# oak0723-1


我猜想您的需求,應該是觸發排名test02()時Arr沒有指定工作表而導致問題,請確認,謝謝
With Sheets("計算(輸出)")
Arr = .Range(.[h1], .[h1].Cells(Rows.Count, 1).End(3))   
...
..
.[i6].Resize(UBound(Arr) - 5) = Arr
End With

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題