I've got the following code which opens/gets the excel files from a specified directory and imports them into an open workbook. I've added a GoTo Error before my loop which checks if there are any files in the directory and shows an error message if it's the case. Problem is since the loop goes on till there are no more files in the directory, it goes back to the error. How to change that ?
I have 4 work sheet 1st work sheet is Main, 2nd Clients, 3rd Pickup and 4th delivery In the main sheet i enter the information and one i click on add it send and save the information to their appropriate sheet what I want to know how should i create loop that can work at the same time when i press ADD so that is save only the information that does not exist.
I have a simple spreadsheet which requires a date (mm/dd/yy) in Column A. Columns B-F use formulas to break this date down into the month, quarter, year, etc. Users frequently need to add new rows at the top of the sheet just below the column headers.
To be sure the formulas in Columns B-F are included when adding new rows, I put together a simple macro which copies the top ten rows, inserts them at the top of the sheet, and then clears existing data from the new rows (keeping formulas intact).
I put a button on the sheet to run this macro. However, sometimes users insert new rows without using the macro. This results in no data in Columns B-F for these new rows because the formulas weren’t copied.
How can I prevent this from happening? If I protect the sheet and prevent users from inserting new rows, the macro won’t run. Is there something I can add to the macro that will allow it to run properly while the sheet is protected? Below is the macro code.
Private Sub CommandButton1_Click() Rows("3:12").Select Selection.Copy Rows("3:3").Select Selection.Insert Shift:=xlDown Range("A3:A12").Select Application.CutCopyMode = False Selection.ClearContents Range("G3:K12").Select Application.CutCopyMode = False Selection.ClearContents Range("A12").Select End Sub
My wife is trying to use an Excel Spreadsheet to help teaching fractions and decimals to children.
She wants a cell where the children enter the numerator and a cell where they enter the denominator and a cell where the result (to two decimal places) is shown. I have designed an appropriate sheet but would like to "fancy it up" a little.
If the denominator cell is empty, the result cell shows the error message "#DIV/0!".
I'd like this message to be hidden until the children have entered both a numerator and a denominator.
The numerator is in cell D2, denominator is in cell D6 and result is displayed in merged cells C8 - E8.
I've tried conditional formatting the cell with white text if the cell is zero and black if it is non-zero and also tried to specify white text if the cell value is equal to "#DIV/0!" but both do not do what I want.
If there was a way to specify white text for this cell if another cell was zero, that would do it too (ie. if cell D6=0 then conditionally format cells C8-E8 to be white text).
I've also tried a rather inelegant solution where the denominator cell has a "dummy value" (say 0.1) and then conditionally formatted this cell to make the text white (so that it doesn't show up). The results cell can then be conditionally formatted with two conditions: 1. If cell = 0 then white text and 2. if cell is non-zero black text. However, this means that as soon as any number is entered into the numerator, the results cell becomes visible.
Example. Initially cell D2 is blank, D6 has "dummy" value 0.1 and results cell (C8 - E8) has the value 0 in it (0 / 0.1 =0) conditionally formatted to be "invisible".
When a positive number is entered into cell D2 (the numerator) such as 2, the result (2 / 0.1 = 20) is non-zero and so 20.00 is displayed.
How can I hide the error message "#DIV/0!" until the denominator is no longer zero?
The attached file contains hypothetical data on a basketball player's success from the free throw line. It lists the number of free throws attempted and the number made and then divides the number made by the number attempted to calculate the free throw percentage. However, I keep getting a # DIV/0! error in the games free throws weren't taken. How do I write the code so that when the error occurs, a message is displayed to the effect that no percentage can be reported because no free throws were attempted by checking the cell in column D? How do I use the IsError function to figure this out?
I have a form on a SheetA wherein all cells are referencing the data in cells on SheetB. When I delete or add a row on SheetB, the cells in that row on SheetA read REF#. I need the row in SheetA to be added when I add it in SheetB and vice versa for when I delete a row.
I Spoke too soon here, I am getting value errors, how to do it with conditional formating. I tried if cell value is =to #DIV/0! then white (dosent work). Richard this dosent seem to work mate =IF(SUM(F6:V6),"",AL6/SUM(F6:V6))
What is this error message that is popping up when I try to insert a blank row of cells?
"To prevent possible loss of data, Excel cannot shift nonblank cells off of the worksheet. Select another location in which to insert new cells, or delete data from the end of your worksheet.
If you do not have data in cells that can be shifted off the worksheet, you can reset which cells Excel considers nonblank. To do this, press CTRL + End to locate the last nonblank cell on the worksheet. Delete this cell and all cells between it and the last row and column of your data then save."
This excel document we have has LARGE amounts of data
i m working on an excel 2007 workbook with ms project functionality. in order to be able to use ms project from within excel i m using early binding. for those who dont know what early binding is: http://www.dicks-clicks.com/excel/olBinding.htm
this works fine if the user has ms project installed on his/her pc.
if the user does not have ms project installed i remove the broken references. this works fine.
but my problem is that when i remove the reference to ms project, my vba project will not compile correctly. thus each time when a user opens the workbook the user gets a "compile error in hidden module" , since the functions of ms project are not available.
for example i get a compile error in the following source Public Function getResID(ResName As String, ActiveProject As Project) As Integer Dim res As Resource For Each res In ActiveProject.Resources If res.name = ResName Then getResID = res.ID Exit Function End If getResID = -1 Next End Function i just want to know what i can do to prevent the compile error? would the use of late binding remove the problem? actually i dont want to use late binding since my source code is already very complex and it would be a huge effort to change it.
what I want. It relies on an input box asking the user to enter a part code, which when found creates a duplicate copy. However, if the user enters a part that doesn't exist I get a run-time error. Can anybody point me in the right direction so when a user enters an incorrect part they get a message telling them it doesn't exist.
Private Sub SortTest_Click() Dim s As String Dim r As Excel. Range
Range("A2").Activate s = InputBox("Enter the number you wish to find") If StrPtr(s) = 0 Then MsgBox "You must enter an existing part number!" Else Set r = Cells.Find(What:=s, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False)
I'm looking for a function that will display the average of a row of cells, while at the same time not displaying any error messages. It's easy to average cells without blank values, but to combine that with no errors is difficult for me. I saw many ways to do the average, one of which is:
= SUM(A1:E1)/COUNTIF(A1:E1,">0")
That function doesn't work for a row of blank cells (i.e., hidden rows), though. The result is an error message.
I also read about a way to ignore an error in a computation:
=IF(ISERROR(F1),"",F1)
The problem is when I combine those functions I get a blank cell no matter which function I put first, and without regards to cell values or not. The reason I want this to be error-free is that I have to average the "average column" at the bottom of the table, too (i.e., F100).
I have a macro that asks the user what pages they would like to print on a particular sheet. In the example below, a button will be assigned to pages 1-5 on a sheet and thus the user has the option of printing from page 1 up to page 5. Any page number outside this range will result in an error message and the user will be asked to re-enter the end page number. This is the code I pulled from this forum and partially modified:
I want to establish a link from my worksheets. Using the conventional link method I was able to link the values from my first worksheet to the second worksheet. My problem is when I delete a particular row. The reference of the second worksheet will have an error #REF! since I deleted those cells. Is there any way that I can link my two worksheets without any error that even if I deleted a particular cell/row the reference is still intact?
I have cobbled together some code that I hoped would do the following:
Sort data Copy all data from one person and put it on a sheet Create a pivot on that data populate another sheet based on that persons data Save as a PDF Clear the data and start again for the next employee
I have copied this from other macros I have used in the past. Up until now the parts I have been working on have been ok. however when I try and run it now I get a "Loop Without Do" error. I really can't figure out why.
I'm trying to do a for each loop in a row, I've tried to drill it down to be as simple as possible, but I keep getting the Run-time error '424': Object Required
I've tried to make it simple, with just inserting a 1 into the cells, still get the error.
Code: Dim firstRow As Range Dim rCell As Range Set firsRow = Worksheets("MAIN").Range("F3", "AG3") For Each rCell In firstRow 'error shows here rCell.Value = 1 Next rCell
I need my macros to search for the word "Cancel" in columns "T". Once found, I need the macros to make that entire row a certain pattern ( .Pattern = xlGray16)
There will be other wording in these cells that contain "Cancel" or "Cancelled".
A compile error keeps occurring. It says "Ambiguous name detected: FormatCell"..
Sub DoCancelCells()
Dim strSearchString As String Dim wksSheet As Worksheet Dim rngSearchRange As Range Dim intSearchCount As Integer
VBA but familiar with other programming languages.
I have looked through previous posts with the same problem and I see that most people forget to add the "endIf" before looping. From what I can tell, I have ended all of my "If" statements.
The goal of this macro is to take temporary data and finding a match in other sheets and copying from "Temp" and pasting into the other sheets (possibly in the first blank cell, depending on the case) then deleting the row and moving on to the next row and repeating the process until "Temp" is empty.
I am getting the Run-time error '380'. Could not set the value propery. Invalid property value.
I have a user form for data entry purpose which is working fine. Now, I am making a code for data editing purpose which pulls out data from the worksheet into the user form.
I am able to do this for text boxes and combo boxes that are not linked with each other. However I am getting a problem in the following case; I have a combo box and a text box that are linked to each other by combo box _change code which is below which may be the reason for the error I am getting for the next code...
Code: Private Sub cmbColor_Change() If cmbColor.Value = "Other" Then lblColor.Visible = True
My current code opens a file ("Report01.CSV") from the directories in column A (one at a time), and copies data into sheet 2.
The problem is that sometimes there is no ("Report01.CSV") file in one or more of the directories.
What I would like to add is an error handler that would remove the directory (delete that cell) that caused the error and continue with the loop. I.e. resume importing data from the other directories.
CODE: Dim wrkMyWorkBook As Workbook Dim lngRow As Long: lngRow = 1 Dim lngColumn As Long: lngColumn = 2
Do Until Sheets("Sheet1").Range("A" & lngRow).Value = vbNullString Set wrkMyWorkBook = Workbooks.Open(Filename:=Sheets("Sheet1").Range("A" & lngRow).Value & "" & "REPORT01.CSV") lngRow = lngRow + 1
I'm trying to create a simply loop for an easy task of copying and then pasting a formula into other cells. Basically I'm trying to get this script to run until there is no more "slsperson" references to go to.
Sub z_Paste_Sales_Formula() Dim i As Long Dim icolumn As Integer icolumn = 4 Cells(3, icolumn).Select Selection.Copy i = 1 Do Application.Goto Reference:="slsperson" & i ActiveCell.Offset(1, 0).Select sls_row = ActiveCell.Row ActiveCell.Offset(1, 0).Select gp_row = ActiveCell.Row Cells(sls_row, icolumn).Select ActiveSheet.Paste Number = i + 1 Loop Until Application.Goto Reference:="slsperson" & number = error End Sub
I have written a piece of code that sets the print area for the cells whose formulas are not blank as the result of the if formulas in them. The code works across the page.
In it's current state the loop should repeat four times as that is the number of non-blank cells. The loop I have is:
Code: Do While CollSheet.Offset(0, i).Value "" i = i + 1 Loop
This however, gets as far as i = 2 before completing the loop. To test why I wrote the following piece of code which loops the four times it is meant to. The trouble is I can't work why they aren't returning the same value as to my knowledge, they do the same thing. If I had to guess I think it's something to do with the cell being a merged cell.
Code: Do While ActiveCell.Offset(0, 1).Value "" ActiveCell.Offset(0, 1).Select Loop