I am having a hard time making a macro. Using Excel 2003 i would like to Auto-hide a row when a particular cell has one of three characters entered into it. "W", "L" or "D". If those characters are not in the cell it would be blank.
a way to hide used rows if the color of the cell in column I is green( color 35 vba) but only if the cell is visible will the macro change the rows visible state, in other words already hidden rows will remain hidden regardless if they match the color requirement.
below is some pseudo code to try to explain better what I'm trying to do. The below code doesn't actually work but I was wondering if someone knew some code that would actually do what I've described.
If Sheet1.Range("A34:A94") = "HIDE" Then For Each cell In Range("A27:A94") If UCase(cell.Value) = "HIDE" Then cell.EntireRow.Hidden = True End If End Sub
The following code fills down column B for rows 3 to 110, regardless of the inserted "If Not IsEmply' statement. I've got formulas in Column A from row 3 to 110, but visible values in rows 3-5. I want it to fill the for the visible values only.
I have one worksheet that contains a large table. I'm using VLOOKUP to spread each row of the table to separate worksheets.
When VLOOKUP refers to an empty cell, is there a way to set that row to be hidden?
Also, if VLOOKUP returns data to a cell, is there a way for Excel to automatically set the row height to display all of the linked data in that cell? There is only one column of data.
I'm using this VBA code which is hiding cells in rows 59:111. Some of these cells have formulas and some don't.
Private Sub Hide_Unhide() Application.Calculation = xlCalculationManual Application.ScreenUpdating = False For i = 59 To 111 Rows(i).Hidden = (Cells(i, "b").Value = 0) + (Cells(i, "b").Value = "") Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub Here is the problem I'm running into: I want this to run in the background so the user won't have to click anything to hide/unhide the cells whenever the options in the drop down list are changed and the data expands/collapses.
is there a way to auto hide a row depending on the data in two cells. Basically if two specific cells are empty or return a zero or specific number i want the row to auto hide.
I have an Excel schedule with subtotals and between 1 and 50 rows under each subtotals. The subtotals contain totals of the rows below them. Is it possible to link code to an object (say a 'down arrow' next to each subtotal) and when it is hit, it unhides the rows beneath the subtotals? At the same time the 'down arrow' changes to an 'up arrow' and when that it hit it re-hides the rows.
There is also the possibility that the user will unhide rows and move down the spreadsheet unhiding/rehiding other areas before coming back and wanting to re-hide the first area he revealed. When the spreadsheet is closed, all the arrows should revert to 'down arrows' and all the non-subtotals' rows should be hidden.
In sheet 1, I have a list of data in A2:D21. In sheet 2, I have formulas in the same range that "paste link" the data. If, there is no data entered in any entire row of the same range in sheet 1, then I want the entire row to hide automatically in sheet 2. In fact, unless there is something entered to start with, I do not want any of the rows to be visible. Is this possible and how?
I got an excel, with a "validation list" in a certain cell.
Users can select value1, value2 or value3. based on this value, some columns will have to unhide (standard= hidden) (only for value2 this is the case).
I used the worksheet_change event to determin the value, but so far I'm only getting it to hide...
Code:
Private Sub Worksheet_Change(ByVal Target As Range) If C24 = "value2" Then Columns("H:O").Hidden = False Else Columns("H:O").Hidden = True End If End Sub
I am creating a copy of a spreadsheet (table format) in a separate workbook using formulas that will update the copy as the original updates. I would like to auto hide the rows that have the value "Returned" in column G. I have columns A - G , rows 2 - 2000. The value "Returned" is the result of a simple = formula. Is there some way to accomplish this?
I've attached a screenshot to illustate what I am doing and a one tab version of the workbook. I've had to do it in a zip folder as they were too big individually.
I've got a table that starts at row 12 and finishes at row 217 and the users enter information into the rows over a year. The creator of the sheet has set it up so there is a "z" in the second cell of each row and as this cell is overtyped with the new information the row changes colour and is included in the selected print macro that is set up.
I want to add in a macro that changes the row height to 0 based on the "z" being present in the row above 2nd cell. So all that is showing in the table are the rows that have info in them and one blank one underneath. So everytime a new row of info is entered either a new line will reveal itself underneath or there is a control button on the sheet that the user can press to reveal a new empty line.
I don't know how to write VB, but I've found some code online that claims to do what I need, but I need it to be altered to use the presence of the "z" in the row above (2nd column) as the trigger for the rule:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Value = 1 Then
Rows(Target.Row).RowHeight = 0
Else
End If
End Sub
Or should I be starting off with minimised rows and changing it so the height increases as the "z" in the row above is overtyped?
Can this happen automatically as the z is overtyped or does the macro need to be triggered by a control button for example?
Is there a better way to do this? I don't want to get rid of all the extra empty rows and have a macro to create a new row for 2 reasons: 1.They have formulas and macros running set up by the creator that I don't want to mess with and 2. There are 52 sheets in the workbook, 1 for each week of the year and the next sheet takes the information from the previous weeks sheet so on the last sheet, number 52, it has every line that has been entered over the year from week one to week 51 carried over. If I created a new row on week2, I would have to then create that row on every sheet following week 2 and I think that would make it more complicated. I would need the macro to be able to run on any of the 52 sheets.
Private Sub Worksheet_Change(ByVal Target As Range)
I've created an excel workbook to automatically create a report for my work. All you have to do is enter the data into the "DATA" worksheet. Easy. Only problem is that someone can easily ruin it if they try to run it when the "DATA" sheet is empty. I figure that if I can get two columns hide when it's empty and that would solve my problem. I've tried several VBA codes, but they don't work. Also, everything except the "DATA" sheet is protected to prevent accidently changes. This is the latest code I've tried:
VB: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "DATA!$P$5" And Target.Value = 0 Then ActiveSheet.Unprotect ("password")
I'm currently using a Excel 2007 btw... I'm a newbie when it comes to VBA programming... I have attached a sample file for reference. I need to automatically copy the contents of Sheet1 to Sheet2 and Sheet3 (meaning everything you edited on Sheet1 should be automatically edited on the 2 other sheets.) Here are the conditions:
- the items with zero (0) quantity from Sheet 1 should be hidden on to the 2 other sheets. but when you replaced an item with 0 qty to other values (any value greater than 0), it should appear on Sheets2 and Sheet3. (Not affecting the format of the table)
- items without price should be highlighted.
- items that have values that are linked to other items should be highlighted. (ex. if the value for item1 for qty is linked to the number of qty to item 5)
- for Sheet3, Column D to Column G should be hidden
I have an Excel workbook with multiple sheets. In one sheet, there are many columns that automatically get hidden based on cells values (=1) in another sheet as I type. I use this
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$7" And Target.Value = 1 Then Sheets("Stakes").Range("E:E").EntireColumn.Hidden = True Else If Target.Address = "$C$7" And Target.Value <> 1 Then Sheets("Stakes").Range("E:E").EntireColumn.Hidden = False End If End If End Sub
Recently I had to change the second sheet that instead of manually entered values, formula results appear in cells. And the above code doesn't work anymore, columns are always stay unhidden. How can I achieve what I want? I need columns get hidden if formula results =1.
I found several examples on google, but unfortunatly it conflicts with another macro I use for forceing users to enable macros (hide all sheets except one if macros are disabled).
The attached file is an example contaning the save&close code and the show/hide sheets depending on macros enabled.
If the file is opened with macros disabled then only one sheet will be visible. If the file is opened with macros enabled other sheets are visible.
The problem if that this code uses a custom save, witch makes the save&close not save... (in module1 and in ThisWorkbook)
The pourpose of the save&close is to make sure some users don't forget the excel open and thus block access to it. So if a certain idele time passes excel has to save and close without any confirmation messages.
Is there an Excel formula to remove the spacebar + characters in red, as shown below? I need to be left with only the last name, first name and the semicolon.
Mouse, Mickey ;
Microsoft Outlook has changed the way that email addresses from the global addressbook copy and paste (from version 2003 to version 2010).
I'm trying to set up a "simple" calculator for a co-worker who sells memberships at a country club. The purpose of the calculator is to help show an individual why it makes financial sense to join now (mid-year) and have monthly dues waived for some number of months as opposed to waiting until December and joining right before the membership deposit goes up in January and be required to pay dues from day one.
I'm not exactly sure how to build an NPV formula for the 'join later' column (cell C11). The assumption I am using is that the prospective member would take his money and invest it at the assumed rate and then use those funds to join and pay dues at the later dates. I've got a formula in there right now, but it is only giving me their net out of pocket expense, not the net present value of those funds.
I have a list of sales which is mixed with Dollars and Euros in the same column. I want a formula which will detect which currency is which and make 2 seperate totals for the corresponding amount. I have the currency signs in the same column but seperate to the amounts.