how can i get the name of the button thats been pressed?
i know it will probably involve Application.Caller
but i just have no idea how to get it to work
Dim BtNm As String
BtNm = Application.Caller
MsgBox BtNm
this doesnt work but that would prob be obvios to you guys.
I have a userform with a textbox and a command button. I have used data validations on the textbox. Clicking the command button saves the data in the worksheet. It works well if the user hits tab, enter or down arrow key after entering the data. The problem is, the textbox validations fail to get executed if the focus stays on the textbox and command button is pressed. I want the command button to be disabled until the user has moved the focus away from the textbox -there by executing the validations!
I have an excel sheet with numerous columns/rows of data. I want to be able to adjust multiple active cells simultaneously using either a Button or Spin Button.
Adjusting a single cell is not trivial, but it is adjusting multiple active cells (range of which can/will change) that I have reached my dilemma.
Here is what I'm using to adjust a single active cell with a Spin Button:
[Code] ......
Is using multiple (user chosen) active cells even possible?
I try find function or create macro witch makes move in to the specified column after clicking on button. But this move will be in the same row, where i was last active.
I've got a problem with the used spinbuttons. The code I used (see below)allows the user to choose a column (with the option button(A,B,C,D,E) in which changes would be made and than changes the value of the given cell according to the name of the spinbutton (which specifies the row). This forces me to use about 80 spinbuttons in a single sheet, and the whole workbook comprises of over 30 sheets pumping the whole file to a size of over 3 MB. To reduce the file size I need a code that would link a master spinbutton (one per sheet) to any active cell (the "just clicked one")
Private Sub sel(ByRef Column As String) For Each obj In Application.ActiveSheet. OLEObjects If obj.progID = "Forms.SpinButton.1" Then obj.LinkedCell = Column & (Val(Mid$(obj.Name, 11)) + 3) End If Next obj End Sub
I am using following command to check if a command button with 'Email This Page' written on it Exists in active worksheet or not. It always gives not present.
Dim s As String On Error Resume Next s = Application. CommandBars(1).Controls("Email This Page").Caption If Err.Number = 0 Then MsgBox "It exists" Else MsgBox "Not here" End If
I want to use one button with a macro attached to it to locate data on a different worksheet. So I highlight the "activecell" I want to find on the other spreadsheet then click on the button and it goes to the correct spreadsheet and filters for the data I want (relevant to the activecell).
is it possible to choose an option button which will then perform a calculation on a cell reference? I’m trying to deduct a percentage from a total when an option button is highlighted.
let's say I run a macro from a button on sheet 3, macro process on sheet 10. Is there a way that the macro would automatically go back to sheet 3? Like a "Back" button on IE. I can't code Sheets("sheet 3").Select because I want it to do the same thing on sheet 4,5,6...
I've been using the following code to bring in individual cell values from one closed workbook to an active one. I would like to modify this is possible to bring in multiple cells at once and also pull them into a different worksheet in the active workbook. Basically, my command button is on Sheet1 but I'd like the data to pull into a cell on Sheet2.
Private Sub CommandButton1_Click() With Range("Q9") .Formula = "='C:Users[Workbook Name.xlsm]Worksheet Name'! N27" .Value = .Value End With
I have a range of amounts in Sheet 1 from F7:Q13 and im using the find method to search for the active and non active values in the cell. Which means that if there's a value in the cell it will transfer the value in Sheet 2, if nothing is found in the cell the cells in Sheet 2 will return as nothing or null.
I think the problem lies on the FindWhat variable. Im getting a compiled error which im not sure what is it.
I've attached the spreadsheet so you get a better idea of the problem that i encountered.
When I copy the tab and change some of the data within the cells, I want the macro refer to the chart on the current tab and the values in the current tab - as currently it refers to only "Chart 2" and the values in the tab 'Figure 2 - WE OPH'.
I've tried changing the sheet name to ActiveSheet.name but that doesn't seem to work.
I have got stuck on one piece of my code and having trouble fixing... Overall I am trying to find variable station name in cell L2 of Sheet 2 in Sheet 1 and then select and copy the data from the data in "cell L2 of Sheet 2" to the last entry of that row. I have attached an example test spreadsheet of the data and a macro is within Sheet 1 called test1. Please note that cell L2 in Sheet 2 will always be different station name and the station list in Sheet 1 will change with differing station name.
The code I am using is:
[Code] .....
The code that is not working and bringing up an error is:
I have a togglebutton for an excel sheet in use for scoring psychological tests. When pressed, the button higlights the cells where a raw score is inserted.
What I need is a code to higlight the togglebutton when pressed, eg. green (colorindex 4). The button is white. How to do this?
Below is the code, It has more lines than needed, but it works.
Private Sub ToggleButton1_Click() 'FKV TOGGLE'
ActiveSheet.Unprotect "manisk" If ToggleButton1 Then
I received this code from an example I found once upon a time that was originally submitted by someone else. Right now the code enters the current date in a cell of the same row as the checkbox when it's checked. I need to revise it, or come up with something similar, that will reference the value of a cell when it is in the same row as the button (from the Forms toolbar) that is clicked to activate the macro. First of all, I don't know how to reference a Forms button in VBA.
Sub Process_CheckBox() Dim cBox As CheckBox Dim LRow As Integer Dim LRange As String LName = Application.Caller Set cBox = ActiveSheet.CheckBoxes(LName) ' Find row that checkbox resides in LRow = cBox.TopLeftCell.Row LRange = "B" & CStr(LRow) 'Change date in column B, if checkbox is checked If cBox.Value > 0 Then ActiveSheet.Range(LRange).Value = Date 'Clear date in column B, if checkbox is unchecked Else ActiveSheet.Range(LRange).Value = Null End If End Sub
Here is some other code I already created. Unfortunately, because I don't know how to do the row reference, I had to create 25 different macros, which just bulks up the size of my file and slows it down. But here is what I'm trying to accomplish in my macro:.............
i want to create a save button in sheet 1, on clicking the same the data entered in the particluar cells of sheet 1 should get saved in sheet 2 in given format
Context: I have a spreadsheet that contains a list of employee names and their certifications. I want to be able to assign a button to each employee in column B with a macro that is able to zip files from a folder that contains that employees name.
The following code assigns buttons to each employee in column B. At the moment the code I have is able to assign the macro "Zip" to each button.
[Code] .....
Now, this Zip macro is able to zip the file for the employee "Anthony Tran". However I need it to be able to recognise which employee's button I've clicked and search the same files as above except with that employees name instead of "Anthony Tran".
If it makes things easier, the code for creating buttons for each employee is able to name that button as the employees name that it represents.
This is probably really straight forward but cant see why it happens, the following macro works fine when called by a button created by the form toolbar but doesnt when called by a command button, get the runtime error 1004, "select method of range class failed"
Context: I have a spreadsheet that contains a list of employee names and their certifications. I want to be able to assign a button to each employee in column B with a macro that is able to zip files from a folder that contains that employees name.
The following code assigns buttons to each employee in column B. At the moment the code I have is able to assign the macro "Zip" to each button.
VB:
[COLOR=#333333]Dim Btn As Button[/COLOR] [COLOR=#333333]Dim rng As Range[/COLOR] [COLOR=#333333]For I = 2 To RowCount + 1[/COLOR] [COLOR=#333333]With Worksheets("Sheet1")[/COLOR] [COLOR=#333333]Set rng = .Range("B" & I)[/COLOR] [COLOR=#333333]Set Btn = .Buttons.Add(rng.Left, rng.Top, rng.Width, rng.Height)[/COLOR]
[Code]....
The following code is my Zip macro:
VB:
[COLOR=#333333]Sub Zip()[/COLOR] [COLOR=#333333]Dim strDate As String, SavePath As String, sFName As String[/COLOR] [COLOR=#333333]Dim oApp As Object, iCtr As Long, I As Integer[/COLOR] [COLOR=#333333]Dim vArr, FileNameZip[/COLOR] [COLOR=#333333]Dim FName() As Variant[/COLOR]
[Code]...
Now, this Zip macro is able to zip the file for the employee "Anthony Tran". However I need it to be able to recognise which employee's button I've clicked and search the same files as above except with that employees name instead of "Anthony Tran".
If it makes things easier, the code for creating buttons for each employee is able to name that button as the employees name that it represents.
I am imagining a spreadsheet with the equivalent of an info button in each cell of column A. The idea is the user clicks the button to open a User Form containing additional info about the entitity represented by values on that row.
E.g., Row 1 is labels, row 2 is all about Bob, 3 is about Jane, 4 is about Freddy. If the user clicks the info button on row 3 then a user form opens up and displays additonal info about Jane.
I am wondering if there is a way for VB to identify which row the clicked button was on without having to write individual code for each button telling VB which row the button was on.
I am hoping there is some form button property I can reference or interrogate which will give me a cell address; a button.position property or similar. This will obviously save me a lot of coding if VB can dynamically determine which row is being interrogated as there will be a couple of hundred of these to start with, potentially thousands. (I realise Access is a better solution for database interrogation, but I have to work with excel at present).
Ultimately, the user form that the button calls up will have a list box on it and I want the list box to default to the entity on that row, and allow the user to browse the other entities if they want to.
If there isn't a solution for this I will just have a single info button for the users to click that opens the user form and then they can select the entity from a list box. But I would like to offer the "intelligent display" option but don't relish coding the equivalent of several hundred "You clicked button four hundred and seventy six, default to info card for bert".
I have a workbook that contains 18 sheets, on 14 of the work sheets I have a comand button that runs the following Private Sub CommandButton1_Click() ' Range("B3:B53").Select ' Selection.ClearContents
Dim nloop As Long
Range("C3:K53").Select Selection.Copy
Range("B3:J53").Select ActiveSheet.Paste
For nloop = 3 To 53
If nloop 3 And nloop 12 And nloop 15 And nloop 16 And nloop 23 And nloop 28 And nloop 41 And nloop 47 Then Range("K" & nloop).Value = 0
Next nloop
Range("B2").Value = DateAdd("d", 7, Range("B2").Value) Range("L7").Select End Sub I want to put a comand button on sheet18 that will run the code so it does the same thing as pressing each command button on each sheet.
the sheets that I have the cmd on are: Sheet1, Sheet2, Sheets3, Sheet4, Sheet5, Sheet6, Sheet9, Sheet10, Sheet11, Sheet12, Sheet13, Sheet15, Sheet16, Sheet17
I have read several articles saying using a command button as a toggle button can't be done but some articles have said it is possible using the state properties.
.State = msobuttondown .State = msobuttonup
Is there any way to combine this with the onaction property so that when you press the button, it stays down and activates a macro then when you press it again it pops back up and activates another macro.
whenever the active cell is within a given range, highlight the cell on the same row in column S (by changing its interior colour). This should occur each time the active cell is changed, whether by cursor keys or mouse. The effect would be similar to the row and column highlights at left and top of the worksheet.
This action should be restricted to one sheet in the workbook.
I'm trying to make it so that when I hit one button it unlocks the ability to hit two other buttons. I've been trying to do some OnEvent things but they just haven't been working for me.
Ideally I'd like it so that button B and C look like they shouldn't be pressed, perhaps translucent or grey, before button A is clicked, after that they should turn to another a specified colour.
I have created a userform for users to enter data and can not seem to make it work correctly.
I am having a issue on the Row Number Textbox. I am trying to get this textbox to reflect the current row number that I am viewing with the Userform.
I am also having a issue with the Last and Add New button.
I have formulas in Column A and Column H and when I try to go to the last Row or Add a new record it recognizes the formulas and it takes me to the row below where the formulas are. (Example Row 601 instead of Row 3)
i'm using excel 2003 SP2. I have several sheets with the same buttons. And i have a final sheet where I collect a summary from every sheet. I want to create in my summary sheet a button that runs all the buttons from the other sheets, so i can get all the info.
Private Sub cmdCalculate_Click() With Application .Calculation = xlAutomatic .MaxChange = 0.001 End With ActiveWorkbook.PrecisionAsDisplayed = False End Sub Is there a way to disable the F9 key and make the user press this Command Button instead? Right now this does not work.