I have a userform with several inputs which are validated, and should the input be invalid an ErrorProcedure is run. This basically displays a message telling the user what is wrong, and it should also be highlighting the text in the relevant field, but for some reason it is not doing that.
I am using the TextBox.Change method to test for numerical input. How can I highlight incorrect input after closing the MsgBox? The following code doesn't always work:
If Not IsNumeric(TxtStage1.Value) Then Response = MsgBox("Numerical value required", vbExclamation + vbOKOnly, "Invalid input") TxtStage1.SetFocus TxtStage1.SelStart = 0 TxtStage1.SelLength = Len(TxtStage1.Text) End If
On the summary page click on 'Enter Sale' and notice that Customer Advisor' text box gets the focus and the cursor is flashing. (Which is what I want). Enter any name and a sale value (say 'A' and '1') and click the 'OK' button But when I tried to enter another sale the OK button still had the focus. So in the VBA Project / Forms / frm_sale / OK Click event - near the bottom I added a set focus before the 'frm_sale.hide' - This removed the focus from the 'OK' box - but the cursor is still not in the text box, and it needs to be clicked in order to enter text. This is clearly something trivial I am missing - but the blinkers are on and I cant spot it
I am trying to implement a simple userform using the RefEdit control.
So I have the RefEdit control and an Ok (which has code attached to it) and a Cancel commandbutton.
For some reason, I can't get the focus on the RefEdit control (i.e. when I activate the form, I have to actually click in the RefEdit box before it gets the cursor). Which property sets the focus in this control?
Right now I have the Ok button Default property set to True.
I have a commandbutton on the spreadsheet that activates the userform.
I've got a userform for entering data in a workbook with sheets for each month. ie: Jan'06 , Feb'06, etc. I've added a combobox that looks at my list of these sheets and when a certain month is chosen I would like that months sheet to come up behind the userform, so that the data is entered there when the form is completed.
The other option is to not change the sheet focus but to direct the data to the appropriate sheet based on the combo box. (No matter what sheet is currently selected)
On a related note, I have a text box showing the last date entered and I would like to make shure that it is updated based on the sheet selected in the combobox.
I created UserForm with one TextBox and "Close" Button. And it's works like a real-time search with my criteria. He is using AutoFilter to show what he found. And when I'm pressing Close Button the Focus isn't on Application, but on Hidden window (know because when I'm clicking alt+space form's menu shows).
To show window I'm using (running from hot-key):
Private Sub CloseButton_Click() UserForm1.Hide End Sub
I am using a technique to display a modeless userform to display to the user that the cell data validation has failed (or not) after checking cell data entry (with checks coded as required).
I am using this method for a number of reasons - - enables more flexibility and more characters over that of in cell data validation error messages - to reduce repeat of validation data (to reduce file size) as worksheet has large qty of rows with large qty of columns with variation of validation requirements for each column.
But in the event that data is invalid (fails validation), once the modeless userform is displayed, i want the focus to be on the current cell, not the userform, otherwise the user will always have to click the worksheet to to get focus to enable entry to cell of corrected data.
I have an excel program that uses a modeless userform. often times i will open other spreadsheets while the form is active or minimized. if i return to the form and run it without manually bringing focus to the appropriate workbook, i get an error because it references the wrong workbook. is there a way to keep that form tied to that workbook no matter what? also, it is important that this procedure works despite the workbook name changing.
I call a userform (modeless), and then i'm trying to set the focus back on the range that was selected when i showed the userform. you would think i could just define the range and then use rnge.select like this....
set prevrnge = selection
but it doesn't take the focus off the userform....
I have a spread sheet where i want to display help text when cells are activated. I do not want to use comments as i both do not like the red triangle and also have not found a way to controll the position of the text box. When I use the event Worksheet_SelectionChange I can display a custom box but the box "retains focus" and i can not enter the data until i "reclick" on the cell in the sheet. The box then goes away when i select another cell. Is there a way to fix this or a different method entirely. I am using Excel 2007.
I'm having some trouble setting up my Userform. It's used for someone to insert a password to open up some sheets. I have it working except for 2 problems.
First off it gets started by a sub which has a shortcut key, CTRL + W.
When it opens I would like the TextBox to be ready to be typed on... and I would like the submit button ready for Enter. So when it opens, you just type in the password really quick and press enter without using the mouse at all.
The TextBox starts on the first try, but when I press cancel and then open the UserForm up again, then the cancel command is still selected and I have to select on the textbox.
There is 3 things on this userform... TextBox1, CommandButton1, CommandButton2. All I want is for the TextBox always to show up ready for typing, and the Submit(CommandButton1) to always be ready to press enter.
A userform to move the curser to a column then activate the Excel App and keep the userform visiable.
The problem is when excution the code step by step (F8) works fine, but when excution the code by F5 the cursor moves to the Range("A65536").End(xlUp) and doesnot then move to the required column.
also this line AppActivate ("Microsoft excel")
does not work , it gives me Invalid proceduers or call argument.
Private Sub ComboBox1_Change()
Range("A65536").End(xlUp).Activate If ComboBox1.ListIndex = 0 Then Cells(ActiveCell.Row, "I").Activate If ComboBox1.ListIndex = 1 Then Cells(ActiveCell.Row, "J").Activate If ComboBox1.ListIndex = 2 Then Cells(ActiveCell.Row, "K").Activate
I have a workbook developed in Excel 2007 (compatibility mode) that contains Userform4. This form can be displayed (or not) depending in the wishes of the user. What I am trying to do is return focus to the worksheet after the UserForm is displayed.
When the worksheet is activated, I have the following .........
I currently have a small userform placed at the bottom right of the screen (with a command button on it) and this opens up on top of excel instances and other applications/windows and it is set so that you can't interact with anything except the userform.
I wanted to minimize the userform and give focus to immediate next window (can be excel or non excel applications) for 10 seconds and then activate/show the userform back again, when the "Button 1" on the userform is clicked.
I tried hiding the userform, but this doesn't give focus to the immediate next window. Below is the code
Private Sub Button_Click() Me.Hide PauseApp (10) Me.Show End Sub
I could only find answers for adding minimize and maximize buttons to userform.
When the button is clicked, it should perform
Step a - Minimize the userform Step b - Give focus to the next immediate window behind the userform Step c - Wait for 10 seconds Step d - Bring back the userform its to state.
I'm working on a spreadhseet which has several macros that can take up to 5 minutes to run. When the macro(s) complete, I pop up a userform to provide instructions and collect some additional data from the user.
The "problem" is that when the user moves to another application to do other work, the user form remains hidden behind the active app. I've added some text to the status bar to let the users know the processing is done, but they would like something more obvious - so, is there any way I can force focus back to Excel?
I have a userForm and I use a load, set the field defaults and show sequence to use the form. I want to be able to set the initial field (a "setFocus" didn't work) and then how pressing the tab will move through the fields.
I have a UserForm that runs when my excel project starts that prompts the user for two pieces of data: a username and a password (these are not for logging into the file itself, I need to use them to call web queries later). I want the UserForm to store both of these data in global variables, so that macros that are run in the future can refer to them and read their values. Unfortunately, I am very new to VBA and I cannot figure out what code I need and where exactly I need to put it. Here is my current code, where "authentication" is the name of the UserForm object, and the textboxes I use for entry are named "user" and "pass": In "This Workbook"
I have the following code which copies specified cells from one sheet to the next available row on another sheet. I would like to keep the next available row somewhere near center focus on the display. Can I use the variable 1Row to do this, or maybe 1Row plus or minus 20 depending on how I want it displayed on the screen?
I am writing some VBA, and this is what is going on:
I display a form which asks the user to insert the desired number of invoices. After inserting the number, I would like a the cursor to appear in a textbox labeled "Invoice Date" (ref A28). Additionally, I would like the user to only have to key in the day and month. Therefore, I would like to have the cell be defaulted to / /2004.
I am using the following code to validate text entry in Textbox1 of a userform. I want that if the user enters a numeric value than a msgbox should popup and then cursor should get focus on Textbox1. But with this code, it is setting focus on textbox2 and not on textbox1.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If IsNumeric(TextBox1.Text) Then MsgBox "Please enter TEXT value only.", vbInformation + vbOKOnly TextBox1.SetFocus End Sub
I have an application in excel in which a “combobox1” has been created on the main sheet of excel. Somewhere during the code execution the program requires input from the “combobox1”. What is the code required to highlight the “combobox1” allow the user to select from the box and then return control back to the regular code?
I've got a worksheet with a cell called "cellName" and a button "cmdSearch". When I enter a string in cellName and press cmdSearch a query is done on a database and the result is returned to the form. Now, when I enter text into cellName I then have to click on a different cell before I can click on cmdSearch. What I'd like to do is have cmdSearch take focus if I press enter in cellName. I know how to do this with a UserForm, but I like having all of this on the worksheet and not dealling with a popup box.
is there any way to know if a COMBObox has the focus?
* * *
I have a ComboBox and when I press ENTER inside this comboBox a run a Macro
Private Sub CbFormularios_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
some times I am inside the ComboBox and one of the Item whithin this combobos is Selected, but stead of pressing the enter keyboard I press a commadButton but to run the macro attached to this command button I have to know if the cursor of my mouse is whithin the ComboBox "Over the comboBox". kind of:
If ActiveSheet.Cbox1.Value Is Not highlited Then call Macro1
I have an active form that is always in focus. I would like to be able to seamlessly transition back to the worksheets under it, and move back and forth between the worksheet entry and form entry. Is there some way to alter the focus between events to do so (like a mouse over type event)? Currently, I can only exit the form to get back to the worksheet. excel 03 sp3
I am running software that calls an Excel macro using DDE. The macro populates a sheet with information to be printed, then prints the sheet.
I would like for this to take place in the background with Excel never taking focus from the software that calls the Excel macro. Currently Excel some times takes focus from the software and some times does not. The macro also takes the information it prints and stores it to another sheet, but I don't think that's the culprit stealing focus from the other software.
I've made a non-modal 'Toolbox' form that floats over my worksheets. When a button is clicked a graphic item is copied from a hidden sheet and pasted into the current sheet. The graphic remains selected but the toolbox form takes the focus away from the sheet. When the user wants to move the graphic there is no problem in mouse-dragging but I'd like the user to be able to nudge the graphic using the keyboard arrow keys without having to click to give the sheet the focus. So, I guess the question is: How can I give focus to the worksheet following the Paste action?
I had to reset my excel on friday now today I'm getting an error when opening up an workbook. The error is " Cant move focus to the control because it is invisible ,Not enabled or type that does not accept focus. I have this code in a workbook when the workbook opens
I have a macro that launches another program (Windows Title - Storm). I then use sendkeys to have it export the file to an excel file. (This launches another instance of excel.) I want to be able to focus back to (Storm) so I can sendkeys to close the program down. I can get it to the end result using sendkeys, but I am trying to have it switch back to the Storm application so the user does not need to close it manually.
I have a userform with several fields located in it. For the most part, it looks like a user information form, Name, Date,, stuff like that. There is a field that the user enters some information, and using the afterUpdate function for the field, it searches to see if the value is unique. The problem is that when I tab from that field, if the value is not unique, I want the cursor placed back in that field (textbox). SetFocus doesn't seem to do what I want, unless I am using it incorrectly.
I have SS that I have 3 levels of users using/viewing data and at the moment it does not allow for errors when inputing password & sheet number to access. What I need is that if there is an error in password or sheetnumber ths user gets the choice to re-enter correct data with vbYesNo or similar. The problem I have is with these lines of code not getting the focus back to txtSheet to re-enter correct data (>0 & <13).
Private Sub CommandButton1_Click() Dim shtNo As Integer Dim R 'Response to msgbox Dim rS As String Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Please enter a number 1-12." ' Define message. Style = vbYesNo ' Define buttons. Title = "Choose Month" ' Define title. rS = Range("Scode").Value 'Staff password Application. ScreenUpdating = False If Not (txtSheet.Value > 0 And txtSheet.Value < 13) Then Response = MsgBox(Msg, Style, Title).....................
I am using MS Word to create a list to go into Excel, it seems advantageous to do it this way because I'm using the Heading Outline Numbering feature of Word.
Presently my macro assumes the word document is closed. How do I modify the macro to:
1. check if the file is open? 2. if already open, switch the focus to word? 3. switch the focus back to excel?
Dim FileToOpen As String
FileToOpen = ThisWorkbook.Path & "5Whys.doc" Sheets("Data1").Select ' MsgBox "Active sheet is " & ActiveSheet. Name ' My check ActiveSheet.Range("WordClear").Select ' Existing data to remove Selection.Clear
Set appWD = CreateObject("Word.Application")
' here I would like to check if the word file is open