• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 288
  • Last Modified:

Hyperlink from one sheet to another in same spreadsheet

Need some help with some Excel VBA for an Excel 2007 spreadsheet.

Have a spreadsheet where I've got a worksheet named Suppliers (data is dynamic and is populated from an SQL Server database, and can have up to around 30,000 entries), so will have entries such as

         A                      B
    SupplierName     SupplierNo
1   SUPPLIER-1           001
2   SUPPLIER-2           002
3   SUPPLIER-3           003

The spreadsheet would also have another worksheet named SupplierDetails.

What I'd like to be able to do is this. The SupplierDetails worksheet would be initially hidden. The user should be able to click on any SupplierNo (so each SupplierNo should be a hyperlink), at which point the SupplierDetails worksheet should become visible.

Once SupplierDetails is visible, the user should then be taken to SupplierDetails worksheet. At that point, I will populate the SupplierDetails worksheet with various details from the SQL Server database, but I need to be able to pick up the the value of the SupplierNo which the user clicked back on the Suppliers worksheet.

I've got all the plumbing in place for populating the worksheets from the database, but just need to know specifically how to

      a) Initially have the SupplierDetails worksheet hidden;
      b) Have each SupplierNo on the Suppliers worksheet as a hyperlink
      c) As the user clicks on the SupplierNo hyperlink, the SupplierDetails worksheet
         should then become visible, and the user should be taken to cell A1 on
         the SupplierDetails worksheet, with that cell containing the specific  
                   SupplierNo which the user clicked back on the SupplierDetails worksheet.
      d) I can then pick up this SupplierNo on the SupplierDetails worksheet and
         pass that value down as a parameter to my database stored proc.
        
Would really appreciate some help in Excel VBA with points a-c ....         

Thanks

Ray
0
raymurphy
Asked:
raymurphy
  • 2
  • 2
1 Solution
 
RyanProject Engineer, ElectricalCommented:
To toggle visibility.  Sheets("SupplierDetails").Visible = false
I wouldn't use "hyperlink". If you want to format it in blue and underline, ok, but just handle the click event.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Range.Cells.Count = 1 And Target.Column = 1 Then
    Sheets("SuppliersDetail").Visible = True
    Sheets("SuppliersDetail").Range("A1").Select
    
    ...
End If
End Sub

Open in new window

0
 
raymurphyAuthor Commented:
Thanks for the prompt reply   ..  I'm fairly new to Excel VBA, so excuse my dumb questions.

So would the code Worksheet_SelectionChange go against my Suppliers worksheet, and is that the only code I would need under  Worksheet_SelectionChange ? Also still not sure how this code would pick up the SupplierNo that has been clicked on the first Suppliers worksheet ....
0
 
RyanProject Engineer, ElectricalCommented:
The event is in the Suppliers Wks, yes.  It is fired everytime you move/click to a new cell, so the first if statement restricts it to just 1 cell, and it has to be in column 1 (Col A).

You would need another function that does whatever query for the given supplierNo, which would be available as Target.Text  since target is the cell you clicked on, which is the supplier  no in this case.
0
 
raymurphyAuthor Commented:
Thanks for this - my initial tests seem OK ...
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now