Trying to create a "walkthrough" for a worksheet

supercharger

New Member
Joined
Aug 14, 2017
Messages
13
I started by just recording a macro and typing in to the cells what I want, adding a note for the drop downs and keeping it visible, using Application.Wait to pause in between...

But it's still not really what I want. The "instructions", or values, I guess, just appear in the cell and it's not really calling attention to it. Additionally, the scroll is waaaay too fast.

Anyone ever make one of these? Any code off the top of your head to utilize so the actual "typing" is visible and somewhat slow so the viewer has time to realize where I'm filling in instructions?

Thanks again for your help!
 
Last edited:

Excel Facts

Show numbers in thousands?
Use a custom number format of #,##0,K. Each comma after the final 0 will divide the displayed number by another thousand
Could you not use msgbox yes boxes so they're forced to click to move on to the next set of instruction
 
Upvote 0
Maybe consider something like this, I'd replace Wait 1 with sleep as sleep can do milliseconds and I doubt they'd want to wait a second a letter :) Sleep isn't enbaled by default in excel so yu'd need to look up how to enable it on your 32bit or 64 bit pc


Code:
Sub typeslow()


    Dim strtext As String
    Dim i As Long


    strtext = "This is just a temporary message"


    For i = 1 To Len(strtext)
        Range("A1").Value = Range("A1").Value & Mid(strtext, i, 1)
        Wait 1
    Next i
End Sub


Private Sub Wait(ByVal nSec As Long)
    nSec = nSec + Timer
    While nSec > Timer
        DoEvents
    Wend
End Sub
 
Upvote 0
For sleep you need to enter one of these at the start of you module

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal milliseconds As LongPtr) 'MS Office 64 Bit
or
Public Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long) 'MS Office 32 Bit

Might also be worth changing the cursor if you're going down that route

Code:
Sub typeslow()
Application.Cursor = xlIBeam
on error goto xit
Dim strtext As String
    Dim i As Long


    strtext = "This is just a temporary message"


    For i = 1 To Len(strtext)
        Range("A1").Value = Range("A1").Value & Mid(strtext, i, 1)
    
        Sleep (200)
        
    Next i

xit:
Application.Cursor = xlDefault
End Sub
 
Upvote 0
Thanks for this. I got pulled in a few meetings after posting this, so I haven't had a chance to give it a shot, but it sounds like a solution. I appreciate your help. I'll post any updates once I get around to plugging it in!
 
Upvote 0

Forum statistics

Threads
1,223,911
Messages
6,175,325
Members
452,635
Latest member
laura12345

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top