This document provides macros for refreshing and unlinking Excel formulas that are connected to Capital IQ data. It includes macros to refresh selections, worksheets, and entire workbooks. It also includes a macro to unlink Capital IQ formulas, giving the user a choice to unlink a selection, worksheet, or entire workbook. The unlink macro searches for various Capital IQ formula functions and removes the links while keeping the displayed values.
This document provides macros for refreshing and unlinking Excel formulas that are connected to Capital IQ data. It includes macros to refresh selections, worksheets, and entire workbooks. It also includes a macro to unlink Capital IQ formulas, giving the user a choice to unlink a selection, worksheet, or entire workbook. The unlink macro searches for various Capital IQ formula functions and removes the links while keeping the displayed values.
This document provides macros for refreshing and unlinking Excel formulas that are connected to Capital IQ data. It includes macros to refresh selections, worksheets, and entire workbooks. It also includes a macro to unlink Capital IQ formulas, giving the user a choice to unlink a selection, worksheet, or entire workbook. The unlink macro searches for various Capital IQ formula functions and removes the links while keeping the displayed values.
Macros to Refresh Excel Plug-in formulas o Macro to Refresh Selection o Macro to Refresh Worksheet o Macro to Refresh Workbook o Macro for Double Refresh o Macro for CIQ SCREEN Refresh
Macro to Unlink Excel Plug-in formulas
Page 2 of 8 Macros to Refresh Excel Plug-in formulas
These macros can be used to refresh Excel Plug-in formulas. They are as follows.
Refresh Selection This macro refreshes selected range of cells in a worksheet.
Public Sub RefreshSelection() Dim Refreshbutton As CommandBarButton Set Refreshbutton = Application.CommandBars.FindControl(Tag:="menurefreshdatacell") Refreshbutton.Execute End Sub
Refresh Worksheet This macro is used to refresh a single worksheet in a workbook.
Public Sub RefreshWorksheet() Dim Refreshbutton As CommandBarButton Set Refreshbutton = Application.CommandBars.FindControl(Tag:="menurefreshdatasheet") Refreshbutton.Execute End Sub
Refresh Workbook This macro is used to refresh entire workbook.
Public Sub RefreshWorkbook() Dim Refreshbutton As CommandBarButton Set Refreshbutton = Application.CommandBars.FindControl(Tag:="menurefreshdatabook") Refreshbutton.Execute End Sub
Double Refresh This macro refreshes the entire workbook twice.
Public Sub RefreshWorkbook() Dim Refreshbutton As CommandBarButton Set Refreshbutton = Application.CommandBars.FindControl(Tag:="menurefreshdatabook") Refreshbutton.Execute Refreshbutton.Execute End Sub
Page 3 of 8 CIQ SCREEN Refresh
Public Sub RefreshCIQScreen() Dim Refreshbutton As CommandBarButton Set Refreshbutton = Application.CommandBars.FindControl(Tag:="rcscreenrefresh") Refreshbutton.Execute End Sub
This macro refreshes CIQ SCREEN formulas of an active sheet. It finds CIQSCREEN() formulas and refreshes them with an interval of 10 seconds (default) between one CIQ SCREEN refresh and another. Initially this macro refreshes the current worksheet.
Option Explicit Dim AddressArray() As String Dim Counter As Integer Dim i As Integer, DummySec As Integer 'set time interval here in seconds between one CIQSCREEN refresh to another Const RefreshIntervalSec As Integer = 10
Dim CheckAddress As String, LastRow As Long, ColumnNo As Long, RowNo As Long Dim CellsFound As Variant
Set CellsFound = Cells.Find(What:="CIQSCREEN", LookIn:=xlFormulas, LookAt:=xlPart)
If Not CellsFound Is Nothing Then CheckAddress = CellsFound.Address Counter = 0 Do ColumnNo = CellsFound.Column RowNo = CellsFound.Row LastRow = Cells(65536, ColumnNo).End(xlUp).Row
If LastRow > RowNo Then Range(Cells(RowNo + 1, ColumnNo).Address & ":" & _ Cells(LastRow, ColumnNo).Address).ClearContents End If
Counter = Counter + 1 ReDim Preserve AddressArray(1 To Counter) AddressArray(Counter) = Cells(RowNo, ColumnNo).Address Set CellsFound = Cells.FindNext(CellsFound)
Loop While Not CellsFound Is Nothing And CellsFound.Address <> CheckAddress End If
If Counter > 0 Then
Page 4 of 8 'refreshing the current sheet for logging into excel plug-in Range("A1").Select Application.CommandBars.FindControl(Tag:="menurefreshdatasheet").Execute DummySec = 1 i = 1 Call CIQScreenRefreshRoutine Else MsgBox "No CIQ SCREEN formulas found.", , "Capital IQ Excel Plug-in" Application.StatusBar = False End If
End Sub
Private Sub CIQScreenRefreshRoutine()
If i > Counter Then Application.StatusBar = False End End If
Range(AddressArray(i)).Select If Selection.HasFormula = True Then Application.CommandBars.FindControl(Tag:="rcscreenrefresh").Execute DummySec = RefreshIntervalSec Else DummySec = 1 End If
i = i + 1 Application.OnTime Now + TimeValue("00:00:" & DummySec), "CIQScreenRefreshRoutine"
End Sub
Macro to Unlink Excel Plug-in formulas
This macro can be used to unlink all types of Excel Plug-in formulas. It gives a choice to the user to input criteria to unlink i.e., unlink a selected range of cells, a worksheet or an entire workbook. After successful unlinking the macro allows the user to save a copy of current workbook.
Sub UnlinkCIQ()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
On Error GoTo Check_Error
Dim CheckAddress As String, ColumnNo As Long, RowNo As Long, _ CIQTextFound As Long, SingleTime As String, MyString As String
Page 5 of 8 Dim SearchStringArr(1 To 27) As String, i As Integer, _ MyAddress As String, ws As Worksheet, cellsfound As Variant Dim Result As Integer, CurrSheetName As String
Result = Application.InputBox("Choose from the following..." & Chr(10) & _ " 1 - Unlink Current Selection" & Chr(10) & _ " 2 - Unlink Current Worksheet" & Chr(10) & _ " 3 - Unlink Current Workbook" & Chr(10) & _ " 4 - Exit", Title:="Capital IQ Excel Plug-in Unlink", _ Type:="1")
If Result = 4 Or Result = False Then Application.ScreenUpdating = True End End If
If Result < 1 Or Result > 4 Then MsgBox Prompt:="Invalid Input!", _ Title:="Capital IQ Excel Plug-in Unlink" Application.ScreenUpdating = True End End If
CurrSheetName = ActiveSheet.Name
For Each ws In Worksheets ws.Activate
Page 6 of 8 'Unlink Selection Or Unlink Worksheet If Result = 1 Or Result = 2 Then If ws.Name <> CurrSheetName Then GoTo SkipNext End If End If
For i = 1 To 27 MyString = SearchStringArr(i) SingleTime = "Yes" MyAddress = ""
If Result = 1 Then Set cellsfound = Selection.Find(What:=SearchStringArr(i), _ LookIn:=xlFormulas, LookAt:=xlPart) Else Set cellsfound = Cells.Find(What:=SearchStringArr(i), _ LookIn:=xlFormulas, LookAt:=xlPart) End If MyAddress = cellsfound.Address
If Not cellsfound Is Nothing Then
Do ColumnNo = cellsfound.Column RowNo = cellsfound.Row
If WorksheetFunction.IsText(Cells(RowNo, ColumnNo)) Then CIQTextFound = WorksheetFunction.Search(SearchStringArr(i), _ Cells(RowNo, ColumnNo).Value)
If CIQTextFound > 0 Then CIQTextFound = 0
If SingleTime = "Yes" Then CheckAddress = cellsfound.Address SingleTime = "No" End If
End If End If
If Result = 1 Then Set cellsfound = Selection.FindNext(cellsfound) Else Set cellsfound = Cells.FindNext(cellsfound) End If MyAddress = cellsfound.Address
Loop While Not cellsfound Is Nothing And _ cellsfound.Address <> CheckAddress End If Next i
Page 7 of 8 SkipNext: Next ws
Sheets(CurrSheetName).Select
Application.ScreenUpdating = True SaveAsFile End
Check_Error: If Err.Number = 91 Or Err.Description = _ "Unable to get the Search property of the WorksheetFunction class" Then Err.Clear Resume Next Else MsgBox "An error has occurred causing this operation to halt. Error details are as follows: " & _ Chr(10) & "Error Code: " & Err.Number & Chr(10) & "Error Context: " & Err.Description & _ Chr(10) & Chr(10) & "Help is available at " & Err.HelpFile, vbExclamation, "Capital IQ" End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Private Sub SaveAsFile()
Dim test As Integer, NewBook As Workbook, fName As Variant
On Error GoTo Error_Situation
Set NewBook = ActiveWorkbook
test = MsgBox("Unlinking Successfull." & Chr(10) _ & "Do you want to save this file under a different name now?", _ vbYesNo, "Capital IQ Excel Plug-in Unlink")
If test = 7 Then End Else ' Do fName = Application.GetSaveAsFilename(fileFilter:= _ "Excel File (*.xls), *.xls") ' Loop Until fName <> False
If fName = False Then End End If
NewBook.SaveAs Filename:=fName End If
End
Page 8 of 8 Error_Situation: MsgBox "An error has occurred causing this operation to halt. Error details are as follows: " & _ Chr(10) & "Error Code: " & Err.Number & Chr(10) _ & "Error Context: " & Err.Description & Chr(10) & Chr(10) _ & "Help is available at " & Err.HelpFile, vbExclamation, "Capital IQ" End Sub