Cant Remove Missing Reference Using Vba |
Cant Remove Missing Reference Using Vba - Excel |
|
I'm having a problem with a missing reference when moving an xlsm file into another computer.
After a little research I've found that the problem is the minor number.
For some reason, in my PC the reference is added with minor = 2 and the target PC needs it with minor=0 (I've checked the minor number in the target PC by fixing the reference by hand and listing the references again).
First of all, why's that difference with minor numbers? The workbook use 8 different references and only one fails to load because of that (I didn't check the other minor and major numbers because didn't fail, but I guess they're the same). The path to the reference (REFEDIT.DLL) is okay, the only difference is the minor number.
Anyway, I've tried to fix this with some code I found on the net and I can't remove the reference!
VB:
Sub AddReference() 'Macro purpose: To add a reference to the project using the GUID for the 'reference library Dim strGUID As String, theRef As Variant, i As Long 'Update the GUID you need below. strGUID = "{00024517-0000-0000-C000-000000000046}" 'Set to continue in case of error On Error Resume Next 'Remove any missing references For i = ThisWorkbook.VBProject.References.Count To 1 Step -1 Set theRef = ThisWorkbook.VBProject.References.Item(i) If theRef.isbroken = True Then ThisWorkbook.VBProject.References.Remove theRef End If Next i 'Clear any errors so that error trapping for GUID additions can be evaluated Err.Clear 'Add the reference ThisWorkbook.VBProject.References.AddFromGuid _ GUID:=strGUID, Major:=1, Minor:=0 'If an error was encountered, inform the user Select Case Err.Number Case Is = 32813 'Reference already in use. No action necessary Case Is = vbNullString 'Reference added without issue Case Else 'An unknown error was encountered, so alert the user MsgBox "A problem was encountered trying to" & vbNewLine _ & "add or remove a reference in this file" & vbNewLine & "Please check the " _ & "references in your VBA project!", vbCritical + vbOKOnly, "Error!" End Select On Error Goto 0 End SubIf you like these VB formatting tags please consider sponsoring me in support of injured Royal Marines
I've run this in debug mode and stopped it after the Remove line was executed, went to see if the reference was actually removed but was still there so I guess that's why it isn't added again later (because it's already there).
What am I missing?
Similar Topics
I'm quite experienced Excel user. I've never come across this problem but tinkering in every conceivable way within Excel settings and the solution has eluded me.
I have added a worksheet created elsewhere (it is a form I need printing, with the data coming from 2 sheets I have created from scratch) which has pre formatted cells for Date and Client Name etc.
When I try to reference the cell in this added sheet from my 2 sheets, instead of the result, it always displays the formula, not the result.
I have tried doing it from one of my sheets to reference to this new, and that displays the result and not formula. I can't imagine why it's doing this and I've never seen it happen before.
Formatting cells, giving cells names rather than the usually adequate of reference to the Cell Number doesn't change things. I wonder if I've picked up some legacy protection from the original form but can't see anywhere in the tools etc that's obvious.
There's about 50+ cells that need referencing and I got to get this done for work.
Please help me. This is my first need to post on a Excel Forum as I've always found help or answers from other peeps or internet but this one is making me scratch my head big time.
The following code is placed in workbook 'A' and is used to open workbook 'B'. These workbooks will now always be housed in the same directory and i want to change the code to use a relative path reference by determining the path of workbook 'A'. here's what I had:
Sub income_statement()
Application.WindowState = xlMaximized
Application.Workbooks.Open "C:\Documents and Settings\.....\workbook B.xls", UpdateLinks:=xlUpdateLinksAlways
End Sub
could you suggest how to change this to use a relative path reference?
Found the following code and it gets me close, but it copies the cell references, not the values. It also allows me to specify the file name from a cell reference.
I want the new workbook file to simply be saved, not opened, and a message box to display stating where the file was saved (will always be in the same location on the LAN).
What modifications do I make to this to get this to work per above requirements?
Sub CopyMe()
Dim SaveMeAs As String
SaveMeAs = Sheets("Sheet1").Range("B2").Text
Sheets("Sheet3").Copy
ActiveWorkbook.SaveAs Filename:="C:\My Documents\" & SaveMeAs
End Sub
I have a sheet with raw data a sheet with pivot tables a sheet with a dashboard and a simple macro
I don't have any #REF cells either.
Someone has any idea of what could be the problem?
thanks
NA
I want to be able to reference it from a cell so that depending on a
validation list a different picture is shown.
Is this possible in Microsoft Exec 2000
Hoping someone can help me quickly as I'm pulling my hair out and have a deadline getting too close.
Been trailing the net and this board but can't work out how to do a simple variance.
How do I work out the difference between two numbers - including negatives.
If the numbers are all positive, it's fine as it's simply a case of A - B = C which is your difference. However, that doesn't work if B is negative.
I need a formula that would give the following:
First Number / Second Number / Difference
1 / 5 / 4
1 / -5 / -6
-1 / 5 / 6
-1 / -5 / -4
-5 / -1 / 4
Hopefully there's a simple function I've been missing.
Thanks in advance, R
Sub OpenPDF() 'Dim pdf As String On Error Resume Next 'pdf file to open pdf = "K:\PDF\mypdf.pdf" 'open the pdf file ActiveWorkbook.FollowHyperlink pdf End Sub
So then I tried to create an instance of acrobat by setting a reference to the acrobat object but I can't get this to work either!
The code I'm using is Code:
Sub OpenPDF() Dim pdf As AcroPDDoc Dim strPDF As String Set pdf = CreateObject("AcroExch.PDDoc") 'pdf file to open strPDF = "K:\PDF\mypdf.pdf" 'open the pdf file pdf.Open strPDF End Sub
Any ideas what could be wrong with either approach?
Thank-you
My problem was that a userform defined with Excel at work (containing DT pickers) gave the message in the title when opening it at home. I had a light-bulb moment and wondered whether there was a difference in the version numbers for MSCOMCT2.OCX at work and at home. Turned out the work version was newer. I then copied the MSCOMCT2.* files from work, made a backup of them at home and copied those from work to my C-drive (Windows XP - c:\windows\system32\ ).
No luck. I then rebooted the machine - still no luck.
Then, finally I unregistered the old DLL via
Code:
regsvr32 /u c:\windows\system32\MSCOMCT2.OCX
(not sure if this was necessary, but I didn't think it could hurt). Reregistered the DLL via
Code:
regsvr32 c:\windows\system32\MSCOMCT2.OCX
and what do you know - it worked.
Summa summarum - it could be an idea to check whether the two machines have different version numbers for the MSCOMCT2.OCX files.
Someone once showed me how if you have a a reference to a cell in one sheet
you could double click on the cell and it would jump to the referenced cell
in the reference cell's sheet.
For example.
Cell With Reference Referenced Cell in other
Sheet
A1 <--double click sheet1 cell A1 takes you to --> =Sheet2!A1
I've had a long search through your pages to see if this question has been answered before but having browsed through about 50 pages worth of threads I couldn't see anything, but if I am repeating prior information I do apologise.
I've written a macro that is relatively simple. It just takes some information in one format, rearranges it, adds some formatting and performs some calculations. Nothing incredibly fancy but it works fine on my computer.
Now, I need to share this macro with some other people, so basically I've just sent that excel file on to the people that need to use it. Should be fine and in most cases it is, however there is one user who although they can open the file, can't seem to get the macro to run properly.
It seems to get a small way through the macro but then stop with no error messages or any sign that it hasn't completed properly.
I have checked Macro Security level and that is the same as mine, Tools - Add-Ins is the same, In Visual Basic, Tools - References is the same as mine. It is the same Operating system and the same version of Excel.
I have even signed into this person's computer as myself (it's a big company network thing) and tried to run the macro and it works fine, so there is nothing wrong with the hardware.
I've googled and searched and tried everything I can think of but I'm no closer to solving this problem, so if anyone has read through this wall of text and can come up with a possible solution, that would be greatly appreciated to save me from tearing ALL my hair out!
Thanks very much for your time.
I am copying charts to display the same information for different regions. When I work on the copied region, I find it a cumbersome task to go through each charts source data and change the cell references to the different region. Essentially I am doing a trending analysis for each region, with a region having its own sheet with 5 charts per sheet. What I have done is copy the original sheet and am updating the sheet for another regions source data by going to the source data. The source data is all in the same row/column format, but each regions source data has its own sheet. Is there a more automatic way to do this? Perhaps a way to update all 5 charts references at the same time.
worksheet. The first column of the table is a list of numbers. I tried
converting the table into text with manual line breaks and tab stops to
divide columns and rows, but that didn't solve my problem.
Excel pastes the data into several rows. When I try to merge them, I
get a warning that the selection contains multiple data values, and
merging into one cell keeps the upper-left most data only.
What I tried that didn't work:
* Formatting the Excel cells as text before pasting the data.
* The various options for "Paste Special." The closest I got was
inserting the table as a Document Object, which could be a workaround,
I guess.
What I am saving for when all else fails:
* The obvious solution of copying row by row into one Excel cell.
The data in the table is information about my dad's medications. I
would like to have reference charts of how to identify the strength of
each tablet by its color and markings. I got the info from the
manufacturers' websites and entered it into tables in Word, which I
would like to copy into a more comprehensive file I am creating in
Excel. The first column of each table is the strength of the tablet,
entered as 1 mg., 2 mg., etc. The subsequent columns describe the
shape, color, and markings. There are 3 tables, each with about 4-5
rows.
Is there a way to copy each one - whether as a table or as text - into
a single Excel cell without losing data?
Many thanks.
I'm a bit of a newbie with Excel, but...
I have several cells with data that contain both letters and numbers (4H, 8V, 4FH, etc.) What I want to do is remove only the text characters from these cells, and add the remaining number values together among a series of cells with this data type.
If your answer involves using a macro or VB, please provide a link on how to use the formula. I've never used a macro or VB.
Thanks.
Sheet 1 is the master sheet "Team Stats". There will be an undetermined number of individual worksheets to accomodate new staff.
Each worksheet will be identical, using columns A-I with row 1 having the headings:
Date, Name, Reference, Value, Price, Age, Purchased?, Destination, Add. Products (the last 3 columns will have a drop-down list which will be used to enter data into the cell).
There will be a varying number of rows in each of the individual sheets.
If possible I would like the macro to run every time data is entered into one of the individual worksheets. If this is not then it would be fien to update every time the workbook is opened.
If anyone can help it would really cut down the time I spend collating these stats every day!
I would like to have a new row automatically inserted with the formulas
updating to reference the cells in the new row. Let's say I start with 50
rows and after they are filled up, a new row is added automatically? How do I
do this?
Code:
Text in Cell Desired Results *Bobby Abreu Bobby Abreu #Erick Aybar Erick Aybar Jason Bartlett Jason Bartlett
Is there a formula that will get me where I want to be?
Thanks!
Chuck
I am looking for a formula to remove special characters and spaces from a cell
I have been using "substitute" but this requires me to know which character I want to remove and this isn't always known
I have tried looking at some macro solutions but became lost quite quickly
Any help would be much appreciated
Thanks
I have a number of different files that I often need to run a macro on. In order for me to do it on the 75-100 files I have at any given time, I need to open one, run the macro, close and save, then open the next one.
Is it possible to write a macro that will start with the first file in a folder, open it and update links, run a macro, save and close, and open the next file in the folder until it has open all the files in the folder.
I have experience with creating macros that reference different workbooks, but not sure how to go about opening files with different filenames (without referencing the exact filename).
I'd like to be able to have basic code for opening, saving and closing, opening next file, saving and closing, etc. and input the macro I'd need to run in each file in the appropriate location. Is this possible? Any help is greatly appreciated!!
Thanks,
Jason
Does anyone know of a way to unhide this macro?
Thanks!
Code:
With OutMail .To = "name@name.com" .CC = "" .BCC = "" .Subject = "Attrition for" & Range("c5") .Body = "" .Attachments.Add wb2.FullName
When it sends it does not show the name in c5.
It just reads "Attrition for"
Should there be a different code?