Using Excel 2003. I have a macro set up to copy all information from one Excel workbook to another. There is quite a bit of going back and forth between the 2 workbooks. I ended the macro by clicking in a particular cell in the origination workbook.
When I exceute the macro though it minimizes both workbooks. I have used the VB Editor to make sure that there is code such as.
I have prepared an excel workbook with macros for a bill. In that I have protected the workbook (selected window also) after reduced the menu bar to just ribbon (HOME, INSERT,PAGELAYOUT,.......), so that I would get enough space. I have send it to my friends as WinRaR file. But when they open in their computer the sheet is not getting enough space to display the entire page as normally no body used to minimize the ribbon and formula bar. This is making lot of inconvenience. I tried one macro but it not recording the actions on ribbon.
1st loop gets the moving average of the first 10 rows.
2nd loop uses that moving average to calculate the exponential moving average of 5,000 rows.
Now, after the first loop is run, I put that value in a Cell in Column (O). The 2nd loops works off of that cell to calculate the next exponential moving average and then that to calculate the next, and so on and on.
then I run two of the same loops as above, but with different period (for the moving average) and everything is printed in the next column, P.
THEN, another loop subtracts the column O from column P, and prints the value in the next column, Q.
Now, this takes up 3 columns, and I only need the third value, the one printed in column Q. Is there a way where my loops can store all of these values in some type of an array (instead of filling up a column on a worksheet) and then for me to simply just subtract the two arrays and have only that show up on my worksheet?
I have a few columns which a user needs to fill out manually, this is what i am trying to minimise and a few 'what ifs' spring to mind so here goes.
Firstly, a formula to do the following:
Column E1 is always a date 30 days from the data entry date, so:
If A1 has a value (Always name surname 'John Doe') AND B1 has an email address (John.Doe@somewhere.co.uk) show todays date plus 30 days otherwise stay empty.
My second question might be more complex:
If B1 is email address i wondered if A1 could snatch the name with a formula:
B1: john.doe@somewhere.couk A1 = john doe
However the problem is lets say theres more than 1 john doe, the email address might be john.2.doe@somewhere.co.uk but i still need A1 to read john doe as i have a macro set up to send an email to the value of A1:
I am working on a macro that copies tabs from the spreadsheet the macro (button) is located in, creates a new book for them, and then pastes values so that no formulas still exist. The problem I am having is with named ranges. The named ranges do not reference the new sheet, but rather the old spreadsheet. This is fine because the new file is solely for presentation, however, one macro (which selects print ranges based on user selected checkboxes) tries to reference the old spreadsheet once it runs. I would like the macro that I currently have working, to also make this macro in the NEW spreadsheet so that it can still highlight the correct print area when used. The macro does not reference the name of the workbook at any point, it is purely "Range("ai10") type references so I don't understand why it is trying to open the old sheet back up.
The attached workbook contains a macro ("Transfer_Data") that copies values from one cell to another when the "Update Progress" button (near cell A3) is selected. It works perfectly fine in this workbook but when I try the same code in another workbook, which looks and operates exactly like this one, nothing happens.
Is this due to a security setting or missing code line items?
when the user selects any cell(s), then hits the command button, I want the code to move the cell(s) selection to the far left i.e. Column "A". I've managed this is a roundabout way, but I'm trying to make a far more elegant version.
Set C = Selection With C While Not C.Previous Is Nothing MsgBox C Set C = C.Previous Wend End With
So C is the selection made my the user, for this example they are just selecting one cell. The MsgBox proves to me the code to moving the cell selection to the left, but the While condition falls as the Previous test condition fails and bombs the macro. I cannot think of another way of doing this. Is there a method that returns X and Y co-ordinates as numbers?
Trying to summarise large (but varied # of rows depending on which project is being reported on) table for specific values. I get the size of the sheet by:
As all the search criteria are numbers lists from out ERP System, a 'For' 'Next' loop seems to work on the Auto-filter settings, and only display the matching values. As I am only trying to get the number of occurrences, and not do anything with the data in the sheet, the 'Count' function seems to work pretty well:
How can I replace the '=COUNT(A2:A500)' with '=COUNT(A2:A[FinalRow])' and only count the rows I need to? This sheet can change from between 20 rows up to 50K+. I understand that this may look messy, but have only been playing with VBA for about a month, and I shall tidy it up later.
For simplicity, let's assume I have three columns, "Company," "Policy," and "Balance."
Example: Company A Life $1 Company A Med $2 Company A Dent $3 Company A Disab $4 Company B Life $9 Company B Med $5 Company B Dent $7 Company B Disab $2
According to my post preview, the columns are running together, but I do have it arranged in three distinct columns. What I want to do is program a macro to do the following:
Every time the name of the company changes, I want Excel to insert two rows after the last of the group, and have a summation of the "Balance" column in the first inserted row.
This is what it should look like:
Company A Life $1 Company A Med $2 Company A Dent $3 Company A Disab $4 $10 <- (this should be directly under the $4, but I'm not good with forum languages)
Company B Life $9 Company B Med $5 Company B Dent $7 Company B Disab $2 $23 <- (same with this - should be directly under the $4)
Need the code to put into a command button which jumps from the cell selected, X number of cells to the right. Also will need the code to jump back again when clicking on a different command button.
How do I create VBA macro to create CSV files out of Excel spread sheet for each tab? Right now I am manually opening the spreadsheet and saving each tab as CSV file. But it is taking lot of time if we have lot of tabs.
On sheet1 I have 6 products in E15:E20 and their prices in AB15:AB20.
I have created userform1:
Step 1. When the form shows I'd like the products in E15:E20 to show under "Product" and prices in AB15:AB20 to show under "Price".
Step 2. The user needs to be able to add a price value in either the "-Disc" and/or "+Fees" fields, from this the adjusted price should show in "New Price"
Step 3. When the user hits "Add", the value under "New Price" needs to show up in AB15:AB20. To complicated this last step (maybe) in cells AB15:AB20 is:
I am trying to write a set of code, part of which involves moving a shape around an excel spreadsheet in a square shape within a certain range. It is based on a random number generator. The shape moves a number of cells to the left/right/up/down depending on the random number (d) multiplied by 16. If the shape reaches a row or column border point, it will change direction but continue moving in the new direction until it has gone as far as was determined by the random number (*16). I have some code which works fine... to a point! The shape starts out, reaches a right hand border, changes direction to go up, reaches another border, changes again and goes left, but then when it comes to change dorection the 3rd time and go down, it fails. The direction of the shape is determined by a word in cell A1 - left/right/up/down:
Sub MoveRed() Application. ScreenUpdating = True Dim d As Integer Dim i As Integer
d = Range("AZ1").Value
With ActiveSheet.Shapes("RedDot") For i = 1 To 16 * d
Select Case Range("A1").Value '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
I have a number of spreadsheets, all of the same format, saved into ("C:Email Attachments").
I wish to populate a master workbook, using a macro to loop through all of the workbooks in that folder, copying all of the data (Starting at B52-Q52) using Selection.End.Down, as the row count is always different and pasting it into the master workbook. Sometimes there may only be one row, so an IF statement may be required, to say if there is nothing in B53 then don't do Selection.End.Down. The overall result would be for all of the data from each spreadsheet is detailed as one big list in the master spreadsheet.
How do I write a macro that will delete every other line on a spreadsheet? I can create a macro that delete one line using the Record a macro command but what do I ad at the end of the macro to keep it going until stopped with Ctrl Break?
I created a very simple macro, which actually works.
There is a button on my spreadsheet, so the user can launch the macro using this button.
[ Code] .......
At the moment the user clicks on the button, the part of the macro which is hiding the rows will not take place if the cell activated at the moment of launching the macro is in the range below :
The table on my Excel sheet covers range A5:E49
If the active cell is anywhere in A6:49 or C5:D24 or C25, the hiding part of the macro will not work. Launched from any other cells on the spreadsheet it works fine.
The rest works fine and I am not getting an error.
To solve this I just need to add the line Range("G9").Select and it will work.
But I would like to understand why it does not work from the cells given above. My sheet is not protected and I unlocked the cells just ion case.
I Have a tool which will be used online & offline.
I would like a box to appear on the opening of the spreadsheet which asks the user "Are you online?", with options "Yes" & "No", if the user selects "Yes" then a macro (which i have already written) refreshes the spreadsheet.
if the user selects "No", the sheet is not resfreshed.
I'll need a macro that detects all data have been recorded starting row C3 (see photo) and then goes to spreadsheet 2 (plan2) and select the first empty row starting in C3 (see photo) and paste the data.
Is it possible to move rows of data in a spreadsheet to multiple spreadsheet accordingly? I had lists of tasks in a single spreadsheet and i need to segregate the tasks for all my staff in serial while no duplication among all of them. For instance, i got 4 personals in my department and i need the 1st 4 tasks to be distribute to each of them and next 4 tasks accordingly. This is due to all tasks are equip with due date and i need to calculate how much time i need to accomplishing them. i'm used to manually move it and found it time consuming, so i was wondering if someone would instruct me where or how to achieve it by using a simple macro.
I am trying to create a workload spread sheet for work I need to have the same looking spread sheet 365 times but also need each sheet to be dated, EG (tue,01/04/2014 through to tue,31/03/2015) I can create 365 tabs that have the same spread sheet on and I can create dates but not do both at the same time, it isn't fun doing copy and paste 365 time.
I have a warehouse of skids with multiple boxes of barcoded documents on each skid. The tab "Warehouse Inventory" has the range of barcodes in each box on a given skid (boxes are numbered, skids are lettered). Under the Search tab, I will be copying a list of barcodes into Column A, from another spreadsheet, and would like a macro, to autorun upon any changes made to the spreadsheet, that will do a VLOOKUP type search and reply back in Column B and C the skid letter and box number respectively