I need to take contents of cells (which are results of formulas and references to other cells) and use the contents to compose an email.
Here are some cells to illustrate. NOTE: the information in brackets is the formula that's contained in the cell, while the text is the result of the formula.
B3 = This is the link used to compose an email. C19 = abc@domain.com (an email address) C22 = Login expired on node citrix08. [=concatenate("Login expired on node ",C7,".")] C25 = Dear Company A, [=concatenate("Dear ",C6,",")] C27 = The login for citrix08 has expired. [=concatenate("The login for ",C7," has expired.") C29 = Contact us within 15 days to continue. [=concatenate("Contact us within ",C9," days ...] C31 = Ticket 444 has been created to track the issue. [=concatenate("Ticket ",C10," has...] C33 = Lots of other text D33 = More text E33 = More text
C48 = Sincerely,
B3 (Named "SEND MAIL") contains the formula used to compose the email from the cells above, however, I cannot add all the cells to the formula without an error. At some point, there is too much data (contained in the referenced cells) and B3 returns #VALUE error.
The above formula works now, because it doesn't contain all of the body (of email) I need.
When I click on B3, it properly launches the email client, puts in an address, subject, and two lines of text in the body.
My workaround to this problem is to manually highlight cells C29 through E48, select copy, then go to the partially formed email and paste the rest of the body.
Is there a way to include all the body into an email? I think this can be accomplished with a VBA code, but have no idea how to do it.
I dont want to send the mail, just compose it using cells that have calculated what is needed in the body. I can then read the email, confirm it's content, and click send in the email client manually.
Does anyone have any suggestions? Is there a better (but simple) approach?
I know this could be done via javascript on an html page, but I dont know how to code this at all. I do know excell quite well and have many cells to calculate what is needed in the body of the email, but, alas, still can't compose the ENTIRE email from the formula in B3.
I'm trying to add a range to this email code that will then paste the information into the body of this email however instead of getting the data I need i'm getting "-1" in the body instead.
I've tried defining the range below and adding that line to the main code but it doesn't work, the code will run but i get "-1" in the body.
I have an email hyperlink setup on my excel sheet and I would like to automatically (not manually) add a sentence that is another cell (that changes from time to time) to the subject line or the body of the email.
But i want to adapt the "ActiveWorkbook.Sendmail" so I can attach my current workbook as it is, to the email.
Private Sub CommandButton10_Click()
Dim OutApp As Object Dim OutMail As Object Dim strbody As String Set OutApp = CreateObject("Outlook.Application") OutApp.Session.Logon Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = "you@email.com" .CC = "me@email.com" .BCC = "" .Subject = "Testing send to multiple emails." .Body = "Please review." & vbCrLf & vbCrLf & ActiveWorkbook.FullName .Send 'or use .Display End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing
Dim Msg, Style, Title Msg = "E-mail has been sent " & Chr(13) & Chr(10) & "Press OK to continue." Style = vbOKOnly + vbInformation Title = "Open Issues List" Response = MsgBox(Msg, Style, Title, Help, Ctxt)
Is there a way to use the function Sendmail without sending the Workbook, sheets or any attachments at all. I just would like to push a button in my Workbook so that a mail goes to the recipient saying for example: "Check our shared folder.
I am using a sendmail macro I found online. I cannot remember where I found it or who wrote it.
I need to change it so that it references a cell (HTOM!C2) for the email instead of a static address. The portion I need to change is 14 lines up from the bottom.
Using the address function to find the exact cell of a unique string text.
I'm using the following command to find the address of a string i have in a different cell.
=ADDRESS(MATCH("*$H$1*",A:A,0),1)
The string text is in cell H1, H2, H3.......(or on another sheet). The goal is to find the address of a cell containing the unique string text from cell H1, H2, H3.....(that entire column) in a sheet with 13,000 lines. Basically, searching for a specific cell address of a string text referenced from another cell.
I'm trying to calc a Simple Moving Average of financial Fund data (row=fund type, column=date) on a very large matrix for a particular fund and date range. I locate the Fund of interest and retrieve the Start and End dates of interest and retrieve their addresses using the ADDRESS function. Since ADDRESS returns a text string, HOW DO I incorporate it's results into the following array function (which ignors blanks and 0 cells): {=AVERAGE(IF($L$10:$V$10>0,$L$10:$V$10,FALSE))}?
I want a function that allows me to enter a range and then returns the address of the cell with the minimum value. It is the Address I am interested in, not the value.
Any function to convert a long value into an IP address. I have an extract from a mySQL dbase that has the ip addresses in long format. I need to reverse them back to IP Addresses.
How do you use the result of the "Address" function as ranges for other formulas? I have 2 cells A1 and A2, each containing an "Address" function to find the start cell and end cell of a range.
A1 shows the result "$J$6" and A2 "$AB$6". These are working fine:
I am trying to create a correlation matrix that uses the =ADDRESS function to define the various columns of data which I want to correlate against each other (I require this flexibility because the number of columns and rows of data to be correlated will change). The basic formula I am using is something like the following: =CORREL((ADDRESS(Sheet1!$C$2+3,L2+2,,,"Sheet1")),(ADDRESS(Sheet1!$B$2,L2+2,,,"Sheet1")))
However, while the individual ADDRESS fomulas deliver the correct start and end cell references required, it seems that CORREL function won't accept the cell addresses that result from using the =ADDRESS function.
I'm building a table that references a dynamic range on a pivot table. So far I've gotten the function to return the address on the pivot table but it wont return the value. I'm doing this so that I can both refresh the two source data sets and summarize (pivot table) and also graph these two summarized data sets since you can't graph two different pivot tables together.
This is my code so far: Iferror - To return zero if the source data doesn't exist yet Address - To concatenate the match functions Match - to find the row and column numbers on sheet "B" that match the x,y call on the original sheet "A"
=IFERROR((ADDRESS((MATCH($A2,'Install Data Pivot'!$A:$A,0)),MATCH(B$1,'Install Data Pivot'!$4:$4,0),1,1)),0)
Returns $B$5 since this is the cell where the information lies.
I've tried just adding the sheet name like this...
=IFERROR('Install Data Pivot'!(ADDRESS((MATCH($A2,'Install Data Pivot'!$A:$A,0)),MATCH(B$1,'Install Data Pivot'!$4:$4,0),1,1)),0)
But that doesn't work. I've also tried using different variations of Indirect and Index but I still can't get it to reference the other sheet.
I have a sheet with multiple tabs - 1 per employee. I'm trying to run an index on a select tab based on the contents of a cell in order to do a summary across all employees/tabs.
The person's name is Tulley and is listed on the summary page in cell A11. =INDEX(TULLEY!$B$4:$M$5,1,$B11) returns the correct value. I would like to replace the tab reference with the name of the person concatenated with an exclamation point. This yields TULLEY! -
INDIRECT("A11")&"!". I thought that I would be able to replace the TULLEY! in the index formula with the indirect formula. This formula returns TULLEY!, but the index function doesn't work: =INDEX(INDIRECT("A11")&"!"&$B$4:$M$5,1,$B11).
b2,b3 Formula = Indirect(Address(match(a2,????,0),1,1,1,"Data"))
i dont know what is the correct range inside the match fuction to identiy the row number inside the Data sheet, i think the solution would be match(a2,Data!a2:a13,0) but things might get complicated if you have multiple worksheet such as sheet2: Data , sheet3: Data2, sheet3: Data 3
and each table has unsorted details compared to others sheets (Data vs Data 2)
I am performing a lookup using the populare user defined function nlookup, which does not take a lookuparray argument to find lookup values. But I only want to return lookup values that fall into a certain array. To accomplish this, I figured out that I need a way to specify a condition of the type "if cell address of lookup value falls within range"
It should be possible if I find a way to return the cell address of the nlookup value, but as nlookup is not limited by a lookuparray argument, so I was not able to use the address/index/match that come up in similar questions.
I have a column which has either EDC or EDT in it, can I add a function to this column which says 'if EDC then output Eau De Toilette' and then Eau De Toilette get's ouputted into a seperate column? Is this kind of thing even possible in Excel?
that I want to look up the Day (mon, tue, etc) and then return the date entered in cell A1
So if the date in cell A1 is 01/05/08, the formula should return Thu01/05/08. Currently it returns Thu39569, even though the cell is formatted as a date format... How do I get it to return the date in a date format?
I have a bit of code someone on this board provided and I want to make it work for two different ranges. If I just paste it, I get an ambiguous name error. How do I make it work for a second range?
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rng As Range Set rng = [A2:A101] If Intersect(Target, rng) Is Nothing Then Exit Sub If IsEmpty(Target) Then Target.Offset(0, 4).Value = "" Target.Offset(0, 1).Value = "" Else Target.Offset(0, 4).Value = Application.UserName Target.Offset(0, 1).Value = Date End If End Sub
I would like to edit this function to also count profit only if Cell A15:A8998 in my Sold sheet has the words "Shipped". The text value Shipped is not a text value I entered, it is automatically written based on a Vlookup formula I created.
I have no problem with the rank function in terms of the ties showing as duplicate values, however, when this occurs I would like a "T-" to appear before ranks that are tied, and show nothing if they are not tied. Essentially, I want the final result to look like this, without having to manually add the "T-" after the ranking is complete. 1 T-5 3 T-3 5 1 3 T-3 4 2 1 T-5 I have done more complex Excel formulas before, but for some reason this is stumping me.