Macro To Goalseek After Certain Conditions Are Met
Jun 21, 2008
I'm trying to create a macro to Goalseek after certain conditions are met and then loop until other conditions are met. In my worksheet, the reference cells for the macro are as follows:
a. Range (U94:DL94) as Cash Available
b. Range (U95:DL95) as Distribution
c. Range (U96:DL96) as Monthly Cashflow
d. Range (U98:DL98) as the IRR calculation. IRR Calculation (If AT98 is active cell) = (1+IRR($U$96:AT96,0.01))^12-1. If AU98 is active cell, then IRR Calculation = (1+IRR($U$96:AU96,0.01))^12-1), etc.
I need the macro to do the following:
1) If value in range Cash Available > 0 and value in range IRR < 0.08, then goalseek
(set cell = (range IRR), Goalseek = 0.08, Changing cell = (range Distribution)
2) If Goalseek result in range Distribution < value in range Cash Available, set cell equal to value in range Cash Available.
3) I need GoalSeek to loop until value in range Distribution > 0 and whatever cell in range IRR = 0.08.
4) After first cell in range IRR = 0.08, I need the macro to start again on the same named ranges but for different rows lower down on the spreadsheet and do the same loop, but this time for range IRR(2) = 0.15.
I have written a macro that uses the goalseek function over an entire column. It works and is a happy macro. the only problem with it that I see is that it currently cannot work through a filtered list. Say, for instance, you have a column(a) that adds column(b) + column(c). Lets say that there's 10,000 rows and of those, 8,000 have a value over 10. You apply a filter and view the other 2,000 rows with values less than 10. If you run the macro in its current state you'd apply the results to all 10,000 lines - but I wish to do it only over the remaining 2,000.
I'm certain that some variation of .SpecialCells(xlCellTypeVisible) will be used but I cannot determine where. Here's my code.
Sub TryMe() 'set the goalseek area answer = MsgBox("Please note that this macro only works on consecutive cells." & _ vbNewLine & "It will NOT work on a filtered list." & vbNewLine & vbNewLine & _ "Continue?", vbYesNo) If answer = vbNo Then Exit Sub End If
restart: With Application On Error Resume Next Application.DisplayAlerts = False ..............
I'm trying to make a macro that will allow me to run multiple Goalseek in the click of a button. This I've been able to do but now I've included one more tweaking which is that I want the variable to change depending on the "method" (ie EBITDA or FMV). Yet I get an error message on the goalseek formula and I don't know what to do and how to solve it. See below for the "macro"
Sub Target_IRR() If Range("C73") = "EBITDA" Then For i = 94 To 96 Cells(i, 3).GoalSeek Goal:=Range("F93"), ChangingCell:=Cells(i, 4) If Cells(i, 4) < 1 Then Cells(i, 4) = 1 Next i ElseIf Range("C73") = "FMV" Then For j = 94 To 96 Cells(j, 3).GoalSeek Goal:=Range("F93"), ChangingCell:=Cells(j, 5) If Cells(j, 5) < 1 Then Cells(j, 5) = 1 Next j Else: MsgBox ("No Variable") End If End Sub
I am posting this thread as a follow up to the previously posted thread entitled "IF Function and circular Reference". The reason I am changing the title because the topic we ended up talking about was not reflecting the previous title. My problem is that I got a range of independant cells (M7:M70) and the same number of dependant cells (BA7:BA70) as can be seen in the attached file. What I am trying to do is to make solver to find the value in the independant cell (e.g. M7) that makes the value in the adjacent (i.e. same row) dependant cell (e.g. BA7) equals 0. I can use solver for one row at a time but not for the whole range of cells. The question now is how can I use solver to do this task for the whole range M7:M70 simultaneously?
I'm trying to adjust my macro to fill the interior cell color of a row if there's a non-blank row above and below it (i.e. if there are 3 or more non-blank rows together, then fill the 2nd, 4th, etc. rows. If there are only 1 or 2 rows together, then don't fill the cells.
However, what I'm getting is filling ever other row, with this code. There seems to be an error in how I'm trying to use and If condition with 3 criteria.
Code: Sub colorin()
Dim LastCol As Long Dim r As Integer r = 6 With ActiveSheet LastCol = .Cells(5, .Columns.Count).End(xlToLeft).Column
[Code] ....
Here are some sample results (pretend cells with red text are actually cells with interior color, black text is an unfilled cell).
Rank Name
1 Jones, Some
[Code] ......
What I'm trying to achieve is: (again, red text actually represents filled cells - can't get sample shot of actual filled cells to copy into forum post).
I would like to highlight cells is two conditions are met:Cell = 0Offset(0,-1)>0I tried the conditional format wizard and entered a formula: =IF(AND($J2=0,$I2>0)) But I keep receiving formual errors, which I understand, because it appears to be incomplete formula. But I am not sure what else I need to add to the formula in the conditional format wizard
I have 2 reference cells with the date range to look for in C1 and D2. G2 through IV2 have dates that run across. I would like for the macro to look for the start and end dates in C1 & D2 and paste the new data as values from A1:B20 into those particular columns of dates within the range.
ABCD1head count23start7/1/092vac%5%end7/15/093iap%3%4misc%3%5off%21%6% ot0%7off%21%8% ot0%9rpr wk rt1.510inst wk rt5.0211go back %5%12nw Mvr %3%13fall out %10%14jep/incomplete %16%15lines in service116% esc3%17% change610%18churn rate60.994%19report rate0.297%20% of market2218%
Excel file attached! I need a macro to do the following:
Start with cell F4 and read the increment value from cell C4. Then add this with F3 and display the result. Continue with the same increment until it reaches the value equal to cell B4. Then read the increment from cell C5 and do the same until value equals cell B5. Repeat the same step until it reach the value equals B7. I did manually in the column F4 to F28. Moreover, the cell increment will change according to the variable in A2. In this case it is 25 and got 25 values to fill the column R.
creating a macro to send email from excel through Outlook basis of different conditions and with embedded text and subject.
There 2 workbooks attached with this post. The workbook named "Data" contains the data and the workbook named "Emails" contains the Dealer Names (in Column A), the Email ids of the contact person (Column B, C and D), the subject (in Column E) and mail content (in Column F).
I need a Macro which first split the data basis of "Dealer Name" Column F into multiple sheets from "Data" sheet. Now, each sheet will contain only the Individual dealer's data. The data whose ageing is 2 or more than 2 days (in Column H) is highlighted in yellow.
Now, I need to send a separate email to dealers with their data details from range A to F (including headers) as an embedded text with subject and mail content which is present in "Emails" workbook.
Now the twist is, if any dealer having the Aging value in Column H is 2 or more than 2 days (highlighted in yellow color) than the email should be sent in CC to Column D email ids but if there is no Aging more than 2 days than the email should be sent in CC to Column C email ids.
"To" email ids (in Column B), subject (in Column E) and mail body (in Column F) will remain same in both conditions. Column A is containing the Dealer Names through which macro will identify the email ids.
I want to calculate the sum of column with two conditions on different worksheets,
Example Data Stock #QTYMonth 01335208Aug-06 01337402Aug-06 01337392Aug-06 01335400Sep-06 01337100Sep-06 01337102Sep-06
If the stock # is equal to the stock # and Month equal to month I need to get the result in another sheet as below. Stock #Aug-06Sep-06 01335208400 01337794202
what would be the most effective and easiest formula to use if I want to sum a range of numbers meeting 2 conditions (or more).. eg.. sum all the unpaid invoices (condition 1) due on March (condition 2).
I have the following code: =SUMPRODUCT(--($A$2:$A$400="OKC"),--($C$2:$C$400="AF33"),$G$2:$G$400)
It works great, but I am needing to now add a 3rd condition, or filter... In addition to it looking for "OKC" and "AF33" I also need it to sort by month. example; "March". I need it to be in code that works on old versions of excel as well...
Although I am not getting any errors, I am not having success returning proper answers with the formula below. Perhaps I cannot do what I am attempting.
where: K22:K169 are user entered categories from a drop down list G22:G169 are user entered dates F9 is a user entered update date column R are monetary values with first row being a revenue$ second row margin$
I need to summarize every other row (one row is revenue, one is margin) if the two conditions are met.
I'm (and you are too!) still helping to streamline a charity's spreadsheet. There are two worksheets that this question refers to: "DD Tally" and "List of DD Donors" (where DD stands for Direct Debit). In the DD Tally worksheet we are trying to summarise the information contained within the List of DD Donors. We would like to be able to estimate how much, in direct debit donation, we will recieve in the financial year (currently, April 06 to March 07). We would like this to be seperated into our monthly, quarterly, semi-annual and annual donors.
The challenge is knowing how to search through a column to find the, for example, "Monthly" entries and once these have been found to find the quantity of the donation(s) in the rows with "Monthly" in them, and then, to determine the number of months they have been paying for during the financial year (their first payment dates are listed as 01/MM/YY) - i.e, the difference between the end of the financial year (03/07) and the start (04/06) or between the time they joined during the financial year and the end. Then to multiply the number of months the direct debit has been active during the year by the amount they donate.
I've been writing a piece of VBA code to process a timesheet for my office.
THe sub routine has a number of variables passed to it, two of which are called CFhrs and Limit. The first contains in integer representing a number of hours. THe latter is a number of hours that can be claimed. In short if CFhrs is less than Limit, the CFhrs should be left alone, but if CFhrs is more than limit then CFhrs should then equal Limit.
First I tried this:
If CFhrs = Limit Or CFhrs > Limit Then CFhrs = Limit CFmins = 0 End If
This seemed to be totally ignored when run, and even when CFhrs was greater than Limit, CFhrs was left just the same. So I tried:
I have a table(see attached). I want to sum the total hours worked in Col C. Col B has the number of people on the job (either 1 or 2). I need a condition, I guess , so that if Col b has a number 2 in it, then the adjacent cell needs to be multiplied by 2, then summed into the total hours worked.
I am not sure on how i would write a formula for this. Looking at the sample if I add the total hours from col C at the moment I get a total of 18 Hours but as cell C3 & C5 have a "2" in their adjacent column, the total hours answer should be 27 hours.
place the amount from table column "IN" into a corresponding cell in another sheet. how to add another column (OUT) in the above formula. I wish to summarize both column IN and OUT from table based on two conditions.
I have a table (look at attached file for better info) with TEXT values on Column A (A1:A10) and NUMERICAL values on Column B (B1:B10).
I want to find the MAX value between a value that I set (in cell A14) and the last record (as well as the opposite, between the value I set and the first record).
What this means is that if I set for example D as my value (see attached file for better understanding) I want the formula to find the MAX value between B4:B10 (and another formula that finds the MAX value between B4:B1) based on these conditions
The first and last values (i.e B1,B10) are not included in the result. The value I set is not included in the result as well.
What this means is that if I set the value D which can be located in cell A4, I want to find the MAX between cells B5:B9 (and with another similar formula the MAX value between cells B3:B1).
The value I set changes every time.
I have created a formula as you will see in the attached file but that works only if I create a copy column A to C and then again I can't find a way to exclude the value I set from my results, so if the value I am looking for happens to be the MAX I get that as a result.
I have been trying to create a report that involves three conditions, but so far I have had no luck using SUM and IF conditions to do this.
I have attached a file with an example of what I would need. Basically, I would need the "Resolved" and "In-Progress" quantities filled in below the "Country Report" for each respective country.
I have a list of item numbers in a column which is Autofiltered. I can go to the autofilter drop down and then to custom and select two item numbers to allow through the filter, however I have about ten item numbers that I want to allow through the filter.
Working in Excel 2003. I have a VBA code that, if a particular option is chosen from a drop down box, then a message box appears. What I'd like to do is alter this code so that if cell J5 has "Text 1", "Text 2", or "Text 3" then the message box does not appear. Here's my
I am trying to create a COUNTIF formula which will work with two conditions. If you see the attached spreadsheet you will find the data that I am trying to apply a formula to. I have my data in the table on the right. The table on the left is supposed to show the number which the number of destinations that had a certain range of visitors.
As you will see that there are 3 destinations that had 12 or more million visitors, this was counted using a basic COUNT IF formula but for the rest of my data how can I apply the formula so that the correct number of destinations are counted. For example what formula would be needed to count the number of destinations that have had 8-11.9 million visitors. I am guessing that the formula will have the conditions ">=8" and "<=11.9"?
I have two different tables, 1 table gives the conditions you need for specific stations. Stations is shown vertically (10 to 150), and conditions people must have are shown in the top row. (Alphabet). This data is given and can change alot. If I compare this data, a new table will be created that compares the conditions per station with the people if they have it too. Then it will need to give an answer, 'Yes or 'No''. Yes means he has met all the conditions needed, so has all the competences needed for the station.
I tried to do this with normal formulas, but no success. I can do it by doing like 100 IF's in 1 formula, but that isn't efficient.
But that only compares if the person has exact the same competences, if he has more then the needed on 1 location, a NO will be returned. Same with count, that doesn't work either, if he has the same amount of competences needed for example station 10, he is allowed to, but he doesnt have the competences that are needed for that station..
I have a formula in cell A1 and text in either cell B2 or C2. This text continues down the rows until there is no text in either columns B or C. I wish to copy the formula in A1 into A2 and then continue copying down column A until both cells in column B and C are empty. What is the excel VBA code?
What I'd like to do is to create a loop that will run through the cells in column B and change the values in column A to the value in column B IFF the current cell in column B does not equal "#N/A" AND the cell above the currently selected cell in column A contains the text "Manhattan". The code should run through each row and the data from the cell in column B if the above conditions are met will be copied into the cell in column A on the same row;