I would like to perform a calculation with each cell in a range from 2 worksheets and place the result in a range on a third worksheet.
I thought I could use the For Each Cell in Range construct but I don't see how to reference the two ranges in a nested pair of For loops. I am sure there must be an simple/elegant way to do this.
I am trying to use an ActiveX CommandButton on Sheet40 to do the following:
Sheet40 (E31:AN39) = sum of (E31:AN39) for sheets 6-15 PROVIDED that cell D3= "y" in those sheets
So the steps are: (1) Among sheets 6-15 select those in which cell D3 = "y" (2) Set the range of (E31:AN39) in sheet40 to the sum of the same range in the selected sheets
ie cell E31 = sum of cells E31 in selected sheets... cell E32 same... cell AN39 same
I have a worksheet in a workbook that is for 1 of 8 sub-projects. I have all the macros running perfectly and everything looks fine. Now, I have to duplicate that sheet 7 more times and create a Summary sheet for the entire workbook. My question is this:
How can I make it easy to set up named ranges in the new sheets so I don't have to pick each new range in each sheet and define names individually?
Example of a small macro... Sub ActCurrJTDtoActPrevJTD() Application.Goto Reference:="AActHrsCurrPeriod" Selection.Copy Application.Goto Reference:="AActHrsPrevPeriod" Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Range("A1:V1").Select Application.CutCopyMode = False End Sub
I need to duplicate AActHrsCurrPeriod into BActHrsCurrPeriod and CActHrsCurrPeriod, up to an H version.
Clicking the button opens the MSgbox then on clicking Yes to run the code it stops on - Range("E3:BU98").Select - saying range selection method failed, and i cant understand why it seems to be such a simple piece of code.
Private Sub CommandButton2_Click() Dim msg2 As Integer msg2 = MsgBox("Has a back up copy been saved?" & vbCr & "Are you sure you want to clear all existing products and their results?", vbYesNo, "Delete Products?") If msg2 = 6 Then Worksheets("Input Record").Activate Range("E3:BU98").Select Selection.ClearContents Worksheets("Results record").Activate Range("E3:CA23").Select Selection.ClearContents Worksheets("Input Page").Activate End If End Sub
I would like to link a sheet to another sheet in the same workbook. The link would indicate what week of information is needed. I would like the source (weekly information )page to go to the top of the page with the requested data. If I use a hyperlink it directs to the source page but this data could be several rows down. How do I create a link and have the source page provide the data at the top of the page?
I have three sheets: On sheet 1, I have a list of products ( Down ) with Bought and sold info by time period ( Across ). On sheet 2, I have the same list of products from sheet 1 ( May not be in the same order ) with " Attributes " associated to them ( e.g. male, female etc ). On Sheet 3: I would like to add the Bought and sold info by time period on sheet 1 by attribute as per sheet 2
I have a file with four worksheets. The first is the master sheet. The other three sheets we can call "SheetB" "SheetC" and "SheetD." The actual names are quite long. Column T of the master sheet (except for the header row) contains dates formatted as text in YYYYMM format. I need a macro that will copy the rows to the other three sheets based on these criteria:
SheetB - dates April 2010 or before SheetC - dates May 2010 to April 2011 SheetD - dates May 2011 and beyond
Sub transpose_UPCID() Application.CutCopyMode = False Range("A7:B7").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("BAUCS").Range("C11").PasteSpecial Paste:=xlValues, _ Operation:=xlNone, SkipBlanks:=False _ , Transpose:=True Application.CutCopyMode = True End Sub
This macro copies a range and paste it in another worksheet. I dont now how to make this macro to copy another range at the same time and copy it to row C37.
How can I make both things at the same time? The code I am showing here copies and paste product codes. I need to select and copy the production (which is in column F) for each product code and paste it starting in C37.
I'm trying to copy range from one worksheet to another. I'm guessing there must be something wrong with my syntax here:
For Count = 2 To 50 If Sheets("sheet1").Range("H" & (Count)) < 0.1 Then Sheets("sheet3").Range("A" & (next_place), "K" & (next_place)) = Sheets("sheet1").Range("A" & (Count), "K" & (Count)) next_place = next_place + 1 End If Next Count
What I am attempting to do is take data from two columns on multiple sheets within the same workbook file and consolidate them using a macro. (End result would be a sum of the numbers associated with the adjacent name calculated using all the sheets data--as some names would appear on other sheets as well).
The first column is a list of names and the second is a list of numbers. I have titled the columns the same on each sheet and placed them in the same location. However, the number of rows of data each sheet contains will vary per sheet. (For example: one sheet might have 10 rows of names while the next might have 15 or so). Also, each time this file is to be used, there might be a differing number of sheets, as users add or remove a sheet.
Is it possible to create a macro that can scan the all the varying sheets's data and output a consolidation?
I have been able to create both a pivot table and use the consolidation feature by selecting the date ranges manually, but I am lost on how to automate this for other users that have very little excel knowledge.
I've uploaded an example file in case my explanation isn't clear.
I have a spreadsheet of several sheets, but 7 of them (Red, Orange, Yellow, Green, Blue, Purple, Black) are the guts of the file and where I make adjustments. The layout of these sheets is the same, there are several cells of data on each sheet that coordinate with data in the same cell on other sheets. The problem is the sheets are so big, when I change sheets I have to go find the data that was in the same cell (or close) to where I just was on a previous sheet. So for example if on “Red” I am in cell AX253 and I go to sheet “Yellow” I would like it if AX253 would be selected when I get there. And if I select a different cell like D56 on Yellow and pick Green then I want D56 to be automatically selected on Green.
In addition, I plan to use a check box on an eighth sheet called “White” to turn the feature on and off. I have never written code for a check box before.
Is this to terribly difficult to do? I did some searching and saw some code that was similar to this but could not get it to work.
I need the correct syntax to consolidate ranges from several worksheets into a summary worksheet - all in the same workbook. I am building the Array on the fly, and I keep getting errors. (Subscript out of range being the most recent).
The code now is opening only one workbook so I can keep it simple. It iterates through the sheets collection, and builds the array.
Private Sub cbConsolidateToRollups_Click() Dim MyArray() As Variant Dim Source As Variant Dim SheetNames As Variant Dim SingleQuote, DoubleQuote SingleQuote = Chr(39) DoubleQuote = Chr(34) 'set the directory to Rollups ToPath = Application.DefaultFilePath & "Cost Tracking" & "Rollups" ChDir ToPath ....................
I am trying to consolidate a specific range on 8 similar worksheets into a master list through the use of a macro, and the workbook has a total of 26 worksheets. Details:
The worksheets to be consolidated are named: AR, CM, JR, Trader1, Trader2, Trader3, Trader4, and Trader5. The range to be consolidated are: A6:F26, of each of the above worksheets. Currently, A6:D21 are linked through an array from the worksheet "Index". This is because there are often changes to the names listed under "Trader/Backup Trader", or there may be additions/deletions of a row.
Right now, I have set up a sheet called "Traders List", using arrays to link the data on the 8 different sheets. The only problem is, if there were a change in the "Index" worksheet, I would have to manually drag out each array, for these 8 different worksheets in the "Traders List" sheet. Is there a way a macro can be written such that it is automatically linked to each range (A6:F26) on those 8 worksheets? Is it possible to only show rows that are non-zero?
I have been asked to create an attendance worksheet where employee names and data are entered on a "main" worksheet and hours are entered on monthly worksheets. The names on the monthly worksheets are referenced from the main worksheet. Therefore, if I add a name and do a sort, the names on all pages will move, but the data will not. I imagine I will need an ID column to help sort. How do I make a macro to do the sort?
I have a requirement where I need to summarize multiple work sheets. And each work sheet as different range. Column names are same in each sheet but number of rows in each are different. Like consider there are 3 sheets with employee details. Each sheet has Employee Name, Employee Number, Employee Location. But in first sheet as 10 employees and second sheet has 20 employees and third as 25. So the requirement is I need to summarize all employees.
I have got a macro (from Mr Excel's MVP) that hide certain cells according to assigned cell value What I need is: to hide certain ranges in different worksheets according to the assigned cell value in the first worksheet
if sheets1.cell A1= "hi" then range (" goooo") in sheet 1.hide range ("deeeee")in sheet 2 .hide range ("faaaaa") in sheet 3.hide the macro I had is : ==================================== ==================================== Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then If Target.Value = "hi" Then Worksheets("Sheet1").Rows(2).Hidden = True Else Worksheets("Sheet1").Rows(2).Hidden = False End If End If End Sub
I need help creating a macro that will search through my excel spreadsheet and for every instance where column A isn't empty it should cut a range of columns from that row and paste them in a different range of columns in the row before it. It should then delete the row that it cut the columns from and keep searching until it has done this for the whole worksheet. I can modify which range of columns are needed, but it has been so long since I've worked with excel macros that I haven't been able to do it.
I have two vertical ranges that I need summarized into 2 adjacent vertical ranges.
" A B C D | SUMMARY model qty| modelqty 1 4.12922.0000| 4.12952.2000 2 2.000012.1250| 2.000025.1250 3 4.12929.0000| 318.0000 4 318.0000| 5 4.1291.2000| 6 213.0000| "
A1:A6 is my SKU's model number B1:B6 is my inventory C1:C6 should contain formulas that result in a summary of the models D1:D6 should contain formulas that result in a sum of the inventory count for each model
Just need to delete some hyperlinks in column A on 50+ worksheets. Thought a loop through all the worksheets would do it. Only works on active sheet. Forgive my ignorance, don't really even know where it goes, once it works - module or workbook?
Let's say I have a workbook with 7 worksheets named, for example, "Instruction", "Begin", "Worksheet 1", "Worksheet 2", "Worksheet 3", "End", and "Data". (in that order)
What I want to do is run a macro to go to whatever worksheet that is in between "Begin" and "End" and copy, for example, cells $C$1:$D$10; then paste as formula into worksheet "Data" starting from cell C1 and then down a list (i.e., copied cells from "Worksheet 1" get pasted as formula into "Data" cells C1:D10; then copied cells from "Worksheet 2" get pasted as formula into "Data" cells C11:D20, and so on and so forth).
But if I were to add more worksheets (e.g., "Recipe" and "ToDo") positioned in between "Begin" and "End" and run the macro again, it'll either 1) re-copy all the formulas from the included worksheets back into "Data" including the formulas from the newly added/placed worksheets or 2) it'll add the formulas from the newly added/placed worksheets and paste into "Data" at the end of the list.
Can create the macro to run based on the position of worksheet, and not based on the name of worksheet, since ultimately there will probably be over 10 worksheets between "Begin" and "End".
I'm trying to perform the same process to all the worksheets in my workbook. This is the code I have now, but it will only apply to the single active worksheet:
In the attached file, I have variable range in column A:B, column C:D and in column E:F
I want a macro to do the following:
Start with sheet "A", select the available range in column A then copy and paste in the sheet "B" but with all the cell values added with the value in H1.
Then in sheet A, simply copy the available range in column B and paste it in sheet B
Do the same until column F in sheet A. Pastespecial if it is odd column. simple past it is even column.
I know the macro code for the simple paste. But I am struggling with the paste special code.
How do I modify this macro so that the worksheet array will select all the worksheets except sheet 1?? My workbooks will have varying numbers of worksheets ...
I have written this macro to convert into a csv file to run for all defined named ranges in the activesheet. It run jst perfect when I hit SAVE button and it creates that many different CSV files for each named range.
However I am trying to use same macro in the another file and the problem I am facing is there a lot more named ranges and I want to run the macro for only selected NAMED RANGE. In this case 2 Named Range / 24 Named range.
What part of code do I need to change and to what to make it work for just 2 named ranges ?
Instead of just counting all worksheets I want to count the number of worksheets between 2 control worksheets (Start and End). Reason for this is that I have a Workbook that grows weekly and each new worksheet is inserted after "Start". I have a macro that lists the Worksheet names but it grabs all and I only want those between Start and End.
I need to write VBA code to clear all Values, all values beginning with an = sign for eg = 9725, except formulas and text on all my worksheets, except the last 2 worksheets.