Derk suggested "That error occurs when the activecell has no validation. Some of the properties return as "codes" so you will need to figure out what say -1 means for alertstyle." I do not know how to test for this.
I have problems with setting Validation input title and message. When in column "C" I type product code, data validation of corresponding cell in column "D" changes to list of diameters allowed for that product. That works fine. But i also want to set validation message to show allowed diameters.I set it in VBA using named ranges. But for every second line (13, 15, etc on attached file) I get an application-defined or object-defined error. The rest (14, 16 etc) works ok.
How do I add multiple worksheets at once after opening a new workbook? I was able to go to Insert>Workbook but it only adds one sheet at a time. I I need to add 50 woorksheets, I don't want to really click 50 times.
Insert a new worksheet To add a single worksheet, click Worksheet on the Insert menu. To add multiple worksheets, hold down SHIFT, and then click the number of worksheet tabs you want to add in the open workbook. Then click Worksheet on the Insert menu.
When I hold down the shift button and enter 50 i get the "%" and ) sign entered on the open workbook and then I try to click worksheet from the insert tab and it is greyed out.
I am using a dictionary object from the MS Scripting Runtime library to store a series of arrays and perform operations on the array cells as necessary. There is a for loop to go through the process of creating all of these entries. My issue is that when using the .exists property, it is returning a True even before the item has been added. Closer debugging indicates that the key is being added to the dictionary at the beginning of the for loop, even though no .add command is used and will not be used until the end of the loop. The result is that the values in the arrays do not totalize as intended.
Code for the dictionary build has been included below. I have attached the Excel file which contains the appropriate module which calls that function
VB: Option Explicit[ATTACH]46705[/ATTACH] Function DictAppTable(Loop_Range As Integer, Key_Range As Range, Dim_1 As Range, Dim_2 As Range) Dim DictTable As Dictionary Dim AppElement(0 To 0, 0 To 1) As Variant Dim iD As Integer Dim strAppID As String
[Code].... the previous post, as the pared down excel file which I posted had a slight error which prevented it from running
whether I can handle errors in a way that tells me which object caused the error?
For example if a userform has two combobox's and one causes an error, can I return to a message box containing the name of the object (combobox1 or combobox2)?
I have tried returning err.source but I am either not using it correctly or it isn't intended to be used this way.
I have the following code in Destination.xlsm that is intended to:
request the user to select a multi-cell range in a column of single-sheet Source.xlsm, in which some but not all cells contain "Y" (to indicate that this row of data relates to a National Account, versus a Territory Account)loop through the selected range, and whenever a cell contains "Y", copy the entire row and insert it in Destination.xlsm above a cell named "rngDest".
Code:
Sub Copy_NationalAccounts_Rows()
Const Message As String = "Select the entire range containing National Account Y flags, then press Enter or click OK." Const Title As String = "Copy National Accounts"
Dim rngSource As Range Dim rngDest As Range Dim r As Range Dim c As Integer Dim wbk As Workbook
I am having difficulty getting a form to work the way that I would like it to work. I have a form that is used to display questions that my students will be answering. The form also is used to put the answers into a worksheet. I have 2 sheets. Sheet2 has the questions, student answers, and correct answers. Sheet1 is used to indicate correct answers and to keep track of percentage correct. I am fairly new to VB. I have 2 pieces of code that I am going to post. The first one works and the second one doesn't.
This is in the "This Workbook" section and it works. Option Explicit Public intNoQ As Integer Public strNoQ As String Public NumberofQuestions As Integer Dim StudentName As String Dim InputBoxAnswer As String Public Sub Workbook_Open() Application.Visible = False 'Hide Excel Load Questions Load NumberCorrect NumberofQuestions = Worksheets("Sheet1").Range("K3").Value For intNoQ = 1 To NumberofQuestions strNoQ = VBA.CStr(intNoQ) If intNoQ = 1 Then Questions.Controls("QuestionNumberBox").Value = "Question#" & strNoQ Questions.Controls("QuestionBox").Value = Worksheets("Sheet2").Range("B1").Value End If Questions.Controls("CorrectBox" & strNoQ).Visible = True Questions.Controls("CorrectLabel" & strNoQ).Visible = True Next intNoQ...............
I'm trying to copy an ELOOKUP formula down a column in a sheet. The formula is losing part of the table array when I carry it down and returning an N/A error. Interestingly, it will work when I copy it across a row.
If I go any of the cells in that column, the VBA code page opens up and I get the following message:
Compile Error: Ambigous name detected: Worksheet _SelectionChange
and the following vb code is hightlighted:
Private Sub Worksheet_SelectionChange(ByVal Target As Range
The code I have used is: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Column = 13 Then Target.Columns.ColumnWidth = 40 Else Columns(13).ColumnWidth = 20 End If End Sub
I have a relatively complex report that I work with and a worksheet is no longer required. I have deleted the worksheet and reference to it hwoever when running the macro to pull all the data, it gets to the summary of all the data and i get the Run Time Error 1004 Application-defined or object-defined error pop up. ON reviewing it, it is on this line ActiveCell.Offset(0, 0).Range("a1:a" & Range_Height).Select of the below code...
VB: Sub GetRangeName() Sheets("TOTAL").Select
[Code].....
use code tags around code. Posting code without them makes your code hard to read and difficult to be copied for testing. Highlight your code and click the # at the top of your post window.
I have a simple function below to put in different forumlas in different cells to get stock quotes. When I run this I get runtime error 1004 application-defined or object-defined error. The first formula goes through but vba chokes on the next formula: ActiveCell.Offset(I - 1, 4).Formula = username
For some reason my form won't open when the workbook is opened. I get an error message "run time error '424' object required" (which happens when I have Form1.show in the BOTH workbook_open event and the userform_initialize event (oops)). When I removed form1.show from the userform_initialize I don't get an error but I also get no form. I recall having this issue before but I can't recall how to fix it.
Can I call the userform_initialize event from the workbook open event to get around this successfully and properly?
I am trying to copy the info from one workbook to another workbook.
I keep getting the above referenced error...
Private Sub CommandButton1_Click() Dim filepath As String filepath = Range("A100") MsgBox ("File Appended") Workbooks.Open (filepath) Windows("CorrespondenceMaster.xls").Activate Sheets("Sheet2").Select Range("DesNo", "LocationPath").Select Selection.Copy Windows(filepath).Activate Range("A2").Select ActiveSheet.Paste End Sub
This macro keeps returning and error. It does it on all pages, except one. It works perfect on one page. This is a snip of the macro. if more info is needed. Let me knowMacro error.PNG It is supposed to Auto fit will filling in cells.
I have the following code that opens a series of workbooks on a given day, However, if one of the workbooks has been renamed or is missing the code gives a "400" error and stops, is there a way of having the code retry the next workbook if it comes to an error?
I am getting a compile error, the "+" sign is highlighted and the error is named argument already specified, if I remove the "+ vbExclamation", I receive the same error.
What I want to do is if the appropriate sheet is not active, the response will force the sub to end sub, if the proper book is active workbook, then continue on.
Dim Ans As String
Set oWss = ActiveSheet Set oWsSNBD = Workbooks("TGSProductsAttrib.xls").Worksheets
Ans = MsgBox("Make Sure the ""TGSItemRecordCreator Workbook"" is the Active Workbook", _ "Correct Workbook?", Buttons:=vbYesNo + vbExclamation) If Ans = vbNo Then MsgBox """Select the TGSItemRecordCreator Workbook"" & Re-Run Code." End End If
I have come up with the following array UDF to help me split a large list of values into list of smaller groups.
The function takes the 3rd input argument to to understand how many smaller lists it needs to split the bigger range. The 2nd argument simply specifies a seperator, either "," or ";"
On using the same on a worksheet I'm getting a #VALUE! error and for the life of me am not able to pinpoint the problem area.
Public Function CBOList(Rng As Range, App As String, OutRng As Range) As Variant
Dim Func As WorksheetFunction, UniqueVals As New Collection Dim cnt, who Dim ctr As Long, lst As String Dim myarr() As Variant
I am trying to make this code work, I am getting the subject error:
HTML Code: Private Sub CommandButton1_Click()Dim cols As VariantDim NextRow As ObjectDim Myrow As Object Sheets("Sheet1").SelectWith Sheet1 Myrow = Range("A" & Rows.Count).End(xlUp).Row + 1
Sub Macro2() ' ' Macro2 Macro ' Macro recorded 7/28/2007 by i8ig '
If Target.Column = 1 Then If Target.Value = "Med" Then Rows(Target.Row).Interior.ColorIndex = 4 Range("H3").Select ActiveCell.FormulaR1C1 = "=IF(RC[3]="""","""",RC[3]-3)" Else If Target.Value = "Tasc" Then Rows("4:4").Interior.ColorIndex = 44 Range("H4").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",RC[1]-2)" Else If Target.Range = "NBAR" Then Range("J5").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",RC[1]-5)" Range("I5").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",RC[1]-2)" Range("H5").Select ActiveCell.FormulaR1C1 = "=IF(RC[1]="""","""",RC[1]-2)" End If End If End If End If End Sub I continue to receive an error '424' object required and I cant find it
I have two worksheets one called "invoice" and one called "tenants" "Invoice" has a userform where I want to enter a tenancy number and then lookup the tenants name and address from "tenants"
I have put the following macro in
Sub lookup() Dim res As Variant res = Application.VLookup("A1", Tenants.xlsx("Sheet1"), "$A:$H", 2, False) If IsError(res) Then MsgBox "not found" Else MsgBox "found at pos: " & res End If End Sub
I am trying to get the code to search for me specific words in the excel files in my Folder as specified, however when i try to run it, there will be a Error 424 : Object required.
Sub SearchText()
cr = vbCrLf quot = Chr(34) 'quotes
Dim l As FileSearch Set l = Application.FileSearch
s = InputBox("Search", " Enter the text you're looking for.")
With l .NewSearch .LookIn = "D:FinancialNews" .SearchSubFolders = True .FileName = "*.xls" .MatchTextExactly = True ............................
I am trying to name a dynamic range. The below works when I have selected the relevant sheet. However, if the sheet is not selected then I get a Runtime Error 1004 at the Else line. I had planned on naming 3 ranges like this on each sheet. I have 15 sheets, so end result will be 45 ranges.
Sub CIT_SLA() 'Name and size the range CIT_SLA so the Word file (EOM Report) can pick only the relevant cells If Sheets("CIT Results").Range("A2").Value = "" Then Sheets("CIT Results").Range("A2:G2").Name = "CIT_SLA"
Else: Sheets("CIT Results").Range("A2", Range("G65536").End(xlUp)).Name = "CIT_SLA" End If
I'm developing an excel addin using Visual Studio 2008. At the moment i'm trying to display a popup showing the value contained in cell A1. However, i'm getting a runtime error saying that xlWorkBook is null. I've been able to get this to work if i open a workbook but i want to be able to execute my code on the currently active workbook. I thought that ActiveWorkbook (also tried ThisWorkbook) would let me do this but i'm having no success.
using Excel = Microsoft.Office.Interop.Excel; using Office = Microsoft.Office.Core; ... ... Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet;
I have a userform that finds any instance of the user inputted search and tells you which sheet its in and allows u link to them. I also have a number of text boxes that I want populated with the information found on only the activesheet, not both. Currently I get a type mismatch error, and whilst it populates the information in debug mode I also get a Error 2042 on the following TextBox5.Text = Cells(rngFind.Row, 2)
Option Explicit Sub locate(Name As String, Data As Range) Dim rngFind As Range Dim strFirstFind As String Dim Find As String With Data Set rngFind = ActiveWorkbook.Sheets(1).Cells.Find(Name, LookIn:=xlValues, LookAt:=xlPart) If Not rngFind Is Nothing Then strFirstFind = rngFind.Address
Do If rngFind.Row > 1 Then ListBox1.AddItem rngFind.Value.....................