Loop Code Does Not Stop
Feb 24, 2007I enter 1 record using the form, the next records does not populated correctly. It looks like the code just keeps looping by ....
I enter 1 record using the form, the next records does not populated correctly. It looks like the code just keeps looping by ....
I have the following code that gets stuck in the Loop and will not stop unless I press the Esc key:
Sub WIP()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim lastrow As Long
Dim newRow As Long
Set ws1 = Sheets("PAYCALC")
Set ws2 = Sheets("WIP")
Application.ScreenUpdating = False
With ws2
.Range("A2:C" & .Range("A2:C2").End(xlDown).Row).Clear
End With
x = 10
lastrow = ws1.Range("C5").End(xlUp)
Do
newRow = ws2.Cells(65536, 1).End(xlUp).Offset(1, 0).Row
ws2.Cells(newRow, 1) = ws1.Cells(x, 2).Offset(-2, 0).Value
ws2.Cells(newRow, 2) = ws1.Cells(x, 2).Value
ws2.Cells(newRow, 3) = ws1.Cells(x, 2).Offset(3, 0).Value
x = x + 21
Loop Until x >= lastrow
There's a twist to this. I have the same identiclecode in a different module. The only difference is ws2 is different and there are 7 newRow's. Other then that the two are the same.
That one works just fine without getting stuck. It will go through 200+ sets of records and stop when it reaches the last one.
The one above will not stop even though I just put in three records on ws1 for testing.
I'm trying to get a looped function to continue down a worksheet until a specific column has no data in it. My code is below, and it works great for doing what I want it to do (copy a row and continue pasting it every 3 rows down until the row where Column E has no data in it) but it doesn't stop at the end of the data:
HTML Code:
Sub Test2()
' Select Row 11, *first line of data*.
Rows("11:11").Select
Application.CutCopyMode = False
[Code] ....
What I am trying to do is create a chart for each row in my raw data - the rows does change on a week to week basis as we are comparing stores
My raw data is: (I would post data although its too wide
Column A - New Store
Column B - Like Store
Column C:N - New Store Sales
Column O:Z - New Store SOH
Column AA:AL - LIke Store Sales
Column AM:AX - LIke Store Sales
I am trying to loop my code so that it creates a new chart for each row....although the loop keeps going and it doesnt move down a row each time
my code is:
Range("A1").CurrentRegion.Select
rnum = Selection.Rows.Count
Range("C2:N2").Select
For i = rnum + 1 To Rows.Count
If rnum >= 1 Then
Charts.Add
ActiveChart.SetSourceData Source:=Range("'CHART RAW DATA'!$C$2:$N$2").................
im trying to use a loop to open each file within that folder. My problem is it keeps looping and only opens the same file -
my code is:
'Enter names of files within C:Temp in activesheet
Dim myDir As String, fn As String, txt As String, myList
myDir = "C: emp"
fn = Dir(myDir & "*.xls")
If fn = "" Then Exit Sub
Do While fn ""
txt = txt & vbLf & Left$(fn, InStrRev(fn, ".") - 1)
fn = Dir
Loop
I've got this code to display a certain cell from multiple files, and functionally it works, but I get a out of stack space error after it runs for a while. I'm sure this is because the loop doesn't know when to stop, which I thought would be solved by having " Do Until sBook = "" " instead of Do; however, then the code will not run at all.
Private Sub Worksheet_Calculate()
Dim sBook As String
Dim sFilePath As String
On Error Resume Next
Application.EnableEvents = False
Roe = 3
Do
I have a form with two buttons, one is to start downloading, one is to stop it, a sub is called when start buuton is clicked, there is a DO LOOP, I hope the DO LOOP stop when I clicked STOP button,
View 9 Replies View RelatedThe loop is supposed to stop when the cell that is 4 columns to the left, in the workbook named "Complete DSS", changes numbers.
/ This is the cell ref. / This is the original
Do While ActiveCell.Offset(0, -4) = ThisTape
The number will stay the same for a while until it changes tapes, then it Should stop when they are no longer equal.
It used to work, but maybe some recent changes have messed up the function.
Sub Compare_printout_2_WDMS()
Application.ScreenUpdating = False
Dim ray, sht As Worksheet, Exist As Boolean
Dim BookA
Dim I As Long
I = Worksheets.Count
AreaNum = InputBox("¿Que es el Area?")
ThisTape = Range("C8").Value
ActiveWorkbook.SaveAs Filename:="C:Documents and Settingssmith27DesktopArea 319 printoutsArea " & AreaNum & " " & ThisTape & ".xls"
Columns("A:A").insert
LR = ActiveSheet.Range("B65536").End(xlUp).Row..........................
I have a piece of code that put a check in all checkbox in column B from row 5 to row 50 but in column C, I have data from row 5 to 38. I want the macro to stop at row 38 in column B. When the cell in column C is empty stop putting checks in column B. How can I make this macro Check all checkbox down column B and stop when column C is empty. How do I add a loop to stop when the cell in column C is empty?
Private Sub CommandButton1_Click()
Dim CB As Variant
For Each CB In ActiveSheet.CheckBoxes
CB.Value = False
Next
End Sub.......
How do I run this loop 10 times ....Then using a timer or system clock to restart it.
Code:
Public Sub Workbook_Open()
Dim ws As Worksheet
Do
For Each ws In ThisWorkbook.Worksheets
[Code]....
is there anyway to stop screen scroll?
so that you can only see the visible cells at opening of workbook?
I use a code in ThisWorkbook to always open on sheet 1 when opening up the excel spreadsheet.Is there a code that I could put in to ThisWorkbook that would do a check that the workbook was e.g. "WorkbookA". If it wasn't then the start up code would be cancelled/ignored.The reason for this is that I am copying this workbook whenthe user has entered details in to it and so I do not want this code to run in the saved workbook, that will have a different name.
Workbook A is the master copy or template
I have the below code (pieced together and donated by other users on the forum)
Application.Calculation = xlCalculationManual
'
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim Ctr As Long 'set ctr for Invoice
Dim wsData, wsInv As Worksheet
Dim Ibk, Rbk As Workbook
Set Ibk = Workbooks("Invoice.xls") 'Invoice as Ibk
Set wsInv = Workbooks("Invoice.xls").Sheets("Invoice")
Workbooks.Open Filename:="\cmc-dc01usersdcMy DocumentsProjectsRemake GoodyearRentCharge.xls"
Set Rbk = Workbooks("RentCharge.xls")
Set wsData = Workbooks("RentCharge.xls").Sheets("Sheet1")
With wsData........
I have written a code but i can not make it stop where i want it to stop. I would like the code stop when cells(31,4).value reaches 0. Pls refer to attached sheet for a clear example.
The code is as follows
Sub production2()
If Cells(35, 4).Value > 0 Then
Cells(31, 4).Value = Cells(35, 4).Value
For j = 5 To 16
If Cells(36, j).Value < Cells(29, 4).Value Then If Cells(31, 4).Value > Cells(29, 4).Value Then Cells(37, j).Value = Cells(29, 4).Value
If Cells(36, j).Value < Cells(29, 4).Value Then Cells(37, j).Value = Cells(29, 4).Value
Cells(31, 4).Value = Cells(31, 4).Value - Cells(37, j).Value
Next j
End If
End Sub
Trying to get my code to loop for one minute. Have tried this code (after searching through a few threads):
Sub LoopUsingTime()
x = 1
EndTime = Now + TimeValue("00:01:00")
For lCount = Now() To EndTime
Sheet1. Cells(x, 1) = "the time is now " & Now()
Sleep 5000
x = x + 1
Next lCount
MsgBox ("loop finished")
End Sub
Attached is an example of the program. The purpose of this program is to allow someone with very little knowledge about the information to enter data. The first tab labeled "Instructions" is will have two macros assigned to the buttons at the bottom of the page. The first macro labeled "Move Data" will move data will clear data in the shaded cell on the "Entry Form" sheet and fill those cells in with '----. The second macro labeled "Generate and Save" will save a master copy of the program, save a historical copy of the program by date, and print/save a pdf copy of the "Reports" sheet.
Each one of the historical (the last 8 sheets of the program) sheet receives data from the "Entry Form" and then moves the data by date into the table for archiving purposes.
If you look at the code for the "Entry Form". I have a couple of subs. The first being Worksheet_change. the first section of this code is to force certain cells to be uppercase. This part of the code is working fine. The second part of the code is the Dim MyValues. This part is working fine also, but...
My issue is... When I run the move data macro from the "Instructions" sheet the Dim MyValues reads these as changes to the cells and wants to push the data to the historical sheets.
What I would like is an IF Statement above the Dim MyValues part of this code that stops the Dim MyValue part of the code running if those values are blank, 0, or have '---- entered into them.
Test.xlsm
The code that I'm using is supposedly not allow spreadsheet to be opened after a certain date, or does not allow a user to press any of the command buttons and comes up with a message saying the spreadsheet is closed for new entries.But is not working for me.
I placed the Code in the ThisWorkbook module.
[Code].....
I have the following code to add dash mark to TextBox1 value depending on some condtions (mentioned in the code), the code works perfectly, but when we use Backspace Key to clear some charactors it is conflicting with the code running when changing Textbox1 value.
View 11 Replies View RelatedI have created a few macros and once I was happy that they worked independently I joined them to run as one macro in several steps. I have just discovered a bug ...
The macro filters on a column and copies and pastes that range into another sheet.
HOwever, sometimes (as I have just discovered) when it filters, there will be no data against the value it is looking for.
I need to say, if no value, move to next step.
I.e. here's my code. It's looking for ASIA and it will copy and paste all rows with Asia to another page. It then does the same for EMEA. Thing is, in my example just now, there was no EMEA data and some times there may be no ASIA data so I need to build in some rules that if it does not find either of these it continues to finish macro or pops up and says 'NO ASIA found, CLick to continue' or something?
Selection.AutoFilter
ActiveSheet.Range("$A$12:AA" & lngLast).AutoFilter Field:=27, Criteria1:="ASIA"
Range("A13:Z" & lngLast).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("ASIA DETAIL ").Select
Range("A19").Select
[code]...
Sub do_it()
Dim x As Range
Set x = Columns(4).F ind("*test*", lookat:=xlWhole)
If x Is Nothing Then GoTo 999
r = x.Row
Cells(r, 1) = Cells(r, 1) & " (W)"
999
End Sub
I need the above code to continue down column 4 and add the " (W)" to the entire column.
The code stop when it finds the first match.
how I can disable an InputBox? I've got some code that whenever someone selects a cell in a specified range, an input box pops up (running a macro) - this can get annoying sometimes though if just browsing. Does anyone know a macro where I can "disable" this?
View 4 Replies View RelatedI have a file that shows a rolling screen and updates information every 30 mins. I want to be able to stop the screensaver from activating while this file is open.
I have found this code on the forum that does this, how do I call this function from another module? ...
I have a VBA code that when activated it copies 6 cells from sheet1 to the next available row in sheet2 - A2:F:2.
alerting and stopping the routine if any one of the cells in sheet1 are empty so the user has to input into all cells before the routine will execute.
does it need a check cells for content if error highlight empty cell.
I have a simple macro that copies data from worksheet to another. I only want this macro to be run once per day by the user. One of the cells that gets copied is the value found in the formula "=today()". My thought is that the macro could look for the existance of the current date in the pasted data (meaning the macro has already been run once today), and if the date = today, then a message pops up warning the user that the macro has already been run once today, and ask if they're sure they want to continue.
Any easy way to accomplish what I'm attempting to do? The current date gets pasted into a worksheet name "PriorDay" in cell C5.
I need to stop users from adding and deleting sheets in a workbook
My idea was obviously to disable the command bars to add or delete sheets in open event and then put back in before close.
But then i thought...whats stopping them from right clicking the sheet tab and inserting a sheet, can i remove that menu to...?
I also wasnt sure if there were short cut keys to add or delete sheets.?
Some of my users use excel alot so i want to account for an tips they know that i might not.
I've got a worksheet_selectionchange macro on a sheet, and another macro that you can run after it. The issue is that when the second macro runs, it also runs the selectionchange macro, and wipes some of the info that the second macro should be copying.
Is there a piece of code that I can use in the second macro to block the selectionchance code from running until it's compelte?
I would like to know the easiest way to temporarily keep a worksheet code from running while I am editing, then turn it back on when I am done. I was thinking a button with these commands(?)>
Application.ScreenUpdating = False
Application.EnableEvents = True
but I don't know which button to use, or if I would need a button for each.
Loop with below code. I have the below code:
View 2 Replies View RelatedI just need to get it to loop down to the next row
Sub ConcatenateAll()
Dim x As String, rng As Range, cel As Range
With ActiveSheet
Set rng = .Range("B1:AC1")
For Each cel In rng
x = x & cel.Value
Next
.Range("a1").Value = x
End With
End Sub
my excel sheet runs through a lot of calculations, opens Flowmaster, a simulations program, passes on data, receivs data and so on. Is there any way to have a user input to stop the whole simulation. During the first tries I had a lot of break point in my debugger. But now I want to have a button to hit or better just some keys to hit to stop it without using the ctrl+alt+del which closes everything.
View 4 Replies View Related