I have 2 worksheets - "Results" and "Historical". I am trying to record a macro that copies data from "Results" and then pastes into Historical. The data I want to copy will always be in "Results" A1:A10. When I want to update the macro (which will be weekly), I want it to copy A1:A10 and then paste into "Historical". Simple enough. Here is the problem:
Since this will be updated weekly, the first time I update I will want "Results" data copied into "Historical" A1:A10. The next time I update, I want the data copied into "Historical" B1:B10; then C1:C10, etc. Essentially I want the keep a running total of all of my prior data.
So I need the macro to be able to say something like - paste date into the first available column. If there is data in A1:A10, then paste into B, then C, D. How do I make the Macro variable?
I am trying to make a spreadsheet that will have a weekly schedule and will recognize and make some sort of message box or something when a person's name is used twice in the same range. For example, if Smith is in B2 and in B4 then message box. I'm not sure how to do this.
My thought was to make a variable range to check if anything in B2:B7 is equal to say, B3. But the range B2:B7 would have to exclude the cell that is compared, B3. Otherwise it is always true.
I would like have a input box in which a user enter a number and then I would like to be able to use that number in other worksheets within the same workbook. How do I declare the variable for use with other sheets. I know I would first use
Dim intRows As Interger But now how do I make it global.
I am trying to make a calculation using variable text.
My outcome cell is D3 and my two variable cells are C3 and F3. In C3 I want to be able to insert a staff members name, of which we have 6 different members of staff. In F3 i need to insert the week number which runs 1 through 6. The outcome is the individuals place on the week roster which needs to be a number between 1-6 inclusive. SO basically if F3=1 & D3=J.SMITH then I need D3 to equal 1 keepng in mind that if F3 & D3 have 6 possible variables.
I have made a very basic spredsheet which using an assumption table makes a particular column of values which works out the revenue. Then I just drag the box down to the number of rows I want it to go down.
However, I want to be able to enter a number in a CELL away from the tale eg. 50 and have the number of rows in the column go down to 50
How do I make a column array variable within a function? I've done nested vlookups to get a column number, but the function I'm using doesn't use a "number", it uses a column aray. '=AVERAGEIFS(L:L,K:K,">="&B$2,K:K,"<="&B$3). The "L:L" needs to be moved according to Market, (or column choosen).
I'm fairly new to macro's and VBA, by searching on the internet i've copied and pasted some code together into a macro. But it ends in a Run-time error 91...
The macro opens a target .xls file in a selected folder, performs copy - paste actions from masterfile to targetfile. Than it filters data in the targetfile sheet1 and copy's the results to the various other sheets; saves and closes the targetfile. The next target file in the folder is opened and the actions are repeated in this second target file. For the first target file this works smoothly; but for the second one (of a total of around 100) it does not copy the filter results to the other sheets in this workbook. The error message i get is: "Run-time error 91:Object variable or with block variable not set." When i hit debug it highlights the line "ActiveSheet.Next.Select" which, at least in the first file, seems ok.
When i try to run the code below i get the error message - object variable or with block variable not set-
Sub REFRESHXX()
'LIST Cells(Sheets("POINTS").Range("DD801").Value, Sheets("POINTS").Range("DD800").Value).Select Selection.AutoFilter Field:=1, Criteria1:="1" 'SET RANGE Dim sFormula1 As String Dim sFormula2 As String Dim sCell1 As String Dim sCell2 As String Dim sSheet1 As String Dim sSheet2 As String Dim r As Range Dim MyRange As Range 'for testing
With Sheets("Points") sFormula1 = .Range("CY1").Formula sFormula2 = .Range("CY2").Formula End With
'FORMULA IN R1C1 STYLE strFormula = "=IF(ISNA(VLOOKUP(RC[-1],MASTER!R4C3:R17908C7,3,FALSE)),0,VLOOKUP(RC[-1],MASTER!R4C3:R17908C7,3,FALSE))" 'ENTER FORMULA IN ALL CELL RANGES r.FormulaR1C1 = strFormula 'REDUCE TO VALUES Dim ar As Range 'an area is a range For Each ar In r.Areas 'areas are discrete, contiguous ranges of cells ar.Value = ar.Value Next ar
I found this nice little bit of code for a date range search in column A but it will not work. Apparently i have not set a variable or something.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim startDate As String Dim stopDate As String Dim startRow As Integer Dim stopRow As Integer startDate = InputBox("Enter the Start Date: (dd/mm/yyyy)") If startDate = "" Then End stopDate = InputBox("Enter the Stop Date: (dd/mm/yyyy)") If stopDate = "" Then End startDate = Format(startDate, "dd/mm/yyyy") stopDate = Format(stopDate, "dd/mm/yyyy") startRow = Worksheets("sheet1").Columns("A").Find(startDate, _ LookIn:=xlValues, lookat:=xlWhole).Row stopRow = Worksheets("sheet1").Columns("A").Find(stopDate, _ LookIn:=xlValues, lookat:=xlWhole).Row Worksheets("Sheet1").Range("A" & startRow & ":A" & stopRow).Select
I attempted to modify "macro_1a1ay" to look into the "comments" sheet (column a) for a specific text string. If that text string is found, I have it delete the entire row, then re-sort the page and return to the calling page. It works well as long as it finds something. When it does not find the string (i.e. like now when the page is blank) it gives me the run-time error mentioned above.
is it possible to put a message box in a VBA code so that the macro only runs once, else the worbook needs to reopened again for it to work. Is this the best way from preventing the macro to run again?
If i have multiple users, there is always a chance one might accidently press the command button twice.
I am trying to figure out how to make a macro run just once a day -- the first time i open a workbook and then no matter how many times I open that workbook again it does not run......... I know how to get to run automatically when i open the book - just not how to keep it from running again THAT DAY.
Then the next day when i open that book again I want it to run again -- once......and so on..................
I've got a PDF file that I was hoping to convert into an Excel sheet, but it doesn't look like that's possible, xince I'm working with only Adobe Reader, not Acrobat. Anyway, I need to compare 1 column of this report to another report that IS in Excel. Is there a way to have a macro compare an Excel file with a PDF??
I am looking for is a macro that will search in column B for some codes,example: 0403874700197 but count only the numbers between the 5th (aka 8 ) and prelast (aka 12th number,in this case 9,),so we have the code 87470019. Then every code on column B has it's D column wich has some numbers.
So what will the macro do?Take column B,start with line no 1,take the code and search for similiar,counting only from 5th to 12th letter, in all the workbook ,after find all the similiar codes it will see their D columns,sum them to column D at the line wich it find the first code.Then take line No 2,see if the D cell is empty,pass,if not search for similiar codes in column B...and goes on.It's important to delete the numbers to D cells that already has summed!
Is there a way to make a macro remember my keystrokes? When I record a macro it only remembers the cell number of the box that I clicked and not how I got there. What I would like to do is use ctrl+F to find what I'm looking for and then use the keyboard (2 keystrokes down and 6 keystrokes to the right for example) to arrive at a cell. However when I arrive at a cell, the macro just uses the cell number lets say H20 and doesn't remember how I got there from using the keyboard. What I'm trying to do is create a macro which graphs data from several different worksheets. The problem is the data from the different worksheets isn't the size of the data from which the macro was created. When I run the macro on different worksheets it doesn't graph the data from the same starting points or ending points. If I can't use a use a macro to do this,
I am trying make a macro required a password to run.
I found this code below but not sure how to use it. I would like to be able to run it from a command button.
Sub MPW() Dim My Password My Password = InputBox("Please enter password", "Password Prompt", "********") 'Hardcode password If MyPassword = "password" Then MsgBox "Access Granted", vbInformation, "Access" 'call macro Exit Sub Else
I tried recording a macro to automate some tasks I perform every day between two workbooks. While in one I want to go get data from the other. The problem I'm having is the name of the workbooks I want to run this on changes every time I download my data into Excel. The files always start with the same name but the date gets appended to it. Is there a way to modify the macro to just work with the two books I've got open?
I run a MTD sales report from Access. If the "SOP Type" in Column Q, is a "4", I have to manually change the Qty and Price to negative values as that "4" denotes a Credit. My question is this...
Can I write a Macro that would be able to read the value in Column Q and, where necessary, make the values negative in the appropriate columns?
I have a fairly simple macro (below). I want it to do one more thing.....not run if the filters have not been changed. I would like to prevent the error that occurs if someone tries to run it and there are no filters active.