I have the following code to compare two columns and delete adjacent rows if 1 is greater than or equal the other...
Sub LastReceipt_GT_Confirmed()
Dim intLstRow As Integer
For intLstRow = Range("E" & Rows.Count).End(xlUp).Row To 2 Step -1 With Range("E" & intLstRow) If .Value > .Offset(0, 1).Value Then .EntireRow.Delete End With Next intLstRow For intLstRow = Range("E" & Rows.Count).End(xlUp).Row To 2 Step -1 .............
does anybody knows an idea how to get the time difference without getting the #NUM! error message? Column A contains Start Time while Column B contains end time, if the time in column A is 11:45 PM and the time in column b is 12:15 AM, then I would get this error message...any idea how can i get the time difference without having to use the [hh]:mm format? i would like to use the hh:mm AM/PM format instead.
Getting a macro to work. I've looked through the forums pretty extensively but ad I'm not too hot with the old vba, I haven't been able to get it working.
I have two worksheets in the same workbook. The first worksheet, let's call it Input, is one for data entry; and the second one, let's call in Output, is formatted for printing.
There are 8 drop down boxes from a data validation list, that when a particular option or three are selected, I need the Output worksheet to unhide only the rows associated with those options.
In trying to get this all to work, I'd added a function in the cell to the left of each option in the Output page that will show the text "show" when that option is selected on the Input page, or the text "hide" if not selected.
I think I could do this with some time with a clunky and long macro, but would prefer to us some kind of "for each" option to hide rows that have "hide" shown in column A, as I'm looking at a range of 100~ cells.
how to create a macro of some sort that will look at a list of data in cloumn A and in Column B then tell me the values of data that is in A but not in B then also tell what is in B that isnt in A. I understand that 2 vlookups will prob do this but i would like it more user friendly so the way i would like it...........
is for me to paste a list of data from 1st source to column A then, a list of data from 2nd source to column B
then click a button that would do a lookup from column A against B (and B against A)
and return the values on sheet 2
that way... users could look on sheet 2 and anything in column A would be data that was in column A in sheet 1 but not in B and the data in cloumn B (sheet 2) would be the data that was in column B on sheet 1 but not in A.
if the cells in column E AND column F are blank, then column G will be blank also (I dont want 0 showing), if not show me the difference between col F and col G.
I put in the following:-
=IF((E2="")AND(F2=""),"",E2-F2)
However, Excel informs me this is wrong and corrected it as
=IF((E2="")*AND(F2=""),"",E2-F2)
I guess my question is why do I need to put in "*" for this to work?
I want to show which rows of data have been changed by incrementing a revision attribute. For example, if a user changes the contents of a cell anywhere between rows 2 and 13 and col 1 and 9 then the revision attribute in col 10 would increment from 1 to 2 (for the affected row). If another change affects the same row then the rev attribute would increment to 3, and so forth. I don't care which cell was changed only that something on that row was touched.
I thought the CHANGE event was a dead ringer for triggering some VBA code to control this but, since part of the change event code writes the revision value, this triggers another CHANGE event causing an endless loop until something (??) kicks in and stops it after 220 iterations. Is there a way to inhibit the change event just prior to updating the cell containing the version attribute?
Rather than post the code here I have submitted the workbook that includes the whole setup and code. I should also mention I looked at all the other worksheet events and I do not see any "triggers" that would fire each time a cell content is changed. As a side note, is there a way to step into the code of a change event? F8 does nothing.
I'm looking at trying to view 1 large keyword phrase list of about 40,000 phrases to another large list.
All I want is a macro, I can assign a button to. Click it and in a new sheet it shows only the rows of data that are different.
I have tried googling it.
I found 1 that looked very good (Not that I really know anything about coding, but I couldnt get it to work.
I'm using excel 2007. As a note the link was here. [url]
I might as well post the code,, but I just couldn't get it to work, shame, because it sounds like it could be what I was after, I'll post it now, but if anyone can help me with this that would be great
Sub CompareWorksheetRanges(rng1 As Range, rng2 As Range) Dim r As Long, c As Integer Dim lr1 As Long, lr2 As Long, lc1 As Integer, lc2 As Integer Dim maxR As Long, maxC As Integer, cf1 As String, cf2 As String Dim rptWB As Workbook, DiffCount As Long If rng1 Is Nothing Or rng2 Is Nothing Then Exit Sub If rng1.Areas.Count > 1 Or rng2.Areas.Count > 1 Then MsgBox "Can't compare multiple selections!", _ vbExclamation, "Compare Worksheet Ranges" Exit Sub
I have a spreadsheet which has a number of columns populated with a day number and below each day number there are some numbers. What I would like to do is to compare the values for Day1 with Day2, Day 2 with Day 3 etc. Is there a smart way to do this using VBA? I am enclosing an example to show what I would like the macro to do.
I have data entry in a spreadsheet which shows minutes, seconds and thousandths of a second - example looks as follows: 12:48:589 or 04:21:998. I would like to be able show the time difference between two data entries, so for example:
09:57:145 and 08:12:055 would give a difference of 1:45:090 12:07:985 and 18:59:788 would give a difference of 6:51:803
To be honest, I even struggled to work out the values on paper. Is this even possible? If so, can you let me know the number format I should be using as well as the formula or even better, post an excel sheet with the example.
I'm interested in comparing the 2 columns of data as attached in the SampleData file, for eg. First customer bought 5 items and customer 2 bought 3 items. I'd like to show the difference which customer 1 bought and customer 2 did not buy. Will need to use that via VBA And also for loop if possible!
I have 2 cells in which time is given in format hh:mm:ss , I have differentiated both whatever difference is their between them it get showed in different cell , but my cell is not showing exact time difference its showing up as ######.
I"m looking for a formula that searches for sales from a sheet (that already has the sales ranked) and populates that into another sheet. But the 3 cells above/below would have the difference in sales.
I have a Pivot Table with fields for months and weeks. I also have a "Show Values as % Difference Field" that shows monthly or weekly % change. When I collapse the fields so that it goes from weekly to monthly (or vice versa), I have to manually change each Show Values As % Difference column. Is there a way to do this automatically or quickly?
we are having a excel sheet which has data in it. ex:
In sheet3: D |F Columns: Logic |Field Rows: market |business proposed |consumer
In sheet2: A |B List of sheet | Field sheet3 |business sheet4 |other
In Sheet1: A |B List of sheet |Field sheet3 |consumer
When a user points to the particular cell(f2,f3) in column F of sheet3, it should display a message weather the data in particular cell is in which sheet( Sheet1 or sheet2 or not specified) and hyperlink must be displayed. when we click on the hyperlink it should go to the data particular row of the sheet.(Sheet1 or sheet2)..
I need to refer the LAST ROW OF COLUMN "D" to appear in the message box for the below code along with " Receipt number" which is in Sheet2.
Sub saveit() With Sheets(2) r = .Range("B65536").End(xlUp).Row + 1 InvN = Cells(15, 4).Text
If Range("c18") = "" Or Range("c20") = "" Or Range("c20") = "" Or Range("c24") = "" Then MsgBox "Please fill all required fields", vbCritical, " Missing data"
This seems like a very simple question but I can't find the answer that I'm looking for. I have a spreadsheet with a drop-down ( validation) list. Based on what the person selects, I then would like to have a message box to come that would direct them that certain cells then need to be filled in.
Is it possible to display a dialog box or msgbox that doesnt have an OK button ?
i.e I want a message that comes up on the screen that says "Links Updating...Please Wait" which then automatically changes to "Links Sucessfully Updated" on completion...I dont want the macro to be interrupted by the msgbox/dialog....
I have a spreadsheet where I have input all of my technicians service calls and installations.
In Column C Row 5 and up to the max I assume because I'm not sure how many rows I would use in a year, I have an estimated completion date.
In Column D and the same Rows as above I will input the Actual Completion date.
What I want is if the current date is past the estimated completion date (Column C) and there is no date entered in the Actual Completion date (Column D) I would like a MsgBox to pop up saying "Please enter a new completion date on row _"
"_" would be which ever row the estimated completion date has expired without an actual completion date being entered.
What i am trying to do: 1) check whether any value in column J, rows 7-18 is changed, 2) check whether the value is above the value in col H, respective row multiplied by 1,25, 3) if point 3 true, clear the contents of cells E24, F24, and show up a messagebox, 4) run another macro by pressing button in cell C24 in order to fill the E24 and F24 cells again.
What happens: Points 1-3 work perfectly well, but then i have a problem in point 4 - the messagebox of point 3 appears again and the work of macro of point 4 interrupts showing an "Application-defined or object-defined error".
I am close to finishing making up an Excel tool that takes data input from the user, does some analysis, accepts further input then prepares a report. My coding skills are not what you would call high level, so my code could probably be more efficient, but it works (well, except for this issue).
The tool opens a main multipage userform for data entry, then allows the user to view the data in the spreadsheet tables with the ability to call separate userforms to modify, delete or add records. The user then calls another userform to do some calculations and enter the appropriate results from a separate piece of software, then presses a button to prepare a report. All userforms are called from buttons in a separate userform (I'm not proficient enough and haven't had enough time to create a new ribbon in excel). At various times, messageboxes are used to convey information or prompt the user to do something - these are all simple ones with either only OK button, or OK and cancel buttons.
My problem is that when userforms are called, they sometimes appear but are totally blank (white) - see image.
blank_form.jpg
Clicking anywhere on the screen or pressing any key will bring them up properly and they seem to function normally thereafter.
In addition, the messageboxes sometimes do not appear - pressing any key will make them do so. Other than this they function normally.
The frustrating thing is that these problems occur inconsistently. I can add or change some code and it stops happening, then after testing (entering data and using the tool) starts happening again. Sometimes it just stops happening with no apparent reason, but starts again later after fixing some code or just entering some data. Not all userforms are affected at any one time and not all messageboxes have the problem at any one time.
The problem seems to occur in those subroutines where I access or manipulate data from other sheets before showing the userform or message box (but in most instances, I need to do this manipulation in order to present the correct information in the userform).
Some thought processes I have had, and unsuccessfully tried to fix the problem with (some coming from various web forums):
I thought I may have done "Application.ScreenUpdating = False" without resetting it to true, so I commented out all the "Application.ScreenUpdating = False" statements - problem stopped for a bit then started again.
Some of the userforms were modal, and even though they were not showing were still loaded so thought that this may be impacting on other userforms/message boxes, so changed all userforms to non modal - still had the problem when I opened the tool again.
Tried using "RePaint" and "DoEvents" at various points in the code after opening a userform or message box - no change.
I have tried exporting a form and its code, removing from the tool, then re-importing it. No success.
Tried the tool on another computer and the same problem occurred.
In a range of cells (e.g. B26-B40) I have names (first name and second name or first initial and second name). This data is carried from sheet 1 to the second sheet via formula. Some cells may be blank as well.
A VB code to display a message when the user changes the name in any of these cells with data or adds a new name to a cell that is blank, in sheet2
I have a userform with a combobox (cmbSearch) , a textbox (textbox1) and a listbox (listbox1)....and a commandbutton (cmbFind). This userform is used for searching records in my worksheet....where user selects a "Search By" category from the combobox and then enters relevent text search criteria in the textbox....and all the search results are shown in the listbox. This part works fine untill someone tries to search a "non-existent" record. e.g. a customer name thats not in the database and it gives an error. I would incorporate in my code to have a Message box pop up on these type of searches saying "textbox1.value Not Found!" insetad of error message.
Private Sub cmbFind_Click() Set c = Range("a65536").End(xlUp).Offset(1, 0) 'write userform entries to database Dim DataSH As Worksheet Set DataSH = Sheets("ComplaintData")
With DataSH .Range("L1").Value = cmbSearch.Value .Range("L2").Value = TextBox1.Text .Range("N1"). CurrentRegion.Clear .Range("A1").CurrentRegion. AdvancedFilter Action:=xlFilterCopy, criteriarange:=.Range("L1:L2"), copytorange:=.Range("N1") End With lstSearch.RowSource = vbNullString lstSearch.RowSource = "outdata"
I need a macro where user choose a value from validation, automatically lock the other cells and should show an error message.
Here is what I am looking for. User will choose Yes or no from cell H15 validation. If user choose "NO" from the validation then all other cells has to be locked in the workbook automatically except Cell H15 and a msg box needs to appear stating: "Select Yes from the validation".