Board logo

標題: [發問] 請問如何在插入新的一列時, 作為觸發事件? [打印本頁]

作者: joshzhong    時間: 2017-12-1 19:06     標題: 請問如何在插入新的一列時, 作為觸發事件?

Hello, all

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

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

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

Many thanks...
Josh
作者: GBKEE    時間: 2017-12-2 15:51

回復 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
複製代碼

作者: joblyc017    時間: 2017-12-2 16:49

回復 1# joshzhong

個人練習,插入列後,填入公式
    [attach]28059[/attach]
作者: joshzhong    時間: 2017-12-4 18:02

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

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




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