2016-08-24 121 views
0

我在.NET應用程序中生成Excel電子表格。該文件有兩張紙。第一種是與第二張表格中數據深層鏈接的封面。當單擊鏈接時,第二張表單打開到該單元格,單元格的位置在左下角。我需要它打開右上角的單元格。鏈接到左上角鏈接單元格的Excel工作表

我很確定沒有辦法在生成該文件的.NET代碼中發生這種情況。 (但是,如果我錯了,請告訴我。)但是,我確實發現了一些關於此的其他討論,並且解決方案似乎是將一些VB代碼添加到Excel文件本身。意思是指用於種子數據併產生最終文件的模板文件。

下面的代碼:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    Application.Goto ActiveCell, True 
End Sub 

事情是,我真的不知道該如何處理這個代碼做。我可以從一些分步說明中受益......就像假設我是一個完全白癡的新手,當涉及到Excel(實際上,我是)

謝謝!!

+0

難道你不能只設置超鏈接指向你想鏈接到的單元格?例如。在VBA中代碼可能類似於工作表(「Sheet1」)。Hyperlinks.Add Anchor:= Worksheets(「Sheet1」)。Range(「A1」),Address:=「」,SubAddress:=「Sheet2!H1」, TextToDisplay:=「關注此鏈接」 '。它應該是類似於.Net的東西。 – YowE3K

+0

當然,我們可以將超鏈接設置爲我們要鏈接的單元格。但問題是,該單元最終在窗口的左下角。我們希望它在左上角。 –

+0

啊 - 所以這與超鏈接無關 - 你的問題是「我如何顯示一張表格,使單元格x位於左上角」。 (我正在閱讀它,因爲超級鏈接正在將你帶到工作表左下角的單元格中。) – YowE3K

回答

1

以下代碼將首先轉到目標右側一列的單元格,並將其放置在左上角。然後它將窗口向左移動一頁,然後再次選擇原始目標而不滾動。

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
    Application.Goto ActiveCell.Offset(0, 1), True 
    ActiveWindow.LargeScroll ToLeft:=1 
    Application.Goto ActiveCell.Offset(0, -1), False 
End Sub 

我不知道,如果你的目標是會發生什麼,例如,小區B100 - 窗口移至左側可能會或可能無法正常工作。

P.S.此代碼應放置在包含超鏈接的工作表的代碼模塊中。

+0

我不確定你的問題爲什麼說這個單元格在左下角開放。我的總是在左上角開放。我可能會玩一玩,看看我是否可以複製你的行爲方式 - 它可能需要對代碼進行另外的調整。 – YowE3K

+0

謝謝你的代碼!但是,我真正的問題是......我該怎麼做這個代碼?我不知道它在Excel中的位置。正如我在OP中所說的那樣,我真的很希望在這些代碼的放置位置以及如何保存這些代碼方面做出白癡的證明。 –

+0

打開你的模板文件,進入宏編輯器(不同版本的Excel中的不同方法,但嘗試Alt-F11),在左側的項目窗口中雙擊包含超鏈接的工作表,粘貼編碼到主「代碼」窗口(此時可能爲空),關閉宏編輯器,保存模板文件。 – YowE3K

相關問題