I have a routine that loops through a block of records containing two time fields. One is the same for every record (let's call it the start time) the other, which varies, is the last time at which an event happened before or after the Start time (let's call it the Event time). so a pseudo block of data may look like this;
I need to identify the record that has the closest time in column B to that in column A (in the example above that would be B2 (15:00:05). I then save that record off and eliminate the rest for that time block. The whole subroutine then repeats for the next block of data and so on down the list, top to bottom ( times are in descending order). Note also that times will never span the 24-hour point - they all occur betrween 12:00 and 22:00 on any given day.......
In my workbook I have about 20 sheets (less in the attached sample), and on most sheets I’d like to query data for each day and find an average value based on the time and then copy that result into another sheet. I’m not sure if I’ll need 2 macro’s for this or if one can be used.
Here’s a quick description:
Assuming that I am currently in the sheet I want to run the macro, then I will either input “1:45” or “0:45” into a popup box, or I could always simply input the 1:45 or 0:45 in the code itself. I’m flexible
1:45:
If I input 1:45, then I’d like the macro to find the first 1:45 in Column B and the value in the same row in Column F will be used in the calculation. Once 1:45 is located, then the macro moves up to find 22:45 in Column B and the value in the same row in Column F will be used in the calculation.....
I need a macro that will look - this is hard to explain so will prob do wee diagram too but basically the macro nees to start looking at sheet2 A5 (the numbers start at A5 before that is text) see if it is greater than Sheet1 ColumnA & Less than Sheet1 columnB if the number is then I need Sheet2 ColumnD inserted into sheet 1 ColumnG. There is the text END on all columns on both sheets for the loop, the reason for the loop of course is there could be 100 lines in sheet2 ColumnA & I must look at all lines in sheet1 to see if it is greater than columnA and Less than ColumnB and if it is populate Column G.
Sheet1 Column A ColumnB ColumnG Row 11 4000 4999 Row 12 5000 6099 Row 13 6100 7400 ETC END END Sheet2
ColumnA ColumnD Row5 5130 134.58 Row6 6900 6400.00 ETC END END
After the macro the result would be Sheet1 Column A ColumnB ColumnG Row 11 4000 4999 Row 12 5000 6099 134.58 Row 13 6100 7400 6400.00 END END END Sheet2
ColumnA ColumnD Row5 5130 134.58 Row6 6900 6400.00 END END
I have a spreadsheet of about many rows and 5 cols shown in the attached. I show 3 races..each will have a different time to the previous race. I want to use the rsq function to compare the data for that race in col c with that in col d and produce the answer for the 1st race in each row in col e for that race..then proceed to do the same for race 2,then race 3 etc...
I need a formula in e2 I can drag down...each cell in col e should be filled with the answer for that race..I have thousands of races..
I have tried lots of alternative for making Excel Dates & Times calculation work in vba. I can't find the place its creating problem. I have attached spreadsheet to have better look at it. When I am using time in one column (Calender!C) in VBA code, it works fine and update values in R1,R2... columns. But, when I am using time in another column (Calender!D), its not working properly and not updating appropriate columns. I will appreciate if someone can look at vba code in attached file. It looks like I am missing some kind of setting in excel/vba.
I am trying to get rid of some duff data by running a comparison to a fixed value on a defined range. However, the macro tries to compare the cell value (00:05:00) as a decimal value.
I think I need to use the format function to get round this.
For Each timecheckcell In range("g3:g60") timecheckcell.Value = Format(MyTime, "h:m:s") If timecheckcell.Value <> "00:05:00" Then timecheckcell.Offset(0, 1) = "" Next
I want to copy range B2:B5 value only and paste it 19 times from B12:B15, B17:B20, B22:B25, and on. The distance between any two pasted range is tow rows.
I've attached below a small part of my code. I am wondering if there is a way to do this, without copying and pasting something 30 times, but using a loop instead. As you can see there are a series of productsNumbers (30 in total, but this example is for 3). Each productNumber is a string that is actually a 5 digit number, so it can be an integer as well, if it has to.
I would like to code below to loop for as many products as there may be. The way that I have it right now does not work - I feel that I am missing something small or that there is no way to do this.
I was playing aroung some VBA code, but the code executes 98 times and I don't know why. For example, range A1 contains 5. When I type, say 3, in A1, I want A1 to show me 8 (5+3). Then I may type 10, in this case A1 must show 18 (8+10). And so on. I decided to place entered values in different column, then sum them in A1 with below stated code
I have a sheet with data in rows across several columns.
I want to copy the data from each row into a new sheet and save it with another name (which I already have ascript for), but as I have 10 rows , basically all I've done is copy the script 10 times and chaged the row numbers and nae to save as.
What I want is one script that does all I have now, but then loops back to do the next row down and changes the name to save it as as well (which is the person's name listed in the row)
I have a rand () which provides me a different number upon calculate. I would like to run a loop for 1000 times and take the value and copy and paste in a range.
The below sorta works, but at times it stops or doesn't work at all. I have a loop for the counter and the for each to place the value into the cell and have it run over and over and placing the value in the next cell underneath. I have the counter at 10 so I dont get stuck in some endless loop before I know it works.
Code:
Sub montecarlos() Dim MCs As Long Dim c As Range Dim lCount As Long Dim lNum As Long lCount = 0 lNum = 1 Worksheets("MonteCarlo").Activate
I am coding a macro that would take all information needed from an existing pivot to put in in a new report file.
Now the problem is that I couldn t get to paste the data (for some weird reason), so I did a loop that terminates with IsEmpty...
My problem is I have to write on loop per column, because I don t know how to tell excel to go to next column (that I know!) AND to the first row, which means doing an offset of (x,1), but how do you set the x for it to be adaptable if I change the length of the pivot table?
I really hope someone can help me with this, I tried to replace range("first cell") by cell(x,... and set x as a variable but i am not good enough obviously....
Here is what I have so far:
Dim k Dim w As Integer
Workbooks.Add ActiveWorkbook.SaveAs "C:Dokumente und EinstellungenCustomerServiceDesktopMonthlyReportAutomated.xls" 'iniatiation before loop Workbooks("ChannelProductionlastestupdateJAN2007").Sheets("pivot").Activate Workbooks("ChannelProductionlastestupdateJAN2007").Sheets("pivot").Range("a20").Select k = Selection
I have one column of names in excel. The column may contain more than one row with the same name but these rows with the same name will all be grouped together. This is an exampe (each name represents a row in column A):
What I want to do is copy the rows with the same information, e,g, the rows with 'julie' above, paste them into a new spreadsheet and email this spreadsheet to specific email addresses and then do the same for 'jonathan'.
I can work out how to send an email using VBA but I am really stuck as to how to go through the rows and send the email in discrete 'chunks'. I have tried using a for next loop, looping through the rows and copying/pasting rows that are the same as the previous one into a new spreadsheet but this does it one row at a time. If I include the instruction to email the spreadsheet within the loop this would also email the new spreadsheet one row of information at a time, i.e. three emails for 'julie' each containing a spreadsheet with one row of information on it, rather than one email containing one spreadsheet with all three rows on it.
I am trying to save an excel sheet to .csv format with the following macro:
[Code] ......
The following part of the code needs to be modified so that the commas appear correctly in .csv file even for null values for any given column.
[Code] .....
I have attached the Sample Sheets. Source sheet and the Result sheet. The Result sheet doesn't provide the required result. Some data are missing and unwanted commas have been added. How to correct the logic in the above piece of code.
I'm trying to compare values in 2 separate columns to see how many times the same value appears in both columns. Ideally I would be able to insert a range function to compare the values in the column "ID 1" against the values in column "ID 2" and return the count of times that a value appears in both columns. For example 2122, 1112 and 1718 appear in both columns and I would like the formula to return a count of 3.
In my actual project I'm comparing 2 columns in the same worksheet. The column are column B with data in cells B2:B10266 against column C with data in cells C2:C18560.
I'm looking for a formula that will calculate the difference in times between specific times while working with a 24 hr clock. Please see details below:
E3 provides the start time of 4:00 H3 provides an end time of 15:30
If an employee works betwen the hours of 0:00 (midnight) to 5:59, this is considered DIFF hours and is therefore the number I am seaking. So for the data noted above, the total DIFF hours worked is 2 hours.
I want to count every time a certain cell changes. For example, if C2 is currently set at August 5, 2007 and I change it to August 12, 2007, then add 1 to cell B2.
Basically I have two sets of data. One will be new each week. I'd like to use the non-changing data as a base to compare new data to. The formula would need to match multiple values, including a 'time between', and then return whether a minimum rate has been met.
I want to be able to count how many instances Primary Price is >= Price 2. And, secondarily how many times Price 1 was, at a minimum, >= to Price 2 and then also >= Price Price 3.
Ultimately I want to compare Primary to 100 or so "Prices" over a years time
I figure it would be a sumproduct function, but can't get it dialed in
I want to count every time a certain cell changes. For example, if C2 is currently set at August 5, 2007 and I change it to August 12, 2007, then add 1 to cell B2.
To put this simply, I have a spreadsheet that has 2 columns on it with multiple names and numbers on it. We'll say ABC and 123 as the example name and number. When I type in ABC and 123, I have it where it appears on the next page.
The question is that if I want to duplicate it onto the next page, how do I do it? In other words, I want to create a 3rd column with which to add a number of times I want the numbers and letters to appear. For example, I write| ABC | 123 | 5 | and ABC appears on the next page at a certain start point and is copied 5 times in certain cells. The same happens for 123 at its own start point.
I am working on an employee weekly schedule and would like to be able to calculate the amount of hours an employee is scheduled each day. For example; if you worked from 7am to 4pm, I want to have a formula that can determine that (7am to 4pm= 9 hours) then sum the total amount of hours for all employees scheduled that day.
Mon Tue Wed Thrs Fri Sat Sun Total Employee 1 7-4 7-4 8-5 off 2-10 5-10 off 40 Employee 2 8-5 11-8 off 7-4 1-8 off 8-5 43
I've searched and found almost what i'm after but not quite i have a list of times in word in a column they are in the following textformat 12 23 00 23 14 34 i can paste them into excel but cant work out how to change them to excel time eg 12:23 00:23 14:34
With Sheets("regrade pharm_standalone") For Each r In .Range("standaloneTerritory") If r.Value = "X101" Then r.EntireRow.Copy Sheets("X101").Range("A1").End(xlDown).Offset(1).PasteSpecial xlPasteValues End If Next r End With ------------------- I need to repeat this loop for values from X101 to X151. In all cases, the sheet name is equal to the value I'm looking up (eg: value = X102 goes to sheet X102).
I have a named range called 'territories' that contains the list of X101 -> X152.
I'm hoping to make the code perform the loop for each of the territories without my having to copy & paste and change the 'X101' 51 times as this would seem a rather silly thing to do!