I would like to write code that opens the Excel Data menu, and then selects the Sort option, then stops. I do not want to do the actual sort (ie clicking the OK button), but I just want to emulate what would happen if the user actually clicked the Data menu, and then the Sort option. I would also like to disable the Options button and the "My list has header row, no header row" option buttons.
I need to use custom "Refresh all" function, so i set ctrl+alt+F5 to mine one and trying to hide/remove "Refresh all" from command bar control "Data" i tried different ways and no effect
VB: Private Sub Workbook_Activate() Application.CommandBars("Worksheet Menu Bar").Controls("Data").Visible = False End Sub
In tab Sheet1 there is Commandbuttons named "Sheet2" & "Sheet3". If i press "Sheet2" then i will be directed to sheet2 tab, same as "Sheet3". In tab Sheet2 & Sheet3 there is commandbutton "Sheet1", if i press the button then i will be directed to default tab which is sheet1.
I am trying to capture with Worksheet Change a command bar action like paste but I am getting an error :
“User-Defined type not defined”
Do I need a library of sort in References ??
Public Sub Right_Click()
Dim oControl As CommandBarControl
For Each oControl In CommandBars("Cell").Controls Debug.Print oControl.Caption If oControl.Caption = "&Paste" Then oControl.OnAction = "MyPaste" End If Next oControl
Is it possible that when you press a command button, that the first thing it does is to execute the code assigned to another command button (IE in another sub).
Within the ComboBox properties, is there anyway to control after "enter" his hit, you move to the right instead of down (similar to the edit under Tools/Options)?
I have created a userform within VBA which has a TreeView Control and a Spreadsheet control on it.
I have populated the TreeView control with data and what I want to be able to do is to drag the nodes off the TreeView control to the spreadsheet control.
I can drag onto a normal worksheet but not onto the spreadsheet control (the no drop mouse pointer keeps showing).
How do I determine which control the user is currently modifying on a multipage form (either changing, enterying or exiting the specific control). when I use "userform1.activecontrol" i get "multipage1" as the control name but I need the actual control on the specific active multipage. (also the .TABINDEX is for the multipage regardless of the on-page control) I use a generic data-field change SUBroutine so need the control name (and the TABINDEX) to provide my SELECT CASE. (so every fieldname_CHANGE calls the same SUB [with no parameters])
Has anyone out their ever seen an Calendar type of control totally built in an Excel vba UserForm?
My problem that I’ve tried to resolve for some time is utilizing some type of pop-up calendar to eliminate format issues in my published Excel forms. I have tried a number of calendar controls but all have to be registered on the local machine and this cannot be guarantied for every machine.
If someone could direct me to a vba UserForm that has this built in that might do the trick. Or is their another way to deal with this?
Is there any way to tell (from VBA) what GUI command is currently in progress or what the last command used was?
On a wish list perhaps: Application.LastCommand and/or Application.CurrentCommand
Let's say I'm in the "Sheet_Change" event and want to know what caused the change. Was the event triggered by "Delete", "Paste", "Keystrokes" ...
AutoCAD VBA has "Begin_Command (CommandName as String)" and "End_Command (CommandName as String)" events which I find very useful. Basically I'd like to emulate that to the greatest extent possible.
Application.Caller does not seem to work for the stated purpose. I've been searching for a workaround by means of reading the "Undo Stack". Numerous articles written by experts state that the undo stack is not accessible from VBA.
I've considered reading the text from the "Undo" button's caption but it just seems like such a hack ... not that this whole idea isn't a hack
I have 2 macros: 1 controlled by a checkbox activex (PA_03) and the other a combobox (PA_03_rows) in a worksheet. I display the results from PA_03, and the user than then increase or decrease the number by using the combobox. But when I change the value (PA_03_rows.value = x) it causes the macro to jump to the macro.
I don't think it did initially, but it does now. According to another post, I saw it shouldn't do it! Is there something I'm just not seeing here?
Private Sub PA_03_Click() Dim message, title, default, numberRows Dim PA_rows As Integer Application. ScreenUpdating = False TakeFocusOnClick = False Worksheets("sheet1").Select ActiveSheet. Range("a15").Select If PA_03.Value = True Then Goto Unhide: If PA_03.Value = False Then Goto Hide:
Unhide: message = "Enter the number of input rows required (1 to 50)" title = "Non-Featured Standard Input" default = "1"
How can I return name of a command button on click? I want to create some sort buttons on a sheet I will use regularly to speed things up. I thought if I could call each sort button by the column letter the button sits in I can use this in a single sub for all buttons
e.g the button sitting in column A is called "A". when i click the button, it returns it's name to a variable which I can then use to sort column A. I know I could create a seperate routine for each button but I was just trying to think of something neater.
I have added a control (a check box), it has called itself "Check Box 1", can I change it's name? Reason I want to do this is that I am using a macro to clear the check boxes, and therefore using a loop and I want the next control to be 5, not 12.
in cell f4 and cell i4. i have dates formatted to ..... e.g F4( 23/03/10 ) and I4 ( 06/04/10 ). in cell h9 i would like to return the answer ( 23/03 - 06/04 ). i am currently using this formula
I am creating a bar inventory/"numbers" sheet for a corporation. I have been searching on and off for a week or so to find an answer or a tutorial on what I am looking to implement into this worksheet. I want to take a userform, with a multipage control, and have the control for each tab, show me a different part of the worksheets. For instance, the first tab would be inventory, the second tab would be ordering, the third tab would be weekly numbers, etc ... I am wondering how to "add ranges to the multipage control in order to make it a "viewer". I have found tutorials on how to print, enter info into the form and save it to the sheets using a button, but I can't find a tutorial on how to implement the control on how to make tabs show the ranges. Can someone point me in the right direction on a tutorial, or maybe if willing a small spreadsheet with a mulitpage control on it, showing how to add the ranges from different worksheets?
I record a macro that copy a portion of a tab to another, but when my data changes the destination get data one above the other. I think it is because instead of sending Control Donw it goes to the cell that I recorded the macro with.
I'm trying to make it so that when a user clicks on a certain cell, a calendar pops up so they can pick a date. This seems like a pretty common thing to want; I hope Microsoft puts it into the next release.
Anyway, I've read the tutorial found at [url]which tells you how to create a userform, add the calendar control to it, etc.
I've also modified it so that the calendar comes up when the user clicks on a certain cell, and so that the form closes when they choose a date.
I had to use the selection_changed subroutine to tell if someone clicked on the cell, but there are some flaws.
First, moving over to the cell with the keyboard arrows brings up the calendar (undesired result; I only want it to come up with clicking)
Second, if the cell is already selected, clicking it doesn't bring up the calendar since the selection didn't change (also undesired; I would like the form to come up whether the cell was previously selected or not).
There are a few aspects of the UI I'd like to control in 1. Is there a way to force Excel to select nothing? After a sort by macro, Excel leaves the sorted range selected. I can set it to select a specific cell every time, but I'd rather have no cells selected at all. 2. Can you programatically hide the Formula Bar, Gridlines, and Headings? 3. Can you programatically collapse the Ribbon? (Excel 2007 only, of course.)
The last two are intended to maximize the screen real estate dedicated to the body of the spreadsheet, and I'd like to do it in code so that I don't have to describe how to do it to less skilled users.
What is the best whay to use an VBS code to control de Excel aplication? I trying but the best I could is creatind an ADO connection to Excell and using it as a DB. I only need to insert one valeu into a CELL (like A1). Than I need to uptate the sheet.
I have a UserForm that contains both a combobox and textbox. I'm wondering if there's a way for the cursor to automatically goto the textbox after a value in the combobox has been selected. I'm looking for something equivalent to either manually selecting the textbox or pressing "Tab."
It has been a long time, but learning VBA is proving difficult because it doesn't seem to allow the tricks I used to use! The code below is not complete, just a sample to show what I want to do, using made-up variables.
For row = 12 To 50 If colBcontents = 6 Then h=24 Next row End If
If colCcontents = 5 Then g = 7 Next row Else If y=24 End If Next row
The bad formatting shows that I can't use "Next row" inside the loop, only at the end. So how do I get this function? All my books tell me is how to exit the loop early. I can't seem to "Goto" a label just before the real "Next row", even. BTW, I should point out the example is a very simple attempt at explaining the proble. I need to do these actions on much more complicated steps. Edit: Is the answer to make one big chain of Else Ifs?