Excel.Tips.Net Welcome toExcel.Tips.Net

Helpful Links

Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment

Tips.Net Store

ExcelTips FAQ
ExcelTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

Newest Tips

Converting to Octal

Filtering Columns for Unique Values

Printing Multiple Worksheets on a Single Page

Changing the Default Font

Creating a Drawing Object

Determining a Value of a Cell

Understanding Macros

 

Extracting URLs from Hyperlinked Images

Summary: When copying information from the Internet to an Excel workbook, you may want to get rid of graphics but keep any hyperlinks associated with those graphics. This can be easily done by using the macro highlighted in this tip. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)

One way you can use data from the Internet in an Excel worksheet is to copy it from a Web page and then paste it into the worksheet. For instance, you can select a table of data on a Web page, press Ctrl+C to copy it to the Clipboard, select a cell in Excel, and then press Ctrl+V. Excel does its best to parse the data and put it in the proper cells, just like it was in the original table.

The problem is that you'll often get more than just the table data. If there were other objects in the data you copied from the Web, those objects will be pasted into the worksheet, as well. It is not uncommon to end up with all sorts of small graphics in the worksheet. If these graphics were originally hyperlinks, you may want to actually extract the hyperlink and then delete the graphic. This would make the data in the worksheet much more usable.

The way to do this is with a macro. Once you've pasted the Web information into the worksheet, run the following macro.

Sub ConvertHLShapes()
    Dim shp As Shape
    Dim sTemp As String

    For Each shp In ActiveSheet.Shapes
        sTemp = ""
        On Error Resume Next 'go to next shape if no hyperlink
        sTemp = shp.Hyperlink.Address
        On Error GoTo 0
        If sTemp <> "" Then
            shp.TopLeftCell.Value = sTemp
            shp.Delete
        End If
    Next
End Sub

This macro steps through each of the shapes in the worksheet. It then checks to see if the shape has an associated hyperlink. If it does, then the address of that hyperlink (in the sTemp variable) is placed into the cell at the top-left corner of where the shape is located. The macro deletes any shapes that have hyperlinks; you can force it to delete all shapes in the worksheet by simply moving the shp.Delete line to the outside of the If ... End If structure.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2907) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003 | 2007

Remove Some Stress at Tax Time! Doing your personal income taxes can be a royal pain. Why not make the process just a bit less stressful with our 101-question checklist. You can prepare for filing your taxes with confidence, knowing you've covered all your bases.
 
Check out Filing Your Income Taxes Checklist today!