返回列表 上一主題 發帖

[發問] 請問如何在插入新的一列時, 作為觸發事件?

[發問] 請問如何在插入新的一列時, 作為觸發事件?

Hello, all

小弟第一次發問, 有任何言詞不當的地方請不吝指正.


如上圖,
我想在Row47到50之間插入一新列, 並作為事件觸發另一個指令,
在有數字的欄位中貼上指定的公式 (因為單純插入一列, 公式不會自動承襲上一列).

但不知道可以用什麼語法來觸發"插入一列"這個事件,
請各位大神不吝解惑.

Many thanks...
Josh

回復 1# joshzhong
試試看
工作表上的預設事件(儲存格有改變所觸動事件)
  1. Option Explicit
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Dim Rng As Range
  4.     Set Rng = Range("C45:H50")   '指定插入新的一列的範圍
  5.    
  6.     If Target.Columns.Count = Rng.Columns.Count Then
  7.         'Columns.Count:傳回範圍內欄位的總數
  8.         'Rows.Count:傳回範圍內列位的總數
  9.         If Not Intersect(Rng, Target) Is Nothing And Target.Rows.Count = 1 Then
  10.         'Intersect 方法 傳回  ***[Range 物件]***,此物件代表兩個或多個範圍重疊的矩形範圍。
  11.         ' Target.Rows.Count = 1  '一列的範圍
  12.             If Target.Cells(1).Column = Rng.Cells(1).Column And Target.Cells(Target.Cells.Count).Column = Rng.Cells(Rng.Cells.Count).Column Then
  13.                 'Target.Cells(1).Column = Rng.Cells(1).Column
  14.                 '插入新的一列的第一個欄號=指定插入新的一列的範圍的第一個欄號
  15.                 'Target.Cells(Target.Cells.Count).Column = Rng.Cells(Rng.Cells.Count).Column
  16.                 '插入新的一列的最後一個欄號 = 指定插入新的一列的範圍的最後一個欄號
  17.                 MsgBox Target.Address
  18.             End If
  19.         End If
  20.     End If
  21. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 1# joshzhong

個人練習,插入列後,填入公式
    VBA解法2.gif

TOP

兩位大大,
謝謝你們的協助, 你們都好厲害!

我成功了, 可以插入一列作為trigger來引發其他動作; 目前先使用第一種方式,
覺得有趣, 正在試試第二種做法,
先感激不盡~

TOP

        靜思自在 : 【為善競爭】人生要為善競爭,分秒必爭。
返回列表 上一主題