Solved Enable Virtual Keyboard in Excel for particular column

May 15, 2015 at 03:38:15
Specs: Windows 7
I wish to have a poped up virtual keyboard anytime a cell of particular column is selected and fades out as a different cell of other column is selected . Have tried various codes but none seems to fit in my situation.
Any help would be greatly appreciated.
Thanks is advance !! :)

See More: Enable Virtual Keyboard in Excel for particular column

Report •


✔ Best Answer
May 20, 2015 at 02:39:32
Hi Derby,

I now see what you mean and you are correct. I really like the way you thoroughly check the working of the code - something i usually dont do very well.

Iv look at the issues you mention and have again tried to address them. the only thing i cannot replicate is the ding you mentioned. i cannot seem to get this to ding on my machine at work, i will try at home when i get the chance.

The code now allows you to select a cell in column A, then select another cell in column A and keep the focus on that cell. The way i do this is check if the KB is already running and if so do not run the Launch_it procedure.

The code also allows you to switch to another sheet and when you come back to sheet 1, if the active cells column = 1 then run launch_it.
It will also check on open if the current sheet is sheet1 and if the active cell column is 1, if true then launch_it is trigger.

 ' Put in ThisWorkbook

Private Sub Workbook_Open()
    If ActiveSheet.Name = "Sheet1" Then
        If ActiveCell.Column = 1 Then
            Launch_It
        End If
    End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Sh.Name = "Sheet1" Then
        TerminateApp "osk.exe"
    End If
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    TerminateApp "osk.exe"
End Sub

 ' Put in ModVirtualKeyboard

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                (ByVal hWnd As Long, ByVal lpOperation As String, _
                ByVal lpFile As String, ByVal lpParameters As String, _
                ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
                
Public Sub Launch_It()


    ' Referenece:
    ' "http://www.vbaexpress.com/forum/archive/index.php/t-34397.html"
    
    If isProcessRunning = False Then
        ShellExecute 0, vbNullString, "osk.exe", vbNullString, "C:\", 1
    End If

End Sub

Public Sub TerminateApp(AppName As String)
     '-----------------------------------------------------------------------------
     ' Terminates the exe process specified.
     ' Uses WMI (Windows Management Instrumentation) to query all running
     ' processes then terminates ALL instances of the exe process held in the
     ' variable strTerminateThis.
     '-----------------------------------------------------------------------------

' Reference:
' "http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba"

Dim strTerminateThis As String 'The variable to hold the process to terminate
Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
Dim intError As Integer

'Process to terminate – you could specify and .exe program name here
strTerminateThis = AppName

'Connect to CIMV2 Namespace and then find the .exe process
Set objWMIcimv2 = _
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

Set objList = objWMIcimv2.ExecQuery("select * from win32_process where name='" & _
              strTerminateThis & "'")
For Each objProcess In objList
            intError = objProcess.Terminate
            'Terminates a process and all of its threads.
            'Return value is 0 for success. Any other number is an error.
            If intError <> 0 Then Exit For
Next

'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Sub

Public Function isProcessRunning() As Boolean
     '-----------------------------------------------------------------------------
     ' Terminates the exe process specified.
     ' Uses WMI (Windows Management Instrumentation) to query all running
     ' processes then terminates ALL instances of the exe process held in the
     ' variable strTerminateThis.
     '-----------------------------------------------------------------------------

' Reference:
' "http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba"

Dim strTerminateThis As String 'The variable to hold the process to terminate
Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
Dim intError As Integer

'Process to terminate – you could specify and .exe program name here
strTerminateThis = AppName

'Connect to CIMV2 Namespace and then find the .exe process
Set objWMIcimv2 = _
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

Set objList = objWMIcimv2.ExecQuery("select * from win32_process")

For Each objProcess In objList
            
            If LCase(objProcess.Name) = "osk.exe" Then
                isProcessRunning = True
                Exit For
            End If
Next

'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Function

' Put this in Sheet1

Private Sub Worksheet_Activate()

    If ActiveCell.Column = 1 Then
        Launch_It
    End If
    
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.Cells.Count > 1 Then Exit Sub
    
    If Target.Column = 1 Then SelectedCell = Target.Address
    
    If Target.Column = 1 Then
        Launch_It
        
    Else
        TerminateApp "osk.exe"
    End If
    
End Sub

message edited by AlwaysWillingToLearn



#1
May 15, 2015 at 03:55:51
I have never heard if this feature. What "various codes" are you referring to? What kind of device are you working with? A tablet perhaps?

Perhaps if you provided a little more detail we could come up with a solution.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.

message edited by DerbyDad03


Report •

#2
May 15, 2015 at 05:59:33
Yes Sure,
I'm working in Microsoft Excel 2013.
I wish to create/ enable a virtual keyboard that would pop up only when a particular cell of specified column is selected, for rest others it remains hidden.
I actually want to eliminate the keyboard in my organization as it allows manipulation of data, and by enabling virtual keyboard and keeping it restricted for one specified column this manipulation and alterations could be completely eliminated.

I too doubt possibility of this feature but have also read that you can control your entire system from MS Excel, i was wondering if anyone could help that would be biggest breakthrough in my program.


Report •

#3
May 15, 2015 at 07:24:35
Iv used some code that iv found online (references included) and put them together to achieve what you want.

In this example when you enter into a cell in column A the keyboard will show, when you enter any other cell in any other column it will disapear but not fade out

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                (ByVal hWnd As Long, ByVal lpOperation As String, _
                ByVal lpFile As String, ByVal lpParameters As String, _
                ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.Column = 1 Then
        Launch_It
    Else
        TerminateApp "osk.exe"
    End If
    
End Sub

Sub Launch_It()


    ' Referenece:
    ' "http://www.vbaexpress.com/forum/archive/index.php/t-34397.html"
    
    ShellExecute 0, vbNullString, "osk.exe", vbNullString, "C:\", 1

End Sub

Sub TerminateApp(AppName As String)
     '-----------------------------------------------------------------------------
     ' Terminates the exe process specified.
     ' Uses WMI (Windows Management Instrumentation) to query all running
     ' processes then terminates ALL instances of the exe process held in the
     ' variable strTerminateThis.
     '-----------------------------------------------------------------------------

' Reference:
' "http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba" 

Dim strTerminateThis As String 'The variable to hold the process to terminate
Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
Dim intError As Integer

'Process to terminate – you could specify and .exe program name here
strTerminateThis = AppName

'Connect to CIMV2 Namespace and then find the .exe process
Set objWMIcimv2 = _
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objList = objWMIcimv2.ExecQuery("select * from win32_process where name='" & _
              strTerminateThis & "'")
For Each objProcess In objList
            intError = objProcess.Terminate
            'Terminates a process and all of its threads.
            'Return value is 0 for success. Any other number is an error.
            If intError <> 0 Then Exit For
Next

'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Sub




Report •

Related Solutions

#4
May 15, 2015 at 08:46:41
WTL...Nice code.

Just as an FYI… I noticed these 2 annoyances:

1 - If the virtual keyboard is visible and the user selects a range of cells in Column A, the highlighting of the range goes away when the cursor is moved out of the range. At that point the keyboard does not seem to know where you want to enter data and presents a message. If the user then clicks anywhere outside of the keyboard, the highlighting of the selected range comes back the keyboard begins to work again.

2 - If the virtual keyboard is visible and the user switches to another worksheet, workbook or even another application, the virtual keyboard remains on the screen until the user clicks the Red X on the virtual keyboard to close it. I bring this up for the following reason: If Vipul07 is really planning to eliminate the physical keyboard, the users will have a workaround for having a keyboard available at times when Vipul07 might not want it available.

(BTW...I edited your post just a bit to get all the text to fit within the pane so we don't have to scroll back and forth to read it.)

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#5
May 15, 2015 at 09:06:23
Vipul07,

Have you considered simply Locking the cells and then Protecting the sheets where you don't want the users to alter data?

A simple procedure follows:

1 - Select all cells
2 - Click the Format DropDown...Format Cells...Protection tab
3 - Check the Locked box (This Locks all cells in the spreadsheet, but just for now)
4 - Select Column A
5 - Click the Format DropDown...Format Cells...Protection tab
6 - Un-Check the Locked box (This unlocks only Column A)
7 - Click the Format DropDown...Protect Sheet
8 - Enter a Password
9 - Un-Check the Select Locked Cells box
10 - Click Ok to apply

Note: The Locking/Un-Locking of cells has no effect unless the sheet is also Protected. Don’t bother trying to test anything until you have Protected the sheet.

The users will only be able to Select/Edit cells in Column A. You can even restrict entries to only certain cells in Column A by being a bit more selective with which cells you Unlock in Steps 4 - 6.

I bring this up mainly because I see a reduction in production when forcing users to use a virtual keyboard vs. physical one.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#6
May 15, 2015 at 09:44:02
Vipul07,

If you choose to use the virtual keyboard route offered by AWTL, there are (at least) 2 things to keep in mind:

1 - You will have to enable macros on all machines where you want to use this process. This is not something you can do via a macro; it either has to be done at each physical machine or over the network by someone who has authorization/access to make these types of security related changes.

The reason for this is obvious once you consider the implications. If I was able to enable macros via a macro, then I could send a workbook with malicious code to a user, enable it when the workbook was opened and have it run. MS won’t allow this to happen, therefore the user (or another authorized person) has to make the security change to the system before any macros can be run.

There is a "work around" in which a workbook that contains macros can be set up to be essentially unusable until macros are enabled. Basically, all sheets are hidden except for a "Greeting" page informing the user that in order to use the workbook, macros must be enabled. Instructions can be included on that page.

When the workbook is first opened, a piece of code will attempt to run. If this code fails to run because macros are disabled, the greeting page is displayed to the user. If macros are enabled, the greeting page is automatically hidden and the rest of the workbook becomes visible. Each time the workbook closed, the "other" sheets are automatically hidden again and the Greeting page is made visible. This process repeats each time the workbook is opened/closed. As long as the user enables macros once, he will never see the Greeting page since the Workbook_Open code will run and the Greetings page will be hidden.

2 - There is no point in including macros that prevent users from performing certain tasks unless you also prevent the user from viewing and altering the macros. The macros themselves have to be hidden and password protected, otherwise the whole process is basically useless. This protection is done by setting the VBAProject’s properties within the VBA editor when the workbook is created. Once sent to other users, the code will be hidden/password protected.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.

message edited by DerbyDad03


Report •

#7
May 17, 2015 at 22:08:35
Always willing to learn,

I greatly appreciate your efforts and time for searching out such a hefty code. But this code doesn't seem to work on my machine. :(
It's showing
"Compile Error: The code in this project must be updated for use on 64-bit systems. Please review and update declare statements and then mark them with PtrSafe attribute."
I copied your code as it is beginning from: Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ to
'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Sub

Please suggest if any changes I need to make in this for a 64-bit running system, or I need to delete a part of it to make it work. I would be greatly thankful to you !

DerbyDad03

I acknowledge your other suggestions and tips, but locking of cells is something won't work in this case as user would be free to alter the changes.
Secondly, the macro enabled system which you pointed out, there is not as such any issues with enabling macro in each of the system. The IT team will actually appreciate anyway that would reduce their efforts and ease out the process.


Report •

#8
May 18, 2015 at 00:15:04
DerbyDad03

The reduction in production as pointed out by you in using virtual keyboard compared to physical is totally undeniable. But the situation here does not involve a large input of data, to be exact only 4 clicks per entry is required. The time loss is something acceptable as compared wrong analysis based on manipulated data which a physical keyboard account to.


Report •

#9
May 18, 2015 at 02:31:42
Hi Derby,

some very good points raised, I have modified the code to cater for the 2 situations you mentioned

1) When the user selects more than one cell in column A the selection is removed and the keyboard does not know where to type, this is now resolved.

2) When the user selects another worksheet or workbook the keyboard remains on the screen, this has also been removed.

however iv not added the functionality to check weather the has moved to another application such as notepad, i think this can be done though?


Vipul07,

right now i am using a 32bit machine, when i get a chance i'll check this on a 64bit machine to see where the problem is.

here is the updated code, put then in their respecitive place

'Put in Sheet1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.Cells.Count > 1 Then Exit Sub
    
    If Target.Column = 1 Then
        Launch_It
    Else
        TerminateApp "osk.exe"
    End If
    
End Sub

' Put in ThisWorkbook

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Sh.Name = "Sheet1" Then
        TerminateApp "osk.exe"
    End If
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    TerminateApp "osk.exe"
End Sub

' Put in ModVirtualKeyboard

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                (ByVal hWnd As Long, ByVal lpOperation As String, _
                ByVal lpFile As String, ByVal lpParameters As String, _
                ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
                
Public Sub Launch_It()


    ' Referenece:
    ' "http://www.vbaexpress.com/forum/archive/index.php/t-34397.html"
    
    ShellExecute 0, vbNullString, "osk.exe", vbNullString, "C:\", 1

End Sub

Public Sub TerminateApp(AppName As String)
     '-----------------------------------------------------------------------------
     ' Terminates the exe process specified.
     ' Uses WMI (Windows Management Instrumentation) to query all running
     ' processes then terminates ALL instances of the exe process held in the
     ' variable strTerminateThis.
     '-----------------------------------------------------------------------------

' Reference:
' "http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba"

Dim strTerminateThis As String 'The variable to hold the process to terminate
Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
Dim intError As Integer

'Process to terminate – you could specify and .exe program name here
strTerminateThis = AppName

'Connect to CIMV2 Namespace and then find the .exe process
Set objWMIcimv2 = _
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objList = objWMIcimv2.ExecQuery("select * from win32_process where name='" & _
              strTerminateThis & "'")
For Each objProcess In objList
            intError = objProcess.Terminate
            'Terminates a process and all of its threads.
            'Return value is 0 for success. Any other number is an error.
            If intError <> 0 Then Exit For
Next

'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Sub


message edited by AlwaysWillingToLearn


Report •

#10
May 19, 2015 at 11:30:10
AWTL,

Maybe it's just my work machine (I'll have to try this at home) but I'm still seeing some funky behavior with the Virtual Keyboard (VK) losing focus.

Please note that I am not blaming your code. Some of the issues may be a pain to eliminate because we are bouncing back and forth between system calls and Excel VBA instructions. Things can get messy when we do that.

1 - I tested both versions of the code and this issue appears to be present in both:

If I select a cell in Column A the VK appears and is focused on the selected cell. After I enter data (or even if I don't) and then select a different cell in Column A, the VK loses focus and I cannot enter data until I re-select the cell. (This is very similar to the earlier multiple cell selection issue, except that is happens for single cells also.)

2 - Let's say I select A10 and the VK appears. I then switch to Sheet2 and the VK goes away (as expected with the new version of the code). I then switch back to Sheet 1 where A10 is still selected, but I have no keyboard. I cannot enter data in A10 until I select another cell to bring up the VK, then reselect A10, then select A10 again because the VK has lost focus. (Note: If the users will never be switching sheets, this particular issue may not matter.)

3 - Minor annoyance: When I deactivate the Workbook by switching to another one, I get a Ding alert. I tried to find the cause of the Ding by putting a breakpoint on the TerminateApp "osk.exe" instruction and then Single Stepping (via F8) from there, but no Ding occurs. It only Dings when the code is running "full speed". Strange, but once again it could be a system vs. application issue.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#11
May 20, 2015 at 02:39:32
✔ Best Answer
Hi Derby,

I now see what you mean and you are correct. I really like the way you thoroughly check the working of the code - something i usually dont do very well.

Iv look at the issues you mention and have again tried to address them. the only thing i cannot replicate is the ding you mentioned. i cannot seem to get this to ding on my machine at work, i will try at home when i get the chance.

The code now allows you to select a cell in column A, then select another cell in column A and keep the focus on that cell. The way i do this is check if the KB is already running and if so do not run the Launch_it procedure.

The code also allows you to switch to another sheet and when you come back to sheet 1, if the active cells column = 1 then run launch_it.
It will also check on open if the current sheet is sheet1 and if the active cell column is 1, if true then launch_it is trigger.

 ' Put in ThisWorkbook

Private Sub Workbook_Open()
    If ActiveSheet.Name = "Sheet1" Then
        If ActiveCell.Column = 1 Then
            Launch_It
        End If
    End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If Sh.Name = "Sheet1" Then
        TerminateApp "osk.exe"
    End If
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    TerminateApp "osk.exe"
End Sub

 ' Put in ModVirtualKeyboard

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
                (ByVal hWnd As Long, ByVal lpOperation As String, _
                ByVal lpFile As String, ByVal lpParameters As String, _
                ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
                
Public Sub Launch_It()


    ' Referenece:
    ' "http://www.vbaexpress.com/forum/archive/index.php/t-34397.html"
    
    If isProcessRunning = False Then
        ShellExecute 0, vbNullString, "osk.exe", vbNullString, "C:\", 1
    End If

End Sub

Public Sub TerminateApp(AppName As String)
     '-----------------------------------------------------------------------------
     ' Terminates the exe process specified.
     ' Uses WMI (Windows Management Instrumentation) to query all running
     ' processes then terminates ALL instances of the exe process held in the
     ' variable strTerminateThis.
     '-----------------------------------------------------------------------------

' Reference:
' "http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba"

Dim strTerminateThis As String 'The variable to hold the process to terminate
Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
Dim intError As Integer

'Process to terminate – you could specify and .exe program name here
strTerminateThis = AppName

'Connect to CIMV2 Namespace and then find the .exe process
Set objWMIcimv2 = _
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

Set objList = objWMIcimv2.ExecQuery("select * from win32_process where name='" & _
              strTerminateThis & "'")
For Each objProcess In objList
            intError = objProcess.Terminate
            'Terminates a process and all of its threads.
            'Return value is 0 for success. Any other number is an error.
            If intError <> 0 Then Exit For
Next

'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Sub

Public Function isProcessRunning() As Boolean
     '-----------------------------------------------------------------------------
     ' Terminates the exe process specified.
     ' Uses WMI (Windows Management Instrumentation) to query all running
     ' processes then terminates ALL instances of the exe process held in the
     ' variable strTerminateThis.
     '-----------------------------------------------------------------------------

' Reference:
' "http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba"

Dim strTerminateThis As String 'The variable to hold the process to terminate
Dim objWMIcimv2 As Object, objProcess As Object, objList As Object
Dim intError As Integer

'Process to terminate – you could specify and .exe program name here
strTerminateThis = AppName

'Connect to CIMV2 Namespace and then find the .exe process
Set objWMIcimv2 = _
     GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")

Set objList = objWMIcimv2.ExecQuery("select * from win32_process")

For Each objProcess In objList
            
            If LCase(objProcess.Name) = "osk.exe" Then
                isProcessRunning = True
                Exit For
            End If
Next

'ALL instances of exe (strTerminateThis) have been terminated
Set objWMIcimv2 = Nothing
Set objList = Nothing
Set objProcess = Nothing

End Function

' Put this in Sheet1

Private Sub Worksheet_Activate()

    If ActiveCell.Column = 1 Then
        Launch_It
    End If
    
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Target.Cells.Count > 1 Then Exit Sub
    
    If Target.Column = 1 Then SelectedCell = Target.Address
    
    If Target.Column = 1 Then
        Launch_It
        
    Else
        TerminateApp "osk.exe"
    End If
    
End Sub

message edited by AlwaysWillingToLearn


Report •

#12
May 26, 2015 at 03:51:13
AWTL,
I was hoping if you could edit this code for a 64-bit machine that would solve my purpose.
Thanks in anticipation :)

Report •

#13
May 26, 2015 at 08:45:42
Both of my machines are 64 bit machines and the latest version of the code works on both machines as described.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#14
May 27, 2015 at 05:32:07
Vipol07,

can you tell us what error message you get when running this code, as Derby sais it seems to work well on 6b bit machines. Let us know what the error is so we can help fix it.

Derby,

Thanks for verifying that the code works on your 64 bit machines mate.


Report •

#15
May 28, 2015 at 07:07:09
I checked the code in other machines running on 64-bit system with 2010 version of excel. Probably it needs to modified for 2013 version of MS excel which I'm currently using, but still the system on which it is to be run is running perfectly !! The way as desired. Thanks a ton AWTL for helping and coming with code that initially looked just a vague idea and totally in feasible. Thank you buddy
Derbydad a vote of thanks to you too for minutely checking the code and finding the lopholes.
Thank you guys for your time and efforts !!

Report •

#16
May 28, 2015 at 07:58:00
Hi Vipul07,

No problems at all, it was a team effort as without Derby the code probably would not have worked as well as it does now. Thanks Derby as always for your valuable help and input. Plus it helps me (and perhaps others) learn something new.

Just to clarify i used a Excel 2013 to write the code so i dont think it needs to be modified. I would ask that you check the references within the VBA IDE to see if any of the checked references are showing as "MISSING...."

Other than that all i can ask for is a description of the errors you get, or a description of what is happening on the 2013 machine, this was we can try to help resolve, if needed.

Thanks for coming back and letting us know that it worked.


Report •

#17
May 28, 2015 at 07:58:25
I have run the code on both 2010 and 2013 with no issues. There should not be any modifications required between those 2 versions, so we would still be interested to know what issue you are having on any given machine.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •


Ask Question