Let's say I have a long macro and I want to test some code a ways down in the macro, but I don't want to have to run through all the code to get there, because I already have my Excel spreadsheet set up at the point I need to check and I just want to start checking the code a ways into the procedure.
Short of commenting out all the code above where I want to start, is there another easier way to do this?
I am using Chip Pearson's example of importing text into my worksheet.
Sub ImportTestFiles() ImportTextFile "C:Documents and SettingsKevMy Documents est.txt", "," End Sub
Public Sub ImportTextFile(FName As String, Sep As String)
Dim RowNdx As Long Dim ColNdx As Integer Dim TempVal As Variant Dim WholeLine As String Dim Pos As Integer Dim NextPos As Integer Dim SaveColNdx As Integer
Application. ScreenUpdating = False On Error Goto EndMacro:
Assuming that Sheet2 is blank, this of course copies the rows to Sheet2 starting at Cell A2 and down column A. I would like to modify the code so that I can specify at which row the copy should start. For example, I might want to start the copy at A1 instead of A2, or at A10 instead of A2.
I'm trying to write a macro that will find a value beginning "ber" and paste it across to a different column. I have had a go at it but I keep getting the offset flagged up.
It needs to move 15 columns across and 7 rows down if that is of any importance.
I have a spreadsheet where I track resources needed on a project. Each resource that is selected in the resource column has a corresponding % avg and an average number of months where the resource is used. % Avg and # of Months are found in a different worksheet.
What I am looking to do is, for example: if resource A will be on the project starting in May 2015 and assigned at 30% for 7 months, I want to populate 30% starting in the colunm labeled May 2015 and copy the 30% so that a total of 7 months are populated. Also, if any of the values change (i.e: the Resource Name or the Start Month) I want to erase all the percentages that were entered in the row. How can I achieve that with a VBA code? I have formulas that retrieve the # of Months and the % Avg already.
These are the columns that I have in my spreadsheet:
I have a worksheet that will have tabs added as time goes by and a macro within the workbook currently selects all of the sheets and copies and pastes formulas within all of the sheets simultaneously. Right now, if a tab is added, the macro needs to be updated to select that specific tab name as well.
I would like to simply have the macro select all of the sheets starting with "IL" until the sheet before "reference", or all sheets except the first 3 and the last 2 if that is easier. Any ideas? And thank you for your help, you people really amaze me sometimes!
I need to add something to the code below to have my first row of data entered into cell "Q8". As it is now the data is starting on row Q9 instead of Q8, but the rest of it is filling in correctly.
The below code clears a sheete starting at row 7 and leaves the last row. I want to validation that if the only row with text is the starting row then I dont want the delete rows to happen
Sub clearRecap() Sheets("Recap").Select Range("a7", Range("a" & Rows.Count).End(xlUp).Offset(-1)).EntireRow.Delete End Sub
I have some code which formats a worksheet based on user selections in a form. The code works, except when the user has made the same selections in two multi-select list boxes. I need to find a way to determine whether the code has already formatted the worksheet.
To me, it seems that there might be two ways to do this, 1) have a test on the original block of code that checks whether this portion of the code has already executed for this variable or 2) check the worksheet for the string (the code formats the same string each time but adds the variable for the current iteration of the loop only if Year1 = True.) The problem is that I only want to format the column if it hasn't already been formatted for that selection.
If CostShare = True Then For Each ctrl In UserForm2.Controls If TypeName(ctrl) = " ComboBox" And ctrl.Visible = True Then If ctrl.Value = "Cost-Share" Then t = ctrl.Tag For Each ctrl2 In UserForm2.Controls If TypeName(ctrl2) = "ListBox" Then If ctrl2.Tag = t Then With ctrl2 For ii = 0 To .ListCount - 1...............................
The below code tests a particular cell before displaying the userform. If Range ("Bal_BF") contains an error (such as "#N/a"), a message box is displayed and the form should NOT display.
However, the code is still trying to display the userform, and gives me a error message "Object variable or With Block variable not set".
When Bal_BF contains a value, the form displays correctly.
Private Sub UserForm_Initialize()
If Employee = "" Then Call Retrieve
If IsError(Range("Bal_BF")) Then Call MsgBox("Your name doesn't appear in the Holiday & Absence file." & vbCr & vbCr & _ "Please see Leila Fretton or Neil Jimack about this.",.........
Using excel 2007. I am interested in writing a VBA code to delete rows based on the text starting content. I would like to delete rows with cells that do NOT start with an "S" or "SA"
I am trying to determine Long Term Gain (LTG,) Long Term Loss (LTL,) Short Term Gain (STG,) Short term Loss (STL,) or No Loss nor Gain (NGL)testing two cells (A1 and B1)and setting a third cell (C1) to the text LTG, LTL, STG, STL, or NGL depending on the results of testing cells A1 and B1.
A1 represent a number of years and B1 represent gains or losses (negative)in dolars.
The way I see the logic is as follows:
If cell A1 or cell B1 are either one of them equal to 0, then it is neither a Gain nor a Loss (NGL.)
If cell A1 is greater than or equal to 1, then it is Long Term; else, if A1 is greater than 0 and less than 1, then it is Short Term.
On the other hand, if cell B1 is greater than 0, then it is a Gain; if B1 is less than 0 (a negative number,) then, it is a Loss.
I need to find (if it is posible in Excel) one formula to test the two cells for posible outcomes:
If A1 = 0 then C1 = NGL If B1 = 0 then C1 = NGL If A1 >= 1 and B1 > 0 the C1 = LTG. If A1 >= 1 and B1 < 0 the C1 = LTL. If A1 < 1 and B1 > 0 then C1 = STG If A1 < 1 and B1 < 0 then C1 = STL
In 1 cell i need a forumla to give me a starting number and take one away each time a code or codes are dislayed in a cell range. Something like this
A1 = 23 days or any number days i needed
Cell range B1:C52
every time a selected 1 or 2 letter code appears in the cell range i want A1 to subtract 1 day from the starting number, i would need it to subtract half a day if one code appears ie HD, the codes may be P, OT, HD
I would like to create a vba script when ran an input.box comes up and asks you to "enter number you want to start numbering from" and when the number is entered in the input box. e.g "7654", excel starts numbering each cell in column A from 7654 until there is an empty cell in column B.
I know Excel is not the best tool for formatting sentences, but is there a way to insert a Line-Break based on a condition? (Either using Formula or VBA).
The situation is:A fixed-width cell, is a concatenation of 5 strings. Each of these 5 strings is a small sentence of 3-6 words; individually much smaller than the cell-width.2 of these 5 are fixed (one at start, one at the end). The other 3 are results of their respective "IF" formulas.Hence, the final sentence wraps over 2-3 lines.I need the 3rd & 5th sentence (the whole sentence, all 3-6 words of it) to start in a new line, only if they are going to be wrapped into two lines.
So If the wrapping results in: String1 String2 Stri ng3 String4 Stri ng5
Then change it to: String1 String2 String3 String4 String5
I have some data where I am plotting cumulative M events versus time (blue). I would like to make a tick mark, or dot or something to indicate when event N (pink) occurs on the blue line. Imagine that I am measuring eating (M) versus time and that I want to show on that line the points when food is delivered (N). this is the plot I desire (ive shown some ticks and dots as examples, how can i do either one?): http://www.yousendit.com/transfer.ph...2F360E1F246391 and this is my data/current plot: http://www.yousendit.com/transfer.ph...27974E102C0620
I open a text file for input, and I want to jump to a certain line # in that text file. The difficult part is that each line has variable length, so I can't use the Seek function.
I have many text files ~5000 and I am searching for a macro that can import multiple files and also search the text file only importing two specific rows (error files may will not have 42 rows) while listing the file name in an adjacent cell.
So in column A I would like the file name, in column B any data in line 42 of the text file and in column C any data in line 43 of the text file.
Here is an example of the data in rows 42 & 43: 11 Waratah Street Mona Vale(2103) - Australie -33.68 (-33°40') | 151.30 (151°18')
So far I have found the code below that will import all text files into one sheet but it does not satisfy my requirements.
I'm trying to make a line graph with specific increments on both the x and y axis. Now, I can make specific increments on one, but have to sacrifice the other in order for me to label the lines. Im not sure how to get around this. I'll just type out what i'm trying to do and maybe you smart people can help me here.
Okay, both the x and y axis must be in increments of 8,10,12.5,16,20,25,30, and 35.
The first line should be labeled "Indicated magnification, and should have the values 8,10,12.5,16,20,25,30, and 35... the same as the x and y values, making the line a straight linear line.
The second line should say "actual m value" and have values of 10,12.5,15.5,20.5,25,31,37.5, and 44.
The third line should say "actual n value" and have values of 10,13,16,21,26,32,38.5, and 45.
I created the following macro by recording the macro and going through the steps manually, however I need to make some changes and can't seem to accomplish what I'm trying to do.
The Macro opens a master inventory file, creates a new line, and then links certain column cells in the inventory to corresponding places within the original form (the macro is executed from the original form once it's completed).
Problem is, the macro is written using the form "template" so whenever I save the template as the name of the unique item, it won't update the macro language as well.
What I'm trying to accomplish is when someone opens the template, the save immediately with a different file name, and once the form is completed and the macro is run, it's creating the new line in the inventory pointing to that specific file.
I thought somehow utilizing ThisWorkbook within the macro instead of explicitly using something like
"='[Control Sheets (JOHN TEST).xls]FUND SET_UP PG_1'!R2C3" would accomplish what I'm trying to do.
I have the following line from my code of which I am having trouble with I get an error:
If Left(IRange, 1).Value "1" Then I am trying to find the first string in cell range ...IRange ... I know the Left function = Left(string, length) but can I reference a Range or perhaps cell location within the string argument??? This can be done in excel formulas, but can it be done with VB code??
IRange = Cells (iRow,iCol) and value in cells are Long
My goal is to try and find out how I can use my excel formula:
Left(D3,Find("1",D3)) and impliment this to my above VB line
I have a large formula written in my VBA code (a sumproduct with numerous variables) which exceeds the line length in VBA and therefore a proportion of the code is shown on the next line.
However, the VBA treats this second line as an error (since it sees it as a new line of code which on its own doesnt work) What do I need to do so that it treats the two lines as a single line of code?
This should be a simple one, But I can get it to work. Could someone advise me as to how I can change this line of code to pick sheet(2) as it is now it picks sheet(1) . and throws the formula off. In A nut shell the formula is looking at sheets(1) C3 When it needs to look at sheets(2) C3. I always get messed up with the & and "" and!
I have the following script which will copy data from one worksheet to another sheet. The data in the first sheet is filtered and therefore it is pasting #n/a in the blank cells of the second sheet.
IMPORTANT: I already can do this with multiple lines of code, however just out of curiousity I was wondering if it could be done with the one line of script and to not have #n/a in blank cells.
HTML Code: worksheets("BBB").range("A1:E65000").value = worksheets("AAA").range("A1:E65000).specialcells(xlcelltypevisible)