Timer- To Write Code Which Takes A Reading Off Of A Device Every .005 Seconds
Jun 22, 2007
I am trying to write code which takes a reading off of a device every .005 seconds.
When I write the code as follows to take the reading every .004 seconds things work well.
PauseTime=5
Start = Timer
Oldtime=Timer
Do While Timer < Start + PauseTime
If Timer > Oldtime + .004 Then
Oldtime = Timer
Read(count) = Orbit.Networks(0).Modules(0).ReadCurrent
count = count + 1
End If
Loop
Finish = Timer
If however in the above code I only change .004 to .005 instead of taking readings every .005 seconds, I end up with readings roughly .015 seconds apart (approx)
Is there something unstable about the timer function to do this? Is there a different way to get a more stable result?
Below is my code to display a seconds count down timer in a textbox.
What I want to be able to do is have another textbox where I can enter the number of seconds that the timer will count down.
I don't know how to take a value from the textbox and make it like #12:00:15 AM#
How would I do this?
Sub warmTimer() Dim InitialTime As Single Dim FinalTime As Single InitialTime = Time FinalTime = InitialTime + #12:00:15 AM# Do txtTimer.Text = Format((FinalTime - Time), "s") Loop Until (Time >= FinalTime) Or (Skip = 1) txtTimer.Text = "Time complete" End Sub
I have a fairly simple macro that takes a few seconds on my XP-computer with Excel 2003 but takes several minutes on my Vista-computer with Excel 2007.
The XP-PC has 2GB memory, the Vista-PC only 1GB, but it's hard to believe it's only that. Is Excel 2007 so much slower than 2003?
The macro makes quite extensive use of the .rows(Rownr).Delete method. Is the fact that 2007 has 1 million rows against the 65536 of 2003 the culprit? It has to shift much more data up when deleting a row, no?
I am trying to create a macro that can take the average of the the first 24 cells within a sheet, place the answer onto a cell in the next sheet (e.g. sheet2 in cell A1), then go back to the previous sheet, take the average of the next 24 cells within the sheet and paste the average of this new set in A2. I want to create a loop that will do this 365 times.
I have only managed to create the following code, however its only obtainning the average for the first set of 24 cells starting from B6 in sheet 1. I dont know how to use offsets that well....
VB: Sub Oval1_Click() For i = 1 To 365 Sheets("H1 - Riser Turret pressure").Select Range("B4").Select ActiveCell.FormulaR1C1 = "=AVERAGE(Sheet1!R[2]C:R[25]C)" Range("B4").Offset(1, 0).Select Next i End Sub
I am trying to insert a timer into a column cell range that will countdown in hours, mins, and sec, when I enter the time. example: when I enter the "time in hr,mins,sec" it will start to countdown to Zero automatically, when I hit the enter key.
A good place to start is to add some "timer code" in your macro. Add a small routine that saves a time value, and another routine that compares that saved value to the current time and displays the difference. At the beginning of a section of code you want to analyze, you call the first routine (which saves the start time), and then at the end of the section of code you call the second routine. In that way, you can determine which portions of your code are taking the longest time to execute. These are the code sections you then focus on, so you can figure out what they are doing that is taking so long.
The only change I made was to change the "Sheet1" to "Journal" to match the worksheet name in my workbook.
As you close and reopen the workbook, the timer should start with =NOW() in A1 (formatted as "HH:MM:SS") and count up with the current time until you close the workbook.
I use Excel 2010, could that be the problem, that I copied a VBA code for an older version of Excel???
Question: What exactly is a regular module, do I use Module 1 for the first portion of the code or place it in ThisWorkbook?
I am looking for a way to measure how long it takes to complete a sub routine in VBA. I have code which posts data to matlab and then calls it back. What I need to know is how long does it take to complete each subroutine.
create a code which will measure this? I need to measure the time taken in 100ths of a second.
Is there any simple code to complete this? I am pasting a sample of my code which is using Matlab as a COM server.
Dim Matlab As Object Dim MReal(10, 0) As Double Dim i As Integer Dim j As Integer Dim MImag() As Double Dim value As Double Dim RealValue As Double
I am sure I woould need to declare the timer but I do not know where and I am not sure of the syntax.
I have very little experience with Excel. What I am trying to do is to convert a timecode in this format 00;22;21;00 that is 22 min 21 sec and 00 frames to a serie of numbers that I have hard time to figure out. Example
00;22;21;00 = 13410000000
I want to be able to paste the timecode from premiere 2.0 (00;22;21;00) into a Excel cell that would automaticly convert it to (13410000000) so that i can eventualy generate a .txt file that would look like this:
i have a caclulate event that I want to run constantly while the workbook is open. How can I do this? below is the code for the calculate event:
Private Sub worksheet_calculate() If Sheets("Messing Around"). Range("e14") <> changeval Then Range("e15:e100").ClearContents If ActiveSheet.Range("E14").Value = "T1/E1" Then Sheets("Tables").Range("J2:J79").Copy Sheets("Messing Around").Range("e15").Activate ActiveCell.PasteSpecial Paste:=xlPasteValues ElseIf ActiveSheet.Range("E14").Value = "DS3/E3" Then Sheets("Tables").Range("k2:k79").Copy................
I trying to figure a formula to convert time on a phone call eg. 01:01:21 into total seconds (3661). Phonecalls will never be more than an hour long but the spreadsheet I will be supplied with (havn't got it yet!) will display them in the 00:00:00 format.
I am seeing multiple versions of my workbook open in the project window, and it seems that every time i close and reopen a workbook, as version of it is "stored" there.
Trying to write a UDF Code for a User Form. The User puts in the data for the element it is trying to find the pressure in mm Hg for.
I want a Msg Box to appear when the desired temperature is less than the lower limit temp. and the desired temp is greater than the upper limit temp.
I figured out how to get the message box to appear, but I have not figured how to get the If statement to continue with the calculation if the desired temp is within range. When I press the command button to calculate, the message box appears whether the temp is in range or not.
My code is as follows:
Private Sub CommandButton1_Click() Dim A As Double Dim B As Double Dim C As Double Dim Pvapor As Double
I have following data, data_in and date_out. I need to auto cal these 2 variable different and give the output as duration in month.
x_INV EF1date_lndate_out205/10/195005/10/1950325/10/195025/10/1950415/11/195015/11/1950508/01/195029/10/1950618/10/195018/10/1950717/10/195017/10/1950817/10/195017/10/1950915/10/195020/12/19501013/12/195013/12/1950 Excel tables to the web >> Excel Jeanie HTML 4
And give the result in colume X as following :-
x_INV X1stk_dur20304051060708092 Excel tables to the web >> Excel Jeanie HTML 4
I have followed John Walkenbach's "Playing a MIDI File" instructions and also gleaned information from the Mr. Excel "Excel Questions" message board, but I am baffled by this error message that appears when I use Mr. Walkenbach's approach:
"The specified device is not open or is not recognized by MCI."
I am trying to convert a number of "hours" "minutes" and "seconds", to give me a result in seconds only, in order that I may then financially cost the amount of time spent on a task. (A time and motion costing exercise)
Example:
1119:48:06 Represents 1119hours:48minutes:36seconds spent on a task.
I can manually convert this to 4031286 seconds, but it just takes too much time !!!(sorry!)
The data is extracted from a database which is unable to split the hours,minutes,seconds into seperate fields, which prevents me from using three cells in excel.
I have recently used a before_close event on this workbook to save a backup of the open file to another location on my system. This works fine but I was wondering if there was some more code I could add to only execute this event on a write access basis.
The file I use can be viewed by anyone on the network as read-only and only certain users with a password can edit/update with a write access password.
The backup event is use executes every time the document is closed be it read-only or write-access.
Ideally I would like to add some code to only execute this backup if the file is opened on a write-access basis.
When ever I update my external CSV file and hit refresh all data, I get #REF! Errors. The CSV file has a table that changes daily. Thus the "A" Column has a different number of rows depending on the day. The problem is that Monday the CSV file will contain 700 Rows, while on Friday it will have 200 Rows. I end up with a lot of #REF! Errors friday. How do I write the code so that (A561 for example) does not change regardless if it can reference the target cell or not? I even thought of making a macro that just copied the formula into all of the cells after each refresh, but there must be a better way.
Example code =IF(A561>0,IF(Start!$H$2="Monday",'calculations-mon-sat'!O561,calculation!O561),"")
I have a file used by our employees through our local area network. Because that file has many functions and possibilities that took us a lot of time to create, I would like to protect this file so no employee can copy it to an external device without a password. It would be great, though, if the file could be exchanged or sent among employees as logn as it remains WITHIN our internal network.
Is it technically possible to protect an Excel file in a such a way?