Reading and Displaying lists value trough VBA code - excel

Please somebody help me in reading values from excel drop down list and copmare these values with the values in the different cells and display results in VBA excel
I have 3 drop down list and i will compare these values with the values in other cells, if it matches i will display the values for that.
I have 2 sheets , Sheet1 and Sheet2. in Sheet1 i have 3 dropdown lists, where i will select the values. When i select these values, i need to search these values in the table exists in the sheet2. And the values to be displayed in a perticular cell. How to do it. Please help

do you maybe look for something like that?
Private Sub ComboBox1_Change()
If ComboBox1.Value = Range("E3").Text Then
MsgBox "Same Values"
End If
End Sub

Related

How do I reference multiple columns of a table for autofilter VBA in excel?

I'm working on a signposting directory and I've inserted an active x control Textbox that id like to use as a search box for my "All_Data_Table" Table. I'm editing the VBA to dynamically search and then filter as someone types, across multiple columns and return the results in the same table, but I cannot get it to work.
I've linked the active X textbox to cell A1
Private Sub TextBox2_Change()
ListObjects("All_Data_Table").Range.AutoFilter Field:=1, Criteria1:=("a1")
End Sub
I'd like it to search & then filter results that match the text from A1 across columns 1,2,3,4,5,6,7,8,10, and 13

How to clear the contents of a row in a table with a dropdown list of names which match one of the columns of the table

Excel 2007 VBA - Two sheets, one of which contains a table, in the 3rd column of the table is the Name field. On another sheet there is a dropdown list populated with the names from that table. I am attempting to code that when a name is selected via the dropdown list it finds the corresponding row in the table and clears the contents without changing the table structure.
This is my first post so thanks in advance - Joe.
EDIT...
OK, I got the following code to work (as opposed to the stuff I first posted), what I need to do now is alter the code so that it only clears the row of the table not the entire row of the worksheet, any help would be appreciated.
Private Sub Worksheet_ChangeII(ByVal Target As Range)
If Not Intersect(Target, shOP19.Range("Scratch_Horse")) Is Nothing Then
Dim cell As Range
Dim strHorse As String
strHorse = shOP19.Range("Scratch_Horse")
For Each cell In shPLine.Range("a2:s21")
If Trim(cell.Value) = Trim(strHorse) Then
cell.EntireRow.ClearContents
shOP19.Range("B17").Value = "Horse"
shOP19.Range("P1").Value = "Speed"
End If
Next cell
Race_Sort ("PLine_Speed")
End If
Application.ScreenUpdating = True
sub on the code section of the dropdown sheet

create name for both header and column but type once

I am trying to set up a collection of spreadsheets for others to use. I am putting labels on the first row for each column, I think of them as headers in that case. And I know how to name a column in Excel (at least 2010 lets you do this).
If I have columns with the headers "higher" and "lower", and the columns have those names also, then the formula "=higher+lower" in a given row would use the values from those columns in that row to calculate the result.
I would like to end up with the descriptive column name being the same as the header value. I'd like a way to either create the headers from the column names, or create the column names from the headers, so I don't have to enter them twice. I have a lot of columns, and multiple spreadsheets to do this with; I'm just trying to save typing them all twice, and both initially and to keep them updated as they change.
Manually: Select the desired columns and go Formulas Ribbon > Create from Selection, tick "Top row" and hit OK. Repeat when you've changed a value in row 1.
With VBA: Use this code in the worksheet
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("1:1"), Target) Is Nothing Then
For Each cel In Target
Debug.Print cel.Column
Columns(cel.Column).Select
Selection.CreateNames Top:=True, Left:=False, Bottom:=False, Right:=False
cel.Select
Next cel
End If
End Sub
If you copy and paste the same value into multiple cells, Excel will create the first name and then prompt for the other cells if you want to replace the existing name.
Changing a cell in row 1 will create a new range name. The old range name will still remain in place.
If you have values that can be interpreted as a cell address, like A1, Excel will add a _ sign to the range name, like A1_. If you enter numbers into row 1, Excel won't create range names.

passing Parameter values to filter a table in a different sheet using VBA in Excel

If I have a data-table value that has for example this value:
Table name = Employees
Column Names = Names, Titles
The values of the the columns will consist of
"SamT, Manager"
"Nock, Manager"
"John, Entry Level"
"Kris, HR"
So If I have this table generated from a sql server table on Sheet Two on my excel spreed sheet, How can I create a Parameter that will help me filer this table automatically by entering values in a different sheet(One). The Parameter can be drop down list of the Titles or just a text box that takes the values. For example I pick "Manager" in the parameter drop down list in the Sheet one and on the next spreed sheet where I have the "Employees" table list only shows the employees with the Manager Title. How can accomplish this using VBA in Excel?
thanks,
Try something like this, you can expand the if statement for more arguments.
On the Sheet1 object you can add:
private sub Worksheet_Change(ByVal Target as Range)
if target = Range("YourCell") then
Sheets("Sheet2").ListObjects("YOURTABLENAME").Range.AutoFilter Field:=NUMBEROFCORRESPONDING FIELD, Criteria1:="=" & Range("YourCell").value
end if
end sub
I haven't tested this so there hopefully there are no typos.

EXCEL - dropdown and fill cells

Good night.
I'm having some troubles to get what i need done.
I have some cells in a sheet that needs to be filled every day, manually.
I have also a dropdown with all the months, and another one with the days.
Is it possible to save data in specific cells for the selected dropdown values?
Something like for each day mantain different data in the same cells.
Thanks.
I'm not exactly sure what you are requesting. What I think you are trying to do is:
Enter something into a cell
Select the Month and Day from the dropdown lists
Record the value of the dropdowns into cells near the value you entered.
Is this correct? If so, you would need to need to write a VBA macro that would take the values of the dropdown and write them into the cells where you needed them to be (presume next to your entered text). I think this would do that for you.
Sub writeDropdowns()
'This will take the values from cells B1 and C1
'and record this in the two cells next to the selected cell
Selection.Offset(0, 1).Value = ActiveSheet.Range("B1")
Selection.Offset(0, 2).Value = ActiveSheet.Range("C1")
End Sub
It assumes that the dropdown values are in cell B1 and C1 of the same sheet.You could then link this macro to a Form button. This is very simple and doesn't check for any errors, like if there is no cell selected. It should be a good starting point though.

Resources