Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Automatically hyperlinking to specific folder based on value entered in cell

Posted on 2014-03-22
5
Medium Priority
?
421 Views
Last Modified: 2014-03-22
The following formula currently resides in Column G:
=IFERROR(HYPERLINK("Q:\20"&LEFT(F78,2)&"\"&IF(MID(F78,FIND("-",F78)+1,1)="9","DND\","")&TEXT(F78,"0000-00"),""&TEXT(F78,"0000-00")),"")

The formula references a numeric value in Column F, which corresponds to a folder name on the Q network drive. It takes the number in Column F, and creates a hyperlink to the correct network folder on Q based on the criteria within the formula (this criteria is outlined at the end of my question below), and autopopulates the hyperlinked folder number in Column G.

The numeric value in column F is always formatted as follows:
yy-xxxx where yy is the last 2 digits of a year, followed by a dash, followed by a 4-digit number.

Instead of having 2 columns with the same data, Column F with the un-hyperlinked folder number, and Column G with the hyperlinked folder number, I would like to:
1. Eliminate Column F
2. Have the user enter the folder number (yy-xxxx) into Column G, upon which the hyperlink would automatically be created, based on the same criteria as the current formula above (and outlined in detail below).

Outline of criteria contained in the current formula:

The 3 sub folders on the Q network drive that could contain the folder number entered by the user into Column G:
Q:\2013\DND
Q:\2014
Q:\2014\DND
All sub folders in the above folders are formatted the same way as described above: "yy-####".

If value entered into Column G is:
13-1###
13-2###
13-3###
13-4###
13-5###
13-6###
13-7###
13-8###
then the value needs to hyperlink to corresponding folder number within the 'Q:\2013' sub folder.

If value entered into Column G is:
13-9###
then the value needs to hyperlink to corresponding folder number within the 'Q:\2013\DND' sub folder:

If value entered into Column G is:
14-1###
14-2###
14-3###
14-4###
14-5###
14-6###
14-7###
14-8###
then the value needs to hyperlink to corresponding folder number within the 'Q:\2014' sub folder.

If value entered into Column G is:
14-9###
then the value needs to hyperlink to corresponding folder number within the 'Q:\2014\DND' sub folder:

Thanks,
Andrea
0
Comment
Question by:Andreamary
  • 3
  • 2
5 Comments
 
LVL 54

Expert Comment

by:Rgonzo1971
ID: 39947661
Hi,

pls try

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then ' Col G
    If Target.Value Like "##-####" Then
        If Target.Value Like "##-9###" Then
            addDND = "DND\"
        Else
            addDND = ""
        End If
        Application.EnableEvents = False
        Target.Formula = "=HYPERLINK(""Q:\20" & Left(Target, 2) & "\" & addDND & Target.Value & Chr(34) & ")"
        Application.EnableEvents = True
    End If
End If
End Sub

Open in new window

Regards
0
 

Author Comment

by:Andreamary
ID: 39947704
Thanks for the quick response!

It worked the first time I clicked on the cell in Column G, but when I went back and clicked on the same cell, it didn't work, and seemed to be adding "C:\20C:\" to the path every time I reclicked as shown below:

=HYPERLINK("C:\20C:\C:\20C:\C:\2013\13-5555")

Secondly, clicking on it changed the cell value from the original "13-5555" to "C:\2013\13-5555", and my hope is for the cell value to stay as 13-5555, as it did when using the formula (as there are some long filepaths and it clutters the spreadsheet). Is that possible?

Thanks!
Andrea
0
 

Author Comment

by:Andreamary
ID: 39947717
Sorry, my error! Just realized I caused the error above by mis-entering your solution — I hadn't included the third line of code. Now that I have, link works multiple times just fine.

So if it would be possible to resolve my second point above — having the cell value remain unchanged after it is clicked, showing just the folder number (i.e., 13-5555) as originally entered instead of changing to include the filepath, that would be great!

Thanks again,
Andrea
0
 
LVL 54

Accepted Solution

by:
Rgonzo1971 earned 2000 total points
ID: 39947738
pls try

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then ' Col G
    If Target.Value Like "##-####" Then
        If Target.Value Like "##-9###" Then
            addDND = "DND\"
        Else
            addDND = ""
        End If
        Application.EnableEvents = False
        Target.Formula = "=HYPERLINK(""Q:\20" & Left(Target, 2) & "\" & addDND & Target.Value _
            & Chr(34) & "," & Chr(34) & Target.Value & Chr(34) & ")"
        Application.EnableEvents = True
    End If
End If
End Sub

Open in new window

Regards
0
 

Author Closing Comment

by:Andreamary
ID: 39947787
Perfect...thanks so much, Rgonzo!
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes how you can use Custom Document Properties to store settings and other information in your workbook so that they will be available the next time you open the workbook.
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question