I'm working on a management program for a small company. As one of it's feature i need a procedure which send a prewritten SMS to it's employees using a web service like fullonsms.com (10 employees at a time.).
I used Scheduled Task to set up my spreadsheet to open daily. I have the code with assistance to pull out the due date items and place them into an email.
I have come across XLSTART/AUTOEXEC/ACTIVATE...ETC... But cannot figure out the code that will automatically "enabling macro" once Scheduled Task opens the spreadsheet?
Then once the macro runs, the email with the due dates, how can this auto send without user interaction? (currently I would have to hit send)
I am trying to make the process totally automated to open the spreadsheet at a certain time, send the email with due dates and close the spreadsheet.
Following code in ThisWorkbook--
Private Sub Workbook_Open() Check_Date_Send_Mail End Sub Code in Module1--
Option Explicit Sub Check_Date_Send_Mail() Dim wbBook As Workbook Dim wsSheet As Worksheet Dim rnDate As Range, rnValue As Range Dim stAddress As String, stMsg As String Dim stRecipient As String, stSubject As String Dim stPost As String Set wbBook = ThisWorkbook Set wsSheet = wbBook.Worksheets("Sheet1") With wsSheet Set rnDate = .Range("d2:t23") End With
We use proprietary software to connect to an oracle database. The proprietary software has its own login form. I connect to 4 or 5 different databases randomly throughout the day. I wrote a script that I thought would alleviate my login woes but it doesn't work. The login, password, and database info get sent to the form but they all end up on the login line. Instead of the tab character being sent, I get a Beep generated for each line of code that is supposed to send the tab key code. My code is below and is stored in a *.vbs file.
setwshShell =wScript.CreateObject("WScript.Shell") wshShell.AppActivate "Title Of My Login Form" wScript.Sleep 100 wshShell.SendKeys "My Login Name" wScript.Sleep 500 wshShell.SendKeys "{TAB}" wScript.Sleep 500 wshShell.SendKeys "My Password" wScript.Sleep 500 wshShell.SendKeys "{TAB}" wScript.Sleep 500 wshShell.SendKeys "Name of My Database" wScript.Sleep 500 wshShell.SendKeys "{TAB}" wScript.Sleep 500 wshShell.SendKeys "~"
I am trying to write VBA code that groups cells between blank rows and inserts a message if a string of text (a name) is missing from the entire group. I want the code to search cells in column A and group the cells between blank cells. Use the name I input in an input box as the search criteria and insert a message in the Column C next to the last blank cell in the group and then move on to the next group and highlight the cell in red with bold text. I am including a spreadsheet with an example of what the sheet should look like before and after the code is run.
I have date fields as column labels in a pivot table. When I try to group them I'm only given the option to group by integers and not by months, years etc.
I've had a look at the format settings of the column and they are formatted as date fields.
I have several groups of data in the same sheet. Each group has two blank rows above the first row of data. Each group has column "B" in common (e.g., "Phone" in the example attached). I'd like to add a title/label of "Phone" to the first column in the row immediately preceding the first row of data for that group.
how to use the group box to group a number of option buttons together.
Question is, lets say, i have a total of 4 group box. if i want it to work in such a way where by once 2 option buttons are being selected (1 option selected from each group box), the rest of the option buttons in the 4 group box will be greyed out. is that possible?
I have used a database template from this site and changed it to suit my needs but I have a bit of a problem with some of the code. I know how to update the worksheet with the relevant userform text fields and in another project I did I have successfully sent userform text fields in the body of an email.
For this project I want to update the worksheet AND send an email at the same time. However, using the two pieces of code together is causing an error that I can't seem to solve (using my very limited vba knowledge!). The code I am working on is below and I have highlighted the line that is getting the error message. C
VB: Private Sub cmdSubmit_Click() 'Submit new record Dim ws As Worksheet, lRow As Long, Str As String [code]....
I am trying to write a macro to send mail on every Friday and also on last day of every month. If the last day of the month falls on Saturday or Sunday then the macro should mail on Friday. I have written a separate macro to send a mail. I have also written to check day(ie Monday, Tuesday etc) of today. If today is Friday or month end i can send mail. I dont know how to tell the macro to send mail on friday if the month last date is saturday or sunday.
Sub done() Dim Dat As Date, x As Integer, y As Date, sorry As String Dim str As String sorry = "Today is not friday or month end. So i cannot send mails" str = WeekdayName(Weekday(Now()))
In Col X of the attachment, I have manually entered the count of the rows within each sub group, as determined by the counter in Col W. How can I do this automatically? I need this because when I filter the spread sheet by Rank, I need to know how many selections, of the filter Rank query, were in a sub group of ? number.
I have this massive spreadsheet, with the maximum rows excel will fit on one sheet. In the interest of simplicity, this is what the raw data looks like:
Last First Amount
Jones Jim $1000 Jung Joe $700 White Jon $100 Jones Jim $200 Jones Jan $300 Jung Joe $800 White Jon $200
What I want to do is automatically get excel to group all the same names together. Then I want it to sum all the values for each name, then order by largest total value for each person, then order that by name alphabetically. In other words, the above would look like this after the sort:
Last First Amount Jung Joe $800 Jung Joe $700 Jones Jim $1000 Jones Jim $200 Jones Jan $300 White Jon $200 White Jon $100
Or, if necessary, there could be sum total rows under each name...although I don't have spare rows, so IDK. I could delete some rows if I had to, but would rather not.
Conditional formatting. I want to change the color of a group of cells based on data in another group of cells. Example:
If cells G8 and G9 (which are merged) are between 80% and 94%, then I9,I10,I11 (which are merged) will turn Yellow. Also, under the same scenario, IF G8 and G9 is greater than 94%, then cells I9, I10, I11 will turn Red.
I've created a macro with a custom dialog box, but I don't know how to make the transition from when I make the dialog box pop up, the user enters the information, then they click "Continue" or "Cancel" or whatever it may be, how to do I make it happen from there out?
Do I make the command buttons a boolean and if they click it's true? How do I make it work?
I need in column E the value "complete" but only against the last row of each system from column B, if column D ="draft del" and is not null. For example system V0523 is draft del and so is complete, therefore I would like "complete" in column E row 10.
******** ******************** ************************************************************************>Microsoft Excel - CA_ TDM_ ACQD_TBLDATAMODULE(LEFT JOIN)_all_systems.xls___Running: 11.0 : OS = Windows XP (F)ile (E)dit (V)iew (I)nsert (O)ptions (T)ools (D)ata (W)indow (H)elp (A)boutB2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17= ABCDE1EIACODXA*LSACONXBDM_MGT_STATUSDM_QA_STATUS12EH101-VH71V00V00**3EH101-VH71V00V00**4EH101-VH71V00V00**5EH101-VH71V01V01WIP*6EH101-VH71V01V01WIP*7EH101-VH71V01V01WIP*8EH101-VH71V0523V0523001DRAFT*DEL*9EH101-VH71V0523V0523001DRAFT*DEL*10EH101-VH71V0523V0523001DRAFT*DEL*11EH101-VH71V0552V0552001**12EH101-VH71V0552V0552003**13EH101-VH71V0552V0552005**14EH101-VH71V0552V0552007**15EH101-VH71V0552V0552009**16EH101-VH71V0552V0552011**17EH101-VH71V0552V0552013**CA, TDM, ACQD_TBLDATAMODULE(LEF* [HtmlMaker 2.42] To see the formula in the cells just click on the cells hyperlink or click the Name box PLEASE DO NOT QUOTE THIS TABLE IMAGE ON SAME PAGE! OTHEWISE, ERROR OF JavaScript OCCUR.
I have written a macro in Excel VBA. The code is divided into modules and each module is having various procedures. I'm trying to run a procedure written in modules2 from module1. I'm getting an error message "Expected Variable or Procedure, not module".
The code below is fired from a Worksheet Change Event on cell c18. The cell has a userform calendar control to select Date of Birth. What I want the code to do is check the age at the current date and if it is below 16 or over 25, then show the appropriate message. I cannot use data validation to not allow values outside this age range because there will be instances where a person's details can be added if their age is under 16 or over 25. I just need to alert the inputter in case they are unaware or have inputted incorrectly.
When the message box pops up, if they click Yes then the code should take them to the next cell for inputting. If they click No then it should stay in cell C18 and hopefully pop the calendar back up (I've not tested this bit yet).
The code as it stands brings up the "This person is under 16 years...." message no matter what date of birth is input.
VB: Sub AgeValidation() Dim age As Integer Dim dob As Range Dim AgeMsgAnswer16 As String Dim AgeMsgAnswer25 As String
Set dob = Worksheets("Monitoring Form").Range("c18")
All the code in spacereport project, let me go to File-->Space and then run a report previously added. what i would like to do is, being in the book3 project, execute modules and forms from spacereport project.
I have 2 workbooks open. In the workbook that I am working in I run a macro from a userform to copy a worksheet from the other workbook that is idle in the back ground. I also display another user form that says "please wait" while the macro is running.
The problem I have is even though screen updating is set to false the screen switches over to the other workbook while it is copying the desired sheet and switches back to the workbook I am copying to after the macro completes. Also the "Please Wait" userform disappears while the other workbook is displayed and reappears when the initial workbook returns.
Below is my code which works without issue but perhaps there's a better way to copy between workbooks that would prevent the screen changes?
I am using following event macro and it repeats itself more than 300 times. I am at a stage where I am getting a message "Compile Error, Procedure too large", I tried to break it into two but that's not working.
Option Explicit Option Compare Text Private Sub Worksheet_Change(ByVal Target As Range) Dim cl As Range Dim lng As Long Application.EnableEvents = False
Select Case Target.Address Case "$E$3" If Target.Value = "Yes" Then SelectNumber: lng = Application.InputBox("Please enter number 0 to 100", , , , , , , 1) If IsNumeric(lng) = False Or lng < 0 Or lng > 100 Then GoTo SelectNumber Range("G3") = lng Else: Range("G3") = 0
.................................................(above statements repeat more than 300 times for different cells).............................. Application.EnableEvents = True End Sub
If you run it type in 3.5. What gets returned from the procedure is the number 4 NOT 3.5. I think its related to the data type declaration but i thought a data type of long would include the number 3.5.
I need to extract the filename “My Excel File” from Worksheets(“Sheet1”).Range(“A1”), whose value = C:Documents and Settingsuser1DesktopMy Excel File
I found on Chip Pearson’s site a Function TrimToChar which, using SearchFromRight and a TrimChar of “” will trim OFF the filename “My Excel File”, leaving the Path. But, I think I could use his function to tell me the number of characters in the Path and then use that to extract the remaining characters from the total character length (Mid Function)
Problem is, I don’t have a clue how to call a Function in VBA to work on Worksheets(“Sheet1”).Range(“A1”). How do you set the InputText , TrimChar, & SearchFromRight?????
(eventually, this will be in a loop, where I extract the filename from a Dynamic Named Range (list) in Column A)
I have a worksheet with 15 procedures running after each other and repeated about 50 times. How can I display to the user which procedure is running at the moment. I'm using a form with a label on at the moment, but it doesn't update after the first display.
I have a VBA procedure in Excel that opens PowerPoint presentations and searches each slide for embedded objects, opens, and attempts to save the objects as separate files utilizing the following statement:
Shape.OLEFormat.DoVerb Count
Where Count is the "Open" verb. 90% of the time it works great but there are times where the object simply wont open so the application just stops. I don't get any errors so I don't see how I can trap for this incident.
What I would like to do is emulate something similar to C#'s Try/Catch function.
I am getting an invalid procedure call when the portion of the code that has the ASC function runs. The only change I made to the workbook was to increase the available rows that this macro is totaling from 150 to 300. If I don't increase the rows I do not get the error.
What this code is doing is grouping information from 20 different sheets and totaling them and placing the total in the correct group. Most of the totals will begin with a number, however there will be a small amount that will begin with a letter. The items with letters need to be grouped in the 17000 category.
Dim c As Range Dim rng As Range Set rng = Range(Cells(3, "R"), Cells(lastrow, "R")) For Each c In rng
If c < 20 Then c.Offset(0, 1) = "01000" If (c > 19) * (c < 26) Then c.Offset(0, 1) = "02000" If (c > 25) * (c < 161) Then c.Offset(0, 1) = "02600" If c > 159 Then c.Offset(0, 1) = WorksheetFunction.Text(c, "000") & "00" If Asc(Left(c, 1)) > 58 Then c.Offset(0, 1) = "17000" If c > 170 Then c.Offset(0, 1) = "18000" Next c