I'm trying to retrieve the worksheet names to a specif cell and populate from that point only with the names of the visible sheets, but It keeps returning only the last visible sheet name and not the sheets that are visible. Where the code is failing - I'm self learner and start with VBA macros a couple of months so I'm still learning how to identify when the error show up
Code:
Sub Summary()
Dim wks As Worksheet
ultl = Sheets("Control").Cells(1048576, 4).End(xlUp).Row
For i = 31 To ultl
I use templates (.xlt) to generate reports for different organizations. In some cases certain pages in the reports are hidden. When printing I get blank pages where pages are hidden. How do I not get these pages printed at all? I do use page breaks to format the reoprts.
I'm trying to create a userform that allows the user to swap sheets from visible to hidden status. I've made it to the point where all the sheet names are populated based on their current status in their respective listbox, but I am stuck on using the results of any swaps to newly set their visible property. the code I have in the userform is as follows:
I have a workbook with many worksheets. All I want to do is print to PDF those that are visible (I can use just the code name number can't I?) and ignore those that are hidden. It seems simple enough but it will run and do nothing.
Dim sMsg As String, FName As Variant Dim myArray() As Integer Dim i As Integer Dim j As Integer
Here is what I think I want to do (however there may be a better way to get to the end result).
Macro 1: Unhide all worksheets however, first list only the worksheets that are visible.
Macro 2: I want to be able to hide all worksheets except those in the above list.
My intent would be to have these in the personal file so I could run either process on any file I have open so I think I would need to insert a tab for the list when unhiding & remove the tab after hiding.
I have found many strings unhiding all & hiding all except a named sheet... but can't find anything on the above?
I found code from the internet attributed to Bob Phillips for VBA to have a dialog box pop up and allow the user to select what worksheet to navigate to.
The code works well except it doesn't exclude hidden or very hidden worksheets.
Code:
Sub BrowseSheets() Const nPerColumn As Long = 38 'number of items per column Const nWidth As Long = 13 'width of each letter Const nHeight As Long = 18 'height of each row Const sID As String = "___SheetGoto" 'name of dialog sheet Const kCaption As String = " Select worksheet to goto" 'dialog caption
[Code]....
I know there is the line of "If Sheets(i).Visible And i Mod nPerColumn = 1 Then..." but it still allows all sheets to show up in the dialog box.
How it can be modified to include visible sheets only?
I would like to be able to find the largest visible area of continuous rows in a filtered table. I know one possible way would be to loop through visible cells using the "xlCellTypeVisible" property and count cells in each visible area. However, the data is consisted of tens and sometimes hundreds of thousands of rows so I was wondering if there is a faster, more efficient way to do this.
Currently I'm working in an excel file that contains a lot of charts. I want to write a macro that changes the source data of every serie in every chart. It only needs to add extra rows. But as every series has different columns where they get the data from, how can I change the rows without changing the columns?
This is what I've written so far:
Code: Sub ammend_datarange_series_all_charts() Dim start_cell As String, end_cell As String Dim chart_tot As Integer, c As Integer, s As Integer
[Code]....
As you can see I've tried two things, first I tried to change the string of the source data, however this meant that every series would have C and E as their source data. So I wanted to retrieve the x and y values in string format. This does not work yet, it returns an array with the values of all the entries in the series source data. From that array I can not retrieve the column where the data came from.
I get a report each day with a list of issues. the "group" that works the issue and the "priority". Based on these two factors, i need to do a double lookup (vlookup?) to another tab or file to match the priority and group and see what value should be brought back for each lines results. For example, if group1 had a prority3 issue, the lookup would find the value from the other sheet or file and bring back the value and put it at the end of the row where the formula is.
Attached are examples of the sheets. sheet1.jpg sheet2.PNG
I'm looking for the row and column number, or number of rows and columns, that are visible in activewindow. Activewindow.visiblerange.row, .column (and .Scrollrow, .Scrollcolumn) are nice but
I prefer not to perform division on pixel height; I'm looking for some count or rowcount but I haven't been able to locate the object.
I have a macro solved on another post that creates worksheets based on a Range and renames the new worksheet to the corresponding value. The range is edited on a regular basis, so to keep the file size down I need to remove any worksheets that no longer have a corresponding ID in the range.
The previous post is here
HTML Code:
Sub CreateTimeline() Dim rng As Range Dim rCell As Range
[Code].....
I'm sure that I could amend the above code (also removing the copy worksheet condition) to check the worksheets and delete any that no longer have no corresponding value in the range from the worksheet name.
I do hav a sheet in which i do hav some column;s n data
Worktype Metrics April May June
in work type few rows are hidden which i don't need what i need is i want to populate only comman metrics in other range named metrics i had build a macro for this and that's working fine but the problem is it also reads metrics from hidden rows too. i had tried a loop in which i had placed as hidden column property condition.
I am trying to create a range with visible cells after filtering based on a criteria. But, facing some wierd problem with setting correct range with visible cells. Here is the code.
Here, xlsFilteredRange.Cells.Count returns correct values. For example, for a particular filtered criteria, if there are 6 rows, it returns 42 (6 rows * 7 columns). However, xlsFilteredRange.Rows.Count always returns 1 (header row), though there are 6 rows. How can this be fixed?
I'm using a named range called "VFILTER". This range is my filter range. Once the filter does it's thing, I want to set the first visible cell in column a to a variable...I can't get this right for the life of me!
.AutoFilter .AutoFilter field:=25, Criteria1:="TRUE" .Offset(1, 0).Resize(.CurrentRegion.Rows.Count - 4, 9).SpecialCells(xlCellTypeVisible).ClearContents 'set the first visible cell in column a to variable Set OutRange = .Offset(1).Resize(.CurrentRegion.Rows.Count - 4, 1).SpecialCells(xlCellTypeVisible) End With
I am looking for a code which can jump to a next cell from the activecell. I use the code
Activecell.offset[rowno][columnno]
This would take me to the next cell. However, this is a problem when the filter is on. I am not able to go to the next visible cell. Suppose if the row increase is 1, then cell selection goes to the hidden cell. I need to bypass the hidden cell and go to the next cell. Can anybody provide a code which does it? I tried searching the forum but could not get anything closer to this as I need something which works with offset and not cells.row.visible...etc.,
Need to correct code to resize all visible rows on a sheet based only on the text in the visible columns. I have tried the below code but when it resizes it is using the largest amount of text in the rows including that in the hidden columns.
Is there a way to use formula (Sum in this particular case) across multiple sheets with sheet names having a particular criteria?
The sheet names are 5 digits but not sequential (cost centre numbers). I'm trying to find the total if the sheet name (number) falls within a particular range (e.g. 150xx-152xx, 153xx-168xx), with around 60 or so sheets in total.
I know it's possible to specify the range myself, or to add a blank sheet as a marker/guide to create a "sandwich" of the required sheets (e.g. =SUM(Start:End!A1)), but the cost centre ranges may change if they're changed so I'm trying to find a way to identify them as variables rather than requiring maintenance.
Although the layout of the sheets should not change (and so a macro might work..?) I think I'd prefer to find a formula (if possible).
I have written some code which asks the using for a name, selcet's a sheet, copy's the sheet, rename's the copied sheet then hide's the original sheet and makes the copied sheet with new name active.
My problem is that I need some sort of code to check for sheets with duplicate names and if true ask the user to rename the sheet or maybe delete the sheet.
I have an excel worksheet with TableNames and ColumnNames. I would like to copy the different TableNames to it own sheet with the corresponding ColumnNames. I also would like the sheet to be renamed to the tablename. I have the workbook but I don't know how to attach it.
Is it possible for a macro to delete any sheet that within a workbook that does not match a specific list of sheets. For example a workbook will always have Sheet1, Sheet2, Sheet3, Sheet4... but it can have many other sheets added to it. The names of the sheets can be completely different however the sheets that I want to keep will always have the same name.
When copying sheets within a spreadsheet I receive numerous examples of the attached error message: when I search for the named range referred to in the source sheet it doesn't exist - I can only assume that it is a variable name that has been assigned somehow - but as far as I can tell, there aren't any macros associated with the spreadsheets in question that are generating the names that are displayed .. so unsure how the names are appearing. how to remove these phantom names so the prompt stops appearing?
NB: If I answer "No" to the prompt I must enter a different name - and if I do that, the system creates the new name in the copied sheet so if I then copy the copy on to another sheet the number of "named" ranges includes both the original "phantom names" AND the additional "phantom names" I've created as part of this process.
I need a macro to start at cell A11 and select across 10 columns and down to the Lastrow (last row with any data).
There are hidden columns after column D so it CANNOT have any columns hardcoded except for column A.
This selection then needs to be set as a single print area to print out on 1 page. I have already set Rows 1-10 as a title area to print at the top of each page.
Code i currently have is:
[Code] .......
I just need it to now go across 10 visible columns and set as a single print area.
From a combobox selection i filter a table for all entries containing the selected ID (from the combobox).
I first wanted to use selected columns from the resultant display (the filtered table) to populate another combobox so the user could drill down to the final selection that way, but seeing the mess i was getting involved in (I couldn't assign a range to the listfillrange of the other combobox) i think it might be best to settle for simply copying the visible cells to a new table on the selection page (the full database is on one sheet separate from the selection comboboxes and related controls), where the user can simply see the information needed on whatever line item they want - the number of filtered entries rarely exceeds five. What i can't understand is when i query the number of rows in the immediate window from the code snip below, it always comes back as "1", whether i do so on the full range or special visible cells.
[Code] .......
To load another combobox i tired
[Code] ...........
I really would like to be able to do so for further refining, if not feasible, can work with just a display table.
Querying the reultant rows i simply tried:
[Code] ...........
and
[Code] ....
In both cases, though the filtered table had 5 records displayed, the count was... 1.
1) Can the visible cells resultant table be fed into a combobox relatively easily and if so, how? 2) With the count of rows, what am i doing wrong?