2017-02-28 63 views
2

有沒有什麼辦法通過點擊我的單元格上的+符號來插入一行。我如何在vba中使用+符號插入行?

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    If Target.Parent.Value = "+" Then 
     Insert.Row 
     Exit Sub 
    End If 
End Sub 
+2

有趣的,你試試?以上代碼的結果是什麼?用'Target.Parent.EntireRow.Insert'代替'Insert.Row' –

+2

'行(Target.Parent.Row).Insert' –

+0

我很好奇你爲什麼在WorksheetFollowHyperlink宏中有它。 –

回答

0

假設你要添加超鏈接下方的行(以下工作表模塊):

Option Explicit 

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    If Target.Parent.Value = "+" Then Rows(Target.Parent.Row + 1).Insert 
End Sub 

的事情是,你必須創建另一個超鏈接到這個新行?這是一個短視的設計,因爲你有a restriction of 66,530 hyperlinks per worksheet

好奇爲什麼一個命令按鈕不是一個選項?

+0

謝謝...它的工作 – user3713336

1

這對我來說是新的。你有超鏈接分配給「+」號嗎?除非在該單元格中有超鏈接,否則followhyperlink宏將不起作用。

以下內容適用於任何文本單元格,您可以使用加號或「添加行」或任何您想要的文本。然後如果該單元格被選中,那麼它會在下面添加一個新行。如果你想確保你不會意外地選擇這個單元格,你可以使用「Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)」,而這會迫使你雙擊「+」號來添加一個行。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Value = "+" Then 
     Rows(Target.Row + 1).Insert 
     Cells(Target.Row + 1, Target.Column).Value = "+" 
     Cells(Target.Row + 1, Target.Column).Select 
    End If 
End Sub 

或者是安全與雙擊

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
If Target.Value = "+" Then 
    Rows(Target.Row + 1).Insert 
    Cells(Target.Row + 1, Target.Column).Value = "+" 
    Cells(Target.Row + 1, Target.Column).Select 
End If 

End Sub 
+0

此代碼不工作...我有這個添加超鏈接+符號。 ....如果ActiveSheet.Cells(1,1)<>「」然後 ActiveSheet.Hyperlinks.Add錨點=單元格(1,1),_ 地址:= strString 結束如果 – user3713336

+0

所以是的,你確實有分配給「+」號的超鏈接。在那種情況下,@PatricK給出的答案應該可以工作。只需修改它即可將您的鏈接添加到新行。 –

+0

你的意思是將我的鏈接添加到新行。它不起作用 – user3713336