VBA to automate Send and Automatically Sending of E-Mails and Excel File Workbooks
Further notes in support of answer to this Thread:
http://www.excelfox.com/forum/showth...kbooks-at-once
http://www.excelfox.com/forum/showth...0518#post10518
Microsoft Outlook.
WTF is that and HTF do you do anything with it, and WTF is it supposed to do.
I didn't know. And still don't......
The internet is full of stuff on this, but there is no clear explanation of what it is or what it should do or how you do anything with it.
But I had a go
Microsoft Outlook: what is that ( using manually )
You would normally get the software to run on its own ( visible as it were ) in a similar way to which you might get Word or Excel to start, for example
Find it single click on it:
FindOutlook Start AllProgrammes Microsoft MicrosoftOutlook.JPG : https://imgur.com/LaGs6HA
FindOutlook Start TypeInSearchBox Outlook.JPG : https://imgur.com/IbFOSHz
Make a Desktop icon from a Copy/ paste and double click on it :
MicrosoftOutlook Make a desktop Icon to double click on.JPG : https://imgur.com/ZNNPmOI
The first time you try to open it with a click or two, a set up starts.
Outlook2003Start.JPG https://imgur.com/tSQDoTe
The main use of the Outlook software is to do Email stuff, so usually you will have at least one Email account “registered in it” You can do this at the set up or later.
I had a go,
the start was OK:
Outlook2003Start.JPG https://imgur.com/R71pKfy
Outlook2003Start2.JPG https://imgur.com/XUFMpEm
These following steps took me a few hours of Emails, Internet surfing and annoying Telephone calls to my Internet provider before I
_ chose IMAP here : Outlook2003Start3ServerType.JPG : https://imgur.com/Jmnd6Vb
and
_ got the two required things to put in the 2 server information bars, and other stuff to fill in this : Outlook2003Start4ServerConfiguration.JPG : https://imgur.com/NXNAt9J
Code:
Von: "Doc.AElstein@t-online.de" <Doc.AElstein@t-online.de>
An: "elston, alan" <Doc.AElstein@t-online.de>
Pop3
* Serveradresse Port* Sicherheit
Posteingang securepop.t-online.de 995 SSL / TLS
Postausgang securesmtp.t-online.de 465 SSL
*
E-Mails über IMAP4 abrufen
* Serveradresse Port* Sicherheit
Posteingang secureimap.t-online.de 993 SSL
Postausgang securesmtp.t-online.de 465 SSL
From: "Doc.AElstein@t-online.de" <Doc.AElstein@t-online.de>
To: "elston, alan" <Doc.AElstein@t-online.de>
pop3
Server address Port Security
Inbox securepop.t-online.de 995 SSL / TLS
Outbox securesmtp.t-online.de 465 SSL
Retrieve emails via IMAP4
Server address Port Security
Inbox secureimap.t-online.de 993 SSL
Outbox securesmtp.t-online.de 465 SSL
Outlook2003Start4ServerConfiguration.JPG : https://imgur.com/NXNAt9J
MyTelekomNameUsernamePassword.JPG : https://imgur.com/K6qZgsE
TelekomInternetConfiguration.JPG : https://imgur.com/Z3XcsJu
Then I hit Finish:
Outlook2003Start5Fertig.JPG : https://imgur.com/wIMvqBb ´
I get an error in the left Pane atz that point or later as well sometimes :
Outlook2003Start6LeftpaneErrror.JPG : https://imgur.com/35XLQv6
Code:
could not connect to the server secureimap t online.JPG : https://imgur.com/UqEZtQe
Fehler (0x800CCC0E) beim Ausführen der Aufgabe "Suchen nach neuen Nachrichten in den abonnierten Ordnern auf secureimap.t-online.de.": "Der Download des Ordners "(null)" von Konto "secureimap.t-online.de" vom IMAP-Mailserver ist fehlgeschlagen. Fehler: Die Verbindung zum Server konnte nicht hergestellt werden. Falls dieser Fehler weiterhin auftritt, wenden Sie sich an den Serveradministrator oder den Internetdienstanbieter."
Fehler (0x800CCC0E) beim Ausführen der Aufgabe "secureimap.t-online.de: Posteingang - Auf neue E-Mail überprüfen.": "Der Download des Ordners "Posteingang" von Konto "secureimap.t-online.de" vom IMAP-Mailserver ist fehlgeschlagen. Fehler: Die Verbindung zum Server konnte nicht hergestellt werden. Falls dieser Fehler weiterhin auftritt, wenden Sie sich an den Serveradministrator oder den Internetdienstanbieter."
Error (0x800CCC0E) while performing the task "Search for new messages in the subscribed folders on secureimap.t-online.de.": "Downloading the folder" (null) "from account" secureimap.t-online.de "from IMAP mail server failed Error: Unable to connect to server If this error persists, contact your server administrator or ISP. "
Error (0x800CCC0E) when executing the task "secureimap.t-online.de: Inbox - Check for new e-mail.": "The download of the folder" Inbox "of account" secureimap.t-online.de "from IMAP- Mail server failed Error: Unable to connect to server If this error persists, contact your server administrator or ISP. "
Every time I open Microsoft Outlook after that I get a pop up : could not connect to the server secureimap t online.JPG : https://imgur.com/UqEZtQe
Code:
Es Konnte keine Verbindung zum Server hergestellt werden. secureimap.t-online.de befindet sich jetzt im Offlinemodus
It could not connect to the server. secureimap.t-online.de is now in offline mode
So I am still none the wiser, but It is worth doing all that anyway as you may need some of that information later in one or more of the ways to send an Email using VBA.
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
https://www.youtube.com/watch?v=oVb1RfcSHLM&lc=UgwTq-jZlZLnLQ5VB8Z4AaABAg.9Hroz-OyWog9tYjSMc1qjA
https://www.youtube.com/watch?v=0pbsf6sox34&lc=Ugxp9JFvvejnqA68W1t4AaABAg
https://www.youtube.com/watch?v=kfQC-sQxMcw&lc=UgyCxQWypNIhG2nUn794AaABAg.9q1p6q7ah839t UQl_92mvg
https://www.youtube.com/watch?v=vXyMScSbhk4&lc=UgyOh-eR43LvlIJLG5p4AaABAg.9isnKJoRfbL9itPC-4uckb
https://www.youtube.com/watch?v=vXyMScSbhk4&lc=Ugy1B1aQnHq2WbbucmR4AaABAg. 9isY3Ezhx4j9itQLuif26T
https://www.youtube.com/watch?v=vXyMScSbhk4&lc=UgxxajSt03TX1wxh3IJ4AaABAg. 9irSL7x4Moh9itTRqL7dQh
https://www.youtube.com/watch?v=vXyMScSbhk4&lc=Ugxa2VYHMWJWXA6QI294AaABAg. 9irLgSdeU3r9itU7zdnWHw
https://www.youtube.com/watch?v=vXyMScSbhk4&lc=UgwJAAPbp8dhkW2X1Uh4AaABAg. 9iraombnLDb9itV80HDpXc
https://www.youtube.com/watch?v=vXyMScSbhk4&lc=UgzIzQ6MQ5kTpuLbIuB4AaABAg. 9is0FSoF2Wi9itWKEvGSSq
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
VBA to automate Send and Automatically Sending of E-Mai
_1 ) Way 1) Use the CDO (Collaboration Data Objects ) object library available in VBA
Main Code , Sub PetrasDailyProWay1_COM_Way() ,
and
Function Code for solution to this Thread and Post
http://www.excelfox.com/forum/showth...kbooks-at-once
http://www.excelfox.com/forum/showth...0518#post10518
Code:
Option Explicit ' Daily Diet plan, Sending of Notes and an Excel File
Sub PetrasDailyProWay1_COM_Way() ' Allow access to deep down cods wollops from Microsoft to collaborating in particular in the form of messaging. An available library of ddl library functions and associated things is available on request, the Microsoft CDO for Windows 2000. We require some of these ' CDO is an object library that exposes the interfaces of the Messaging Application Programming Interface (MAPI). API: interfaces that are fairly easy to use from a fairly higher level from within a higher level programming language. In other words this allows you to get at and use some of the stuff to do with the COM OLE Bollocks from within a programming language such as VBA API is often referring loosely to do with using certain shipped with Windows software in Folders often having the extension dll. This extension , or rather the dll stands for direct link libraries. These are special sort of executable files of functions shared by many other (Windows based usually) software’s.
' Rem1 The deep down fundamental stuff , which includes stuff been there the longest goes by the name of Component Object Model. Stuff which is often, but not always, later stuff, or at a slightly higher level of the computer workings, or slightly more to a specific application ( an actual running "runtime" usage / at an instance in time , "instance of" ) orientated goes to the name of Object Linking and Embedding. At this lower level, there are protocols for communicating between things, and things relate are grouped into the to Office application available Library, CDO. An important object there goes by the name of Message.
'Rem 1) Library made available ====================#
With CreateObject("CDO.Message") ' Folders mostly but not always are in some way referenced using dll, either as noted with the extension or maybe refered to as dll Files or dll API files.
'Rem 2 ' Intraction protocols are given requird infomation and then set
'2a) 'With --------------------* my Created LCDCW Library, (LCD 1.0 Library ) (Linking Configuration Data_Cods Wollups) which are used and items configured for the Exchange at Microsoft’s protocol thereof; http://schemas.microsoft.com/cdo/configuration/ ......This section provides the configuration information for the remote SMTP server
Dim LCD_CW As String: Let LCD_CW = "http://schemas.microsoft.com/cdo/configuration/" ' Linking Configuration Data : defines the majority of fields used to set configurations for various Linking Collaboration (LCD) Objects Cods Wollops: These configuration fields are set using an implementation of the IConfiguration.Fields collection. https://msdn.microsoft.com/en-us/library/ms872853(v=exchg.65).aspx
.Configuration(LCD_CW & "smtpusessl") = True ' ' ' HTTPS (Hyper Text Transfer Protocol Secure) appears in the URL when a website is secured by an SSL certificate. The details of the certificate, including the issuing authority and the corporate name of the website owner, can be viewed by clicking on the lock symbol on the browser bar. in short, it's the standard technology for keeping an internet connection secure and safeguarding any sensitive data that is being sent between two systems, preventing criminals from reading and modifying any information transferred, including potential personal details. ' SSL protocol has always been used to encrypt and secure transmitted data
.Configuration(LCD_CW & "smtpauthenticate") = 1 ' ... possibly this also needed .. When you also get the Authentication Required Error you can add this three lines.
' ' Sever info
.Configuration(LCD_CW & "smtpserver") = "smtp.gmail.com" ' "securesmtp.t-online.de" '"smtp.gmail.com" "smtp.mail.yahoo.com" "smtp.live.com" "pod51017.outlook.com" "smtp-mail.outlook.com" "smtp.live.com" "securesmtp.t-online.de" 465 SMTP is just used to mean the common stuff..... Simple Mail Transport Protocol (SMTP) server is used to send outgoing e-mails. The SMTP server receives emails from your Mail program and sends them over the Internet to their destination.
' The mechanism to use to send messages.
.Configuration(LCD_CW & "sendusing") = 2 ' Based on the LCD_OLE Data Base of type DBTYPE_I4
.Configuration(LCD_CW & "smtpserverport") = 25 ' 465or25fort-online ' 465 'or 587 'or 25 ' The port of type somehow refered to by the last line
'
.Configuration(LCD_CW & "sendusername") = "excelvbaexp@gmail.com" ' "Doc.AElstein@t-online.de" ' .... "server rejected your response". AFAIK : This will happen if you haven't setup an account in Outlook Express or Windows Mail .... Runtime error '-2147220975 (800440211)': The message could not be sent to the SMTP server. The transport error code is 0x80040217. The server response is not available
.Configuration(LCD_CW & "sendpassword") = "Bollocks" ' "Bollox"
' Optional - How long to try ( End remote SMTP server configuration section )
.Configuration(LCD_CW & "smtpconnectiontimeout") = 30 ' Or there Abouts ;) :)
' Intraction protocol is Set/ Updated
.Configuration.Fields.Update ' 'Not all infomation is given, some will have defaults. - possibly this might be needed initially .. .Configuration.Load -1 ' CDO Source Defaults
'End With ' -------------------* my Created LCDCW Library ( Linking Configuration Data Cods Wollups) which are used and items configured for the Exchange at Microsoft's protocol therof;
'2b) ' Data to be sent
'.To = "Doc.AElstein@t-online.de"
.To = "excelvbaexp@gmail.com"
.CC = ""
.BCC = ""
.from = """Alan"" <Doc.AElstein@t-online.de>"
.Subject = "Bollox"
'.TextBody = "Hi" & vbNewLine & vbNewLine & "Please find the Excel workbook attached."
.HTMLBody = MyLengthyStreaming
.AddAttachment "G:\ALERMK2014Marz2016\NeueBlancoAb27.01.2014\AbJan2016\Übersicht aktuell.xlsx" ' ' Full File path and name. File must be closed
Rem 3 Do it
.Send
End With ' CreateObject("CDO.Message") (Rem 1 Library End =======#
End Sub
Public Function MyLengthyStreaming() As String
Rem 1 Make a long string from a Microsoft Word doc
'1(i) makes available the Library of stuff, objects, Methods etc.
Dim Fso As Object: Set Fso = CreateObject("Scripting.FileSystemObject")
'1(ii) makes the big File Object " Full path and file name of Word doc saved as .htm "
Dim FileObject As Object: Set FileObject = Fso.GetFile("G:\ALERMK2014Marz2016\NeueBlancoAb27.01.2014\AbJan2016\ProMessage.htm"): Debug.Print FileObject
'1(iii) sets up the data "stream highway"
Dim Textreme As Object: Set Textreme = FileObject.OpenAsTextStream(iomode:=1, Format:=-2) ' reading only, Opens using system default https://msdn.microsoft.com/en-us/library/aa265341(v=vs.60).aspx
'1(iv) pulls in the data, in our case into a simple string variable
Let MyLengthyStreaming = Textreme.ReadAll ' Let MyLengthyStreaming = Replace(MyLengthyStreaming, "align=center x:publishsource=", "align=left x:publishsource=")
Textreme.Close
Set Textreme = Nothing
Set Fso = Nothing
Rem 2 possible additions to MyLengthyStreaming
Last bit of Function ( must go here in the excelfox Test Sub Forum in HTML Tags as there are HTML Tags in the final text string string and this makes a mess in normal BB code tags, because in excelfox Test Forum HTML is activated ) :
HTML Code:
Rem 2
Let MyLengthyStreaming = "<p><span style=""color: #ff00ff;"">Start=========== " & Format(Now(), "DD MMMM YYYY") & " " & Now() & " ------------------------------------</span></p>" & MyLengthyStreaming & "<p><span style=""color: #ff00ff;"">-- " & Format(Now(), "DD MMMM YYYY") & " " & Now() & " ==End, Sent from Doc.AElstein Mail ======</span></p>"
End Function
HTML Code seen in Text Editor
HTML as seen in Text Editor, for this Post:
http://www.excelfox.com/forum/showth...0524#post10524
OpenProMessageHTMLWithTextEditor.JPG : https://imgur.com/4zev9Kv
ProMessageHTMLInTextEditor.JPG : https://imgur.com/eTUd17q
Code:
HTML Code:
<body lang=DE style='tab-interval:35.4pt'>
<div class=WordSection1>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Times","serif";color:black'>T <span class=SpellE>Andale</span>
Mono</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='color:red'> </span><span
style='font-size:10.0pt;font-family:"Arial","sans-serif";color:red'>T Arial</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Arial Black","sans-serif";
color:#FF9900'>T Arial Black</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Comic Sans MS";color:#99CC00'>T Comic <span class=SpellE>Sans</span>
MS</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Courier New";color:#33CCCC'>T Courier New</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Georgia","serif";color:#3366FF'>T Georgia</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Helvetica","sans-serif";color:purple'>T <span class=SpellE>Helvetics</span></span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Impact","sans-serif";color:#999999'>T Impact</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Tahoma","sans-serif";color:#993300'>T <span class=SpellE>Tahoma</span></span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"monaco","serif";color:fuchsia'>T Terminal</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
color:olive'>T Times New Roman</span></p>
<p style='margin:0cm;margin-bottom:.0001pt'><span style='font-size:10.0pt;
font-family:"Trebuchet MS","sans-serif";color:#FF6600'>T <span class=SpellE>Trebuchet</span>
MS</span></p>
<p class=MsoNormalCxSpFirst><o:p> </o:p></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:9.0pt;line-height:115%;
font-family:"Verdana","sans-serif";color:#C00000'>W9 <span class=SpellE>Verdana</span><o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-family:"Arial Narrow","sans-serif";
color:red'>W11 Arial <span class=SpellE>Narrow</span><o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:14.0pt;line-height:115%;
font-family:"Batang","serif";color:#FFC000'>W14 <span class=SpellE>Batang</span><o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:16.0pt;line-height:115%;
mso-ascii-font-family:Calibri;mso-fareast-font-family:Batang;mso-hansi-font-family:
Calibri;color:#92D050'>W16 Calibri<o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:18.0pt;line-height:115%;
font-family:"Cambria Math","serif";mso-fareast-font-family:Batang;color:#00B050'>W18
<span class=SpellE>Cambri</span> <span class=SpellE>Math</span><o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:20.0pt;line-height:115%;
font-family:FangSong;color:#00B050'>W20 <span class=SpellE>FangSong</span><o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:22.0pt;line-height:115%;
font-family:"Gungsuh","serif";color:#00B0F0'>W22 <span class=SpellE>Gungsuh</span><o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:24.0pt;line-height:115%;
font-family:GungsuhChe;color:#0070C0'>W24 <span class=SpellE>GungsuhChe</span></span><span
style='font-size:24.0pt;line-height:115%;font-family:"Franklin Gothic Heavy","sans-serif";
mso-fareast-font-family:Batang;color:#0070C0'> <o:p></o:p></span></p>
<p class=MsoNormalCxSpMiddle><span style='font-size:26.0pt;line-height:115%;
font-family:"Times New Roman","serif";mso-fareast-font-family:Batang;
color:#002060'>W26 Times New Roman<o:p></o:p></span></p>
<p class=MsoNormalCxSpLast><span style='font-size:28.0pt;line-height:115%;
font-family:"Franklin Gothic Heavy","sans-serif";mso-fareast-font-family:Batang;
color:#7030A0'>W28 Franklin <span class=SpellE>Gothic</span><span
style='mso-spacerun:yes'> </span>Heavy<o:p></o:p></span></p>
</div>
</body>
</html>
Modified initial function and additional second function for German telekom EMail workaround
Function codes discussed in this Post:
http://www.excelfox.com/forum/showth...0527#post10527
Code:
Public Function MyLengthyStreaming() As String
Rem 1 Make a long string from a Microsoft Word doc
'1(i) makes available the Library of stuff, objects, Methods etc.
Dim Fso As Object: Set Fso = CreateObject("Scripting.FileSystemObject")
'1(ii) makes the big File Object " Full path and file name of Word doc saved as .htm "
Dim FileObject As Object: Set FileObject = Fso.GetFile("G:\ALERMK2014Marz2016\NeueBlancoAb27.01.2014\AbJan2016\ProMessageTelekom.htm"): Debug.Print FileObject
'1(iii) sets up the data "stream highway"
Dim Textreme As Object: Set Textreme = FileObject.OpenAsTextStream(iomode:=1, Format:=-2) ' reading only, Opens using system default https://msdn.microsoft.com/en-us/library/aa265341(v=vs.60).aspx
'1(iv) pulls in the data, in our case into a simple string variable
Let MyLengthyStreaming = Textreme.ReadAll ' Let MyLengthyStreaming = Replace(MyLengthyStreaming, "align=center x:publishsource=", "align=left x:publishsource=")
Textreme.Close
Set Textreme = Nothing
Set Fso = Nothing
Let MyLengthyStreaming = MyLenghtyDiesScreaming_Telekom(MyLengthyStreaming) ' After this code line is done we have the string modified so that it gives the correct results in German Telekom Freemail t-online.de
Rem 2 possible additions to MyLengthyStreaming
'
'
'
'
End Function
'
' The second function below is mainly intended to make a modification to get the correct results in German Telekom Freemail t-online.de , but also the large html text not required from the start and a small amount at the end is also removed. (It does not need to be removed as it appears that it is ignored)
Public Function MyLenghtyDiesScreaming_Telekom(ByVal MyLengfyScream As String) As String ' Effectively this Dim's MyLenghtyDiesScreaming_Telekom as a String variable and MyLenghtyDiesScreaming_Telekom can be used as such in this function code. Assigning a variable to this in a main code will cause the value held by VBA in the variable MyLenghtyDiesScreaming_Telekom at that point to be out in the assigned variable, but fist the main code will be paused at this "calling" code line whilst the Function code is carried out. So we have the chance to do something in the function to fill that variable, MyLenghtyDiesScreaming_Telekom . We can take one or more things in in the ( ) to use . In this case we want to take a string in and then return it modified , hence the last code line is simply MyLenghtyDiesScreaming_Telekom = MyLengfyScream
Dim CntPus As Long ' A number constant for the positions of characters used in a couple of places. Long is very simple to handle, - final memory "size" type is known (123.456 and 000.001 have same "size" computer memory ) , and so a Address suggestion can be given for the next line when the variable is filled in. '( Long is a Big whole Number limit (-2,147,483,648 to 2,147,483,647) If you need some sort of validation the value should only be within the range of a Byte/Integer otherwise there's no point using anything but Long.--upon/after 32-bit, Integers (Short) need converted internally anyways, so a Long is actually faster. ) https://www.mrexcel.com/forum/excel-questions/803662-byte-backward-loop-4.html
' Take off all the first lot on unecessary required HTML
Let CntPus = InStr(1, MyLengfyScream, "<div class=WordSection1>", vbTextCompare) ' return the position (starting from the fist character , Looking in the string , for that text , doing a text comparison which is case insensitive )
Let MyLengfyScream = Mid(MyLengfyScream, CntPus + 26)
' Add to this array below all possible fonts in quotes I have to use Variant type as the VBA Array( ) Method used below pruduces a 1 dimmansional Array of Variant types. I may assing a dynamic Array of variant types to what the VBA Array( ) Function returns
Dim arsFonts() As Variant: Let arsFonts() = Array("""Andale Mono""", """Times""", """serif""", """Arial""", """sans-serif""", """Arial Black""", """Comic Sans MS""", """Courier New""", """Georgia""", """Helvetics""", """Impact""", """Tahoma""", """Terminal""", """monaco""", """Times New Roman""", """Trebuchet MS""", """Verdana""", """Arial Narrow""", """Batang""", """Calibri""", """Cambri Math""", """FangSong""", """Gungsuh""", """GungsuhChe""", """Franklin Gothic Heavy""")
Dim arschFont As Variant ' It is a required syntax that the stearing element in the For Each loop to be Variant type or Object type, ( the object type can be Object or ther specific object. if I do not specify specifically then VBVA defaults to all simialr ngs in the thing you are going through ' http://www.excelfox.com/forum/showthread.php/2157-Re-Defining-multiple-variables-in-VBA?p=10192#post10192
' Look for things like "Font" and replace the " with an arbitrary string like ScrotumSack , so "Font" becomes ScrotumSackFontScrotumSack
For Each arschFont In arsFonts() ' Loop to look for and replce each Font held in "s with the same font but in 's
If InStr(1, MyLengfyScream, arschFont, vbTextCompare) > 1 Then ' case a Font in quotes , like "font" , so for that font in quotes... and ...
Dim FontSingleScrQuote As String: Let FontSingleScrQuote = Replace(arschFont, """", "ScrotumSack", 1, 2, vbBinaryCompare) ' ...Make a that font in ScrotumSack like ScrotumSackfontScrotumSack ... and ... I use ScrotumSack arbitrarily as I find it funny and I doubt anyone else does.. does use it, so I won't have that already in the text. I cannot go straight to using the ' because if I do that now then I won't be able to distinguisch the existing ' which I want to change to " in the next bit
Let MyLengfyScream = Replace(MyLengfyScream, arschFont, FontSingleScrQuote, 1, -1, vbTextCompare) ' .... replace all "fonts" with ScrotumSackfontsScrotumSack
Else ' no arsch Font in My lengfy scream
End If
Next arschFont
' replace any ' with " This is mainly intended to replace enclosed in ' strings like askjhhsa ='kasjhScrotumSackfontScrotumSackfcb qwq 63 = Bollocks' jdgsjag with askjhhsa ="kasjhScrotumSackfontScrotumSackfcb qwq 63 = Bollocks" jdgsjag
Let MyLengfyScream = Replace(MyLengfyScream, "'", """", 1, -1, vbTextCompare)
' Scratch my Scrotum sacks, - that is to say replace them with a with ' I can do this now since the existing ' have been changeed to " so the ScrotumSacks , which were originally "s , can now be chnged to 's
Let MyLengfyScream = Replace(MyLengfyScream, "ScrotumSack", "'", 1, -1, vbTextCompare)
' take last unecessary bit of HTML off
Let CntPus = InStrRev(MyLengfyScream, "</div>", -1, vbTextCompare) ' get the position counting from the left but looking from the right ( in MyLengfyScream , of </div> , start looking from end , make text comparison which is case insensitive )
Let MyLengfyScream = Left(MyLengfyScream, CntPus - 1)
' Finally we set here what is actually returned by virtue of effectively putting something in the pseudo variable MyLenghtyDiesScreaming_Telekom
Let MyLenghtyDiesScreaming_Telekom = MyLengfyScream
End Function
Code for RaghavendraPrabhu Make macro create unique files only once.If files exist amend them.
Code for RaghavendraPrabhu
For this Post in main Excel Forum
http://www.excelfox.com/forum/showth...ist-amend-them
Code:
Option Explicit
' https://stackoverflow.com/questions/46368771/how-to-create-a-new-workbook-for-each-unique-value-in-a-column?rq=1
' http://www.excelfox.com/forum/showthread.php/2237-Make-macro-create-unique-files-only-once-If-files-exist-amend-them
Sub ExportByName()
Dim unique(1000) As String
Dim wb(1000) As Workbook
Dim ws As Worksheet
Dim x As Long
Dim y As Long
Dim ct As Long
Dim uCol As Long
'On Error GoTo ErrHandler
'Application.ScreenUpdating = False
'Application.Calculation = xlCalculationManual
'Your main worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")
'Column G
uCol = 7
ct = 0
'get a unique list of users
For x = 2 To ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row
If CountIfArray(ActiveSheet.Cells(x, uCol), unique()) = 0 Then
unique(ct) = ActiveSheet.Cells(x, uCol).Text
ct = ct + 1
End If
Next x
'loop through the unique list
For x = 0 To ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row - 1
If unique(x) <> "" Then
If Dir(ThisWorkbook.Path & "\" & unique(x) & ".xlsx", vbNormal) = "" Then 'If unique file does not exist
'add workbook
Workbooks.Add: Set wb(x) = ActiveWorkbook
ws.Range(ws.Cells(1, 1), ws.Cells(1, uCol)).Copy wb(x).Sheets(1).Cells(1, 1)
Else ' open workbook
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & unique(x) & ".xlsx"
Set wb(x) = ActiveWorkbook
End If
'loop to find matching items in ws and copy over
For y = 2 To ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row
If ws.Cells(y, uCol) = unique(x) Then
'copy full formula over
'ws.Range(ws.Cells(y, 1), ws.Cells(y, uCol)).Copy wb(x).Sheets(1).Cells(WorksheetFunction.CountA(wb(x).Sheets(1).Columns(uCol)) + 1, 1)
'to copy and paste values
ws.Range(ws.Cells(y, 1), ws.Cells(y, uCol)).Copy
wb(x).Sheets(1).Cells(WorksheetFunction.CountA(wb(x).Sheets(1).Columns(uCol)) + 1, 1).PasteSpecial (xlPasteValues)
wb(x).Sheets(1).Cells(WorksheetFunction.CountA(wb(x).Sheets(1).Columns(uCol)), 6).Value = Format(Date, "dd mmm yyyy")
End If
Next y
'autofit
wb(x).Sheets(1).Columns.AutoFit
'save when done
wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' & " " & Format(Now(), "mm-dd-yy")
wb(x).Close SaveChanges:=True
Else
'once reaching blank parts of the array, quit loop
Exit For
End If
Next x
' Master File change to current date:
Dim Lr As Long: Let Lr = ws.Cells(Rows.Count, 6).End(xlUp).Row
ws.Range("F2:F" & Lr & "").Value = Format(Date, "dd mmm yyyy")
' Application.ScreenUpdating = True
' Application.Calculation = xlCalculationAutomatic
ErrHandler:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Public Function CountIfArray(lookup_value As String, lookup_array As Variant)
CountIfArray = Application.Count(Application.Match(lookup_value, lookup_array, 0))
End Function
Second Code for RaghavendraPrabhu Make macro create unique files only once.If files exist amend them.
Second Code for RaghavendraPrabhu
For this Post in main Excel Forum
http://www.excelfox.com/forum/showth...0541#post10541
Code:
Option Explicit
' https://stackoverflow.com/questions/46368771/how-to-create-a-new-workbook-for-each-unique-value-in-a-column?rq=1
' http://www.excelfox.com/forum/showthread.php/2237-Make-macro-create-unique-files-only-once-If-files-exist-amend-them
Sub ExportByName()
Dim unique(1000) As String
Dim wb(1000) As Workbook
Dim ws As Worksheet
Dim x As Long
Dim y As Long
Dim ct As Long
Dim uCol As Long
'On Error GoTo ErrHandler
'Application.ScreenUpdating = False
'Application.Calculation = xlCalculationManual
'Your main worksheet info.
Set ws = ActiveWorkbook.Sheets("Sheet1")
Let uCol = 7 'Column G
Dim Strt As Long, Stp As Long: Let Strt = ws.Cells(ws.Rows.Count, 6).End(xlUp).Row + 1: Stp = ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row
Let ws.Range("F" & Strt & ":F" & Stp & "").Value = Format(Date, "dd mmm yyyy") ' adding the dates to the new rows
Let ws.Range("A" & Strt & ":A" & Stp & "").Value = Application.Evaluate("=row(" & Strt & ":" & Stp & ")-1") ' adding the S.no. to the new rows
ct = 0
'get a unique list of users
For x = 2 To ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row
If CountIfArray(ActiveSheet.Cells(x, uCol), unique()) = 0 Then
unique(ct) = ActiveSheet.Cells(x, uCol).Text
ct = ct + 1
End If
Next x
'loop through the unique list
For x = 0 To ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row - 1
If unique(x) <> "" Then
If Dir(ThisWorkbook.Path & "\" & unique(x) & ".xlsx", vbNormal) = "" Then 'If unique file does not exist
'add workbook
Workbooks.Add: Set wb(x) = ActiveWorkbook
ws.Range(ws.Cells(1, 1), ws.Cells(1, uCol)).Copy wb(x).Sheets(1).Cells(1, 1)
Else ' open workbook
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & unique(x) & ".xlsx"
Set wb(x) = ActiveWorkbook
End If
'loop to find matching items in ws starting from where column F ( 6 ) has no entry and copy over
'For y = ws.Cells(ws.Rows.Count, 6).End(xlUp).Row + 1 To ws.Cells(ws.Rows.Count, uCol).End(xlUp).Row
For y = Strt To Stp
If ws.Cells(y, uCol) = unique(x) Then
'copy full formula over
'ws.Range(ws.Cells(y, 1), ws.Cells(y, uCol)).Copy wb(x).Sheets(1).Cells(WorksheetFunction.CountA(wb(x).Sheets(1).Columns(uCol)) + 1, 1)
'to copy and paste values
ws.Range(ws.Cells(y, 1), ws.Cells(y, uCol)).Copy
wb(x).Sheets(1).Cells(WorksheetFunction.CountA(wb(x).Sheets(1).Columns(uCol)) + 1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
'wb(x).Sheets(1).Cells(WorksheetFunction.CountA(wb(x).Sheets(1).Columns(uCol)), 6).Value = Format(Date, "dd mmm yyyy")
End If
Next y
'autofit
wb(x).Sheets(1).Columns.AutoFit
'save when done
wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' & " " & Format(Now(), "mm-dd-yy")
wb(x).Close SaveChanges:=True
Else
'once reaching blank parts of the array, quit loop
Exit For
End If
Next x
'' Master File change to current date:
'Dim Lr As Long: Let Lr = ws.Cells(Rows.Count, 6).End(xlUp).Row
' ws.Range("F2:F" & Lr & "").Value = Format(Date, "dd mmm yyyy")
' Application.ScreenUpdating = True
' Application.Calculation = xlCalculationAutomatic
ErrHandler:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Public Function CountIfArray(lookup_value As String, lookup_array As Variant)
CountIfArray = Application.Count(Application.Match(lookup_value, lookup_array, 0))
End Function
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
https://www.youtube.com/watch?v=QjEWAJ3d-jw&lc=UgxJLVpwY8fIla7G-pN4AaABAg.9BLeCWVhxdG9wgNsaS3Lp1
https://www.youtube.com/watch?v=QjEWAJ3d-jw&lc=UgxJLVpwY8fIla7G-pN4AaABAg.9BLeCWVhxdG9wgR1EPUkhw
https://www.youtube.com/watch?v=QjEWAJ3d-jw&lc=UgxJLVpwY8fIla7G-pN4AaABAg.9BLeCWVhxdG9wgNe_XC-jK
https://www.youtube.com/watch?v=QjEWAJ3d-jw&lc=UgxJLVpwY8fIla7G-pN4AaABAg.9BLeCWVhxdG9wgNPOdiDuv
https://www.youtube.com/watch?v=QjEWAJ3d-jw&lc=UgxJLVpwY8fIla7G-pN4AaABAg.9BLeCWVhxdG9wgN7AC7wAc
https://www.youtube.com/watch?v=bs-urI_o8jo&lc=UgyBACXgNY4j_cHgH5J4AaABAg.9oTkVdzfqfm 9wlhQrYJP3M
https://www.youtube.com/watch?v=bs-urI_o8jo&lc=UgxYgiEZuS9I3xkjJv54AaABAg
https://www.youtube.com/watch?v=DVFFApHzYVk&lc=Ugyi578yhj9zShmhuPl4AaABAg
https://www.youtube.com/watch?v=GqzeFYWjTxI&lc=UgxvxlnuTRWiV6MUZB14AaABAg
https://www.youtube.com/watch?v=_8i1fVEi5WY&lc=Ugz0ptwE5J-2CpX4Lzh4AaABAg
https://www.youtube.com/watch?v=0ltJS7uHfK4&lc=UgxoHAw8RwR7VmyVBUt4AaABAg. 9C-br0lEl8V9xI0_6pCaR9
https://www.youtube.com/watch?v=0ltJS7uHfK4&lc=Ugz5DDCMqmHLeEjUU8t4AaABAg. 9bl7m03Onql9xI-ar3Z0ME
https://www.youtube.com/watch?v=0ltJS7uHfK4&lc=UgxYnpd9leriPmc8rPd4AaABAg. 9gdrYDocLIm9xI-2ZpVF-q
https://www.youtube.com/watch?v=0ltJS7uHfK4&lc=UgyjoPLjNeIAOMVH_u94AaABAg. 9id_Q3FO8Lp9xHyeYSuv1I
https://www.reddit.com/r/windowsxp/comments/pexq9q/comment/k81ybvj/?utm_source=reddit&utm_medium=web2x&context=3
https://www.youtube.com/watch?v=bs-urI_o8jo&lc=UgxYgiEZuS9I3xkjJv54AaABAg
https://www.youtube.com/watch?v=bs-urI_o8jo&lc=UgyBACXgNY4j_cHgH5J4AaABAg.9oTkVdzfqfm 9wlhQrYJP3M
ttps://www.youtube.com/watch?v=LP9fz2DCMBE
https://www.youtube.com/watch?v=LP9fz2DCMBE&lc=UgzbPgJUMCztIOQDym14AaABAg
https://www.youtube.com/watch?v=LP9fz2DCMBE&lc=UgzbPgJUMCztIOQDym14AaABAg. 9wdo_rWgxSH9wdpcYqrvp8
ttps://www.youtube.com/watch?v=bFxnXH4-L1A
https://www.youtube.com/watch?v=bFxnXH4-L1A&lc=UgxuODisjo6cvom7O-B4AaABAg.9w_AeS3JiK09wdi2XviwLG
https://www.youtube.com/watch?v=bFxnXH4-L1A&lc=UgxBU39bTptFznDC1PJ4AaABAg
ttps://www.youtube.com/watch?v=GqzeFYWjTxI
https://www.youtube.com/watch?v=GqzeFYWjTxI&lc=UgwJnJDJ5JT8hFvibt14AaABAg
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
3 Attachment(s)
Example VBA available checked Libraries Info, (Helpful for Later Early Binding)
Some sample data for other Posts and Threads:
http://www.excelfox.com/forum/showth...ing-Techniques
Using this code: _..
Code:
Sub Its() ' snb 2017
Dim It As Variant
For Each It In ThisWorkbook.VBProject.References
Dim strIts As String
Let strIts = strIts & "Description:" & vbTab & It.Description & vbCr & "Name:" & vbTab & vbTab & It.Name & vbCr & "Buitin:" & vbTab & vbTab & It.BuiltIn & vbCr & "Minor:" & vbTab & vbTab & It.minor & vbCr & "Major:" & vbTab & vbTab & It.major & vbCr & "FullPath:" & vbTab & vbTab & It.fullpath & vbCr & "GUID:" & vbTab & vbTab & It.GUID & vbCr & "Type:" & vbTab & vbTab & It.Type & vbCr & "Isbroken:" & vbTab & vbTab & It.isbroken & vbCr & vbCr
Next It
Debug.Print strIts ' From VB Editor Ctrl+g to get Immediate Window from which info can be copied
End Sub
_.. you can get text displayed in the Immediate Window which you can copy.
Some example VBA available checked Libraries:
VBACheckedAvailableLibraries_1.JPG : https://imgur.com/scnHhHR
Attachment 1992
Here below the code output based on running in a Workbook which has the libraries checked as in the above screenshot:
Code:
Description: Visual Basic For Applications
Name: VBA
Buitin: Wahr
Minor: 0
Major: 4
FullPath: C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL
GUID: {000204EF-0000-0000-C000-000000000046}
Type: 0
Isbroken: Falsch
Description: Microsoft Excel 12.0 Object Library
Name: Excel
Buitin: Wahr
Minor: 6
Major: 1
FullPath: C:\Program Files\Microsoft Office\Office12\EXCEL.EXE
GUID: {00020813-0000-0000-C000-000000000046}
Type: 0
Isbroken: Falsch
Description: OLE Automation
Name: stdole
Buitin: Falsch
Minor: 0
Major: 2
FullPath: C:\Windows\system32\stdole2.tlb
GUID: {00020430-0000-0000-C000-000000000046}
Type: 0
Isbroken: Falsch
Description: Microsoft Office 12.0 Object Library
Name: Office
Buitin: Falsch
Minor: 4
Major: 2
FullPath: C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSO.DLL
GUID: {2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}
Type: 0
Isbroken: Falsch
Description: Microsoft HTML Object Library
Name: MSHTML
Buitin: Falsch
Minor: 0
Major: 4
FullPath: C:\Windows\system32\mshtml.tlb
GUID: {3050F1C5-98B5-11CF-BB82-00AA00BDCE0B}
Type: 0
Isbroken: Falsch
Description: Microsoft XML, v6.0
Name: MSXML2
Buitin: Falsch
Minor: 0
Major: 6
FullPath: C:\Windows\System32\msxml6.dll
GUID: {F5078F18-C551-11D3-89B9-0000F81FE221}
Type: 0
Isbroken: Falsch
Description: Microsoft Forms 2.0 Object Library
Name: MSForms
Buitin: Falsch
Minor: 0
Major: 2
FullPath: C:\Windows\system32\FM20.DLL
GUID: {0D452EE1-E08F-101A-852E-02608C4D0BB4}
Type: 0
Isbroken: Falsch
This infomation above can be useful for Later Early Binding.
_.__________________
Note that for Broken Libraries the GUID infomation appears to be available also, so I would tend to use .AddFromguid for Later Early Binding simply as I may heve a better chance of collecting before hand the GUID infomation than I do for other properties:
MidTestJeffMoseToolsBroke.JPG : https://imgur.com/ZKq8BTr
Attachment 1993
MostPropertiesOfbrokenreferencesDontWork.JPG : https://imgur.com/FcVjDLl
Attachment 1994
In this example , the last two Library references were broken, but the GUID infomation is still available
Results for RaghavendraPrabhu
Table of final results for solution to this Thread:
http://www.excelfox.com/forum/showth...0548#post10548
Using Excel 2007 32 bit
S No |
Item |
Price |
Qty |
Total |
Date Distributed |
Task1 |
Task2 |
Task3 |
Task4 |
Date Tasks Completed |
Date Consolidated |
Comments |
Team Member |
1 |
A1 |
$ 25.00 |
7 |
$ 175.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
22.Mrz 18 |
|
Raghu |
2 |
A5 |
$ 95.00 |
52 |
$ 4,940.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
22.Mrz 18 |
|
Raghu |
3 |
B1 |
$ 985.00 |
65 |
$ 64,025.00 |
17. Mrz 18 |
|
|
|
|
|
|
|
Raghu |
4 |
B5 |
$ 85.00 |
7 |
$ 595.00 |
18. Mrz 18 |
Done |
N/A |
Done |
N/A |
18.Mrz 18 |
22.Mrz 18 |
|
Raghu |
5 |
C1 |
$ 41.00 |
52 |
$ 2,132.00 |
18. Mrz 18 |
N/A |
Done |
N/A |
Done |
18.Mrz 18 |
22.Mrz 18 |
|
Raghu |
6 |
C5 |
$ 655.00 |
65 |
$ 42,575.00 |
20. Mrz 18 |
Done |
N/A |
Done |
N/A |
20.Mrz 18 |
22.Mrz 18 |
|
Raghu |
7 |
D1 |
$ 1,258.00 |
7 |
$ 8,806.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
22.Mrz 18 |
|
Raghu |
8 |
D5 |
$ 44.00 |
52 |
$ 2,288.00 |
22. Mrz 18 |
|
|
|
|
|
|
|
Raghu |
9 |
D10 |
$ 55.00 |
22 |
$ 1,210.00 |
22. Mrz 18 |
N/A |
Done |
N/A |
Done |
22.Mrz 18 |
22.Mrz 18 |
|
Raghu |
10 |
A3 |
$ 22.00 |
9 |
$ 198.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
|
|
Raju |
11 |
A7 |
$ 11.00 |
12 |
$ 132.00 |
17. Mrz 18 |
|
|
|
|
|
|
|
Raju |
12 |
B3 |
$ 223.00 |
85 |
$ 18,955.00 |
17. Mrz 18 |
N/A |
Done |
N/A |
Done |
17.Mrz 18 |
|
|
Raju |
13 |
B7 |
$ 63.00 |
9 |
$ 567.00 |
18. Mrz 18 |
Done |
N/A |
Done |
N/A |
18.Mrz 18 |
|
|
Raju |
14 |
C3 |
$ 96.00 |
12 |
$ 1,152.00 |
18. Mrz 18 |
N/A |
Done |
N/A |
Done |
18.Mrz 18 |
|
|
Raju |
15 |
C7 |
$ 11.00 |
85 |
$ 935.00 |
20. Mrz 18 |
Done |
N/A |
Done |
N/A |
20.Mrz 18 |
|
|
Raju |
16 |
D3 |
$ 332.00 |
9 |
$ 2,988.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
|
|
Raju |
17 |
D7 |
$ 566.00 |
12 |
$ 6,792.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
22.Mrz 18 |
|
|
Raju |
18 |
A4 |
$ 45.00 |
41 |
$ 1,845.00 |
17. Mrz 18 |
|
|
|
|
|
|
|
Ramesh |
19 |
A8 |
$ 36.00 |
32 |
$ 1,152.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
|
|
Ramesh |
20 |
B4 |
$ 41.00 |
96 |
$ 3,936.00 |
17. Mrz 18 |
N/A |
Done |
N/A |
Done |
17.Mrz 18 |
|
|
Ramesh |
21 |
B8 |
$ 52.00 |
41 |
$ 2,132.00 |
18. Mrz 18 |
Done |
N/A |
Done |
N/A |
18.Mrz 18 |
|
|
Ramesh |
22 |
C4 |
$ 85.00 |
32 |
$ 2,720.00 |
18. Mrz 18 |
N/A |
Done |
N/A |
Done |
18.Mrz 18 |
|
|
Ramesh |
23 |
C8 |
$ 458.00 |
96 |
$ 43,968.00 |
20. Mrz 18 |
Done |
N/A |
Done |
N/A |
20.Mrz 18 |
|
|
Ramesh |
24 |
D4 |
$ 22.00 |
41 |
$ 902.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
|
|
Ramesh |
25 |
D8 |
$ 332.00 |
32 |
$ 10,624.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
22.Mrz 18 |
|
|
Ramesh |
26 |
A2 |
$ 35.00 |
8 |
$ 280.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
|
|
Ravi |
27 |
A6 |
$ 78.00 |
63 |
$ 4,914.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
|
|
Ravi |
28 |
B2 |
$ 11.00 |
47 |
$ 517.00 |
17. Mrz 18 |
N/A |
Done |
N/A |
Done |
17.Mrz 18 |
|
|
Ravi |
29 |
B6 |
$ 96.00 |
8 |
$ 768.00 |
18. Mrz 18 |
|
|
|
|
|
|
|
Ravi |
30 |
C2 |
$ 74.00 |
63 |
$ 4,662.00 |
18. Mrz 18 |
|
|
|
|
|
|
|
Ravi |
31 |
C6 |
$ 365.00 |
47 |
$ 17,155.00 |
20. Mrz 18 |
|
|
|
|
|
|
|
Ravi |
32 |
D2 |
$ 33.00 |
8 |
$ 264.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
|
|
Ravi |
33 |
D6 |
$ 55.00 |
63 |
$ 3,465.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
22.Mrz 18 |
|
|
Ravi |
34 |
A9 |
$ 12.00 |
65 |
$ 780.00 |
22. Mrz 18 |
|
|
|
|
|
|
|
Sangeeta |
35 |
B9 |
$ 45.00 |
47 |
$ 2,115.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
21.Mrz 18 |
|
|
Sangeeta |
36 |
C9 |
$ 56.00 |
85 |
$ 4,760.00 |
22. Mrz 18 |
N/A |
Done |
N/A |
Done |
21.Mrz 18 |
|
|
Sangeeta |
37 |
D9 |
$ 89.00 |
96 |
$ 8,544.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
21.Mrz 18 |
|
|
Sangeeta |
38 |
A10 |
$ 25.00 |
3 |
$ 75.00 |
22. Mrz 18 |
N/A |
Done |
N/A |
Done |
21.Mrz 18 |
|
|
Sangeeta |
Worksheet: Sheet1
Final Results for Code 2b) for Raghavendra
Final Results for this Thread Post
http://www.excelfox.com/forum/showth...0575#post10575
S No |
Item |
Price |
Qty |
Total |
Date Distributed |
Task1 |
Task2 |
Task3 |
Task4 |
Date Tasks Completed |
Date Consolidated |
Comments |
Team Member |
1 |
A1 |
$ 25.00 |
7 |
$ 175.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
24.Mrz 18 |
|
Raghu |
2 |
A5 |
$ 95.00 |
52 |
$ 4,940.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
24.Mrz 18 |
|
Raghu |
3 |
B1 |
$ 985.00 |
65 |
$ 64,025.00 |
17. Mrz 18 |
|
|
|
|
|
|
|
Raghu |
4 |
B5 |
$ 85.00 |
7 |
$ 595.00 |
18. Mrz 18 |
Done |
N/A |
Done |
N/A |
18.Mrz 18 |
24.Mrz 18 |
|
Raghu |
5 |
C1 |
$ 41.00 |
52 |
$ 2,132.00 |
18. Mrz 18 |
N/A |
Done |
N/A |
Done |
18.Mrz 18 |
24.Mrz 18 |
|
Raghu |
6 |
C5 |
$ 655.00 |
65 |
$ 42,575.00 |
20. Mrz 18 |
Done |
N/A |
Done |
N/A |
20.Mrz 18 |
24.Mrz 18 |
|
Raghu |
7 |
D1 |
$ 1,258.00 |
7 |
$ 8,806.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
24.Mrz 18 |
|
Raghu |
8 |
D5 |
$ 44.00 |
52 |
$ 2,288.00 |
22. Mrz 18 |
|
|
|
|
|
|
|
Raghu |
9 |
D10 |
$ 55.00 |
22 |
$ 1,210.00 |
22. Mrz 18 |
N/A |
Done |
N/A |
Done |
22.Mrz 18 |
24.Mrz 18 |
|
Raghu |
10 |
A3 |
$ 22.00 |
9 |
$ 198.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
24.Mrz 18 |
|
Raju |
11 |
A7 |
$ 11.00 |
12 |
$ 132.00 |
17. Mrz 18 |
|
|
|
|
|
|
|
Raju |
12 |
B3 |
$ 223.00 |
85 |
$ 18,955.00 |
17. Mrz 18 |
N/A |
Done |
N/A |
Done |
17.Mrz 18 |
24.Mrz 18 |
|
Raju |
13 |
B7 |
$ 63.00 |
9 |
$ 567.00 |
18. Mrz 18 |
Done |
N/A |
Done |
N/A |
18.Mrz 18 |
24.Mrz 18 |
|
Raju |
14 |
C3 |
$ 96.00 |
12 |
$ 1,152.00 |
18. Mrz 18 |
N/A |
Done |
N/A |
Done |
18.Mrz 18 |
24.Mrz 18 |
|
Raju |
15 |
C7 |
$ 11.00 |
85 |
$ 935.00 |
20. Mrz 18 |
Done |
N/A |
Done |
N/A |
20.Mrz 18 |
24.Mrz 18 |
|
Raju |
16 |
D3 |
$ 332.00 |
9 |
$ 2,988.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
24.Mrz 18 |
|
Raju |
17 |
D7 |
$ 566.00 |
12 |
$ 6,792.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
22.Mrz 18 |
24.Mrz 18 |
|
Raju |
18 |
A4 |
$ 45.00 |
41 |
$ 1,845.00 |
17. Mrz 18 |
|
|
|
|
|
|
|
Ramesh |
19 |
A8 |
$ 36.00 |
32 |
$ 1,152.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
20 |
B4 |
$ 41.00 |
96 |
$ 3,936.00 |
17. Mrz 18 |
N/A |
Done |
N/A |
Done |
17.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
21 |
B8 |
$ 52.00 |
41 |
$ 2,132.00 |
18. Mrz 18 |
Done |
N/A |
Done |
N/A |
18.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
22 |
C4 |
$ 85.00 |
32 |
$ 2,720.00 |
18. Mrz 18 |
N/A |
Done |
N/A |
Done |
18.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
23 |
C8 |
$ 458.00 |
96 |
$ 43,968.00 |
20. Mrz 18 |
Done |
N/A |
Done |
N/A |
20.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
24 |
D4 |
$ 22.00 |
41 |
$ 902.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
25 |
D8 |
$ 332.00 |
32 |
$ 10,624.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
22.Mrz 18 |
24.Mrz 18 |
|
Ramesh |
26 |
A2 |
$ 35.00 |
8 |
$ 280.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
24.Mrz 18 |
|
Ravi |
27 |
A6 |
$ 78.00 |
63 |
$ 4,914.00 |
17. Mrz 18 |
Done |
N/A |
Done |
N/A |
17.Mrz 18 |
24.Mrz 18 |
|
Ravi |
28 |
B2 |
$ 11.00 |
47 |
$ 517.00 |
17. Mrz 18 |
N/A |
Done |
N/A |
Done |
17.Mrz 18 |
24.Mrz 18 |
|
Ravi |
29 |
B6 |
$ 96.00 |
8 |
$ 768.00 |
18. Mrz 18 |
|
|
|
|
|
|
|
Ravi |
30 |
C2 |
$ 74.00 |
63 |
$ 4,662.00 |
18. Mrz 18 |
|
|
|
|
|
|
|
Ravi |
31 |
C6 |
$ 365.00 |
47 |
$ 17,155.00 |
20. Mrz 18 |
|
|
|
|
|
|
|
Ravi |
32 |
D2 |
$ 33.00 |
8 |
$ 264.00 |
20. Mrz 18 |
N/A |
Done |
N/A |
Done |
20.Mrz 18 |
24.Mrz 18 |
|
Ravi |
33 |
D6 |
$ 55.00 |
63 |
$ 3,465.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
22.Mrz 18 |
24.Mrz 18 |
|
Ravi |
34 |
A9 |
$ 12.00 |
65 |
$ 780.00 |
22. Mrz 18 |
|
|
|
|
|
|
|
Sangeeta |
35 |
B9 |
$ 45.00 |
47 |
$ 2,115.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
21.Mrz 18 |
24.Mrz 18 |
|
Sangeeta |
36 |
C9 |
$ 56.00 |
85 |
$ 4,760.00 |
22. Mrz 18 |
N/A |
Done |
N/A |
Done |
21.Mrz 18 |
24.Mrz 18 |
|
Sangeeta |
37 |
D9 |
$ 89.00 |
96 |
$ 8,544.00 |
22. Mrz 18 |
Done |
N/A |
Done |
N/A |
21.Mrz 18 |
24.Mrz 18 |
|
Sangeeta |
38 |
A10 |
$ 25.00 |
3 |
$ 75.00 |
22. Mrz 18 |
N/A |
Done |
N/A |
Done |
21.Mrz 18 |
24.Mrz 18 |
|
Sangeeta |
Worksheet: Sheet1