Use Row Variable In Macro For WorksheetFunction
Nov 27, 2006
I am trying to add a small table after the last row using the data from the previous rows. I got the code workin as the following with some problems.
the result of the code below is as follows
"= countif(F4: F8," A ")"
"=countif(F5:F8," B ")"
"=countif(F6:F8," AB ")"
"=countif(F7:F8," O ")"
Herein lies a problem... I dont wish to have the values F4, F5,F6, and F7 change... rather, I want them to be constant at F5..............
View 3 Replies
ADVERTISEMENT
Feb 20, 2009
I'm fairly new to macro's and VBA, by searching on the internet i've copied and pasted some code together into a macro.
But it ends in a Run-time error 91...
The macro opens a target .xls file in a selected folder, performs copy - paste actions from masterfile to targetfile.
Than it filters data in the targetfile sheet1 and copy's the results to the various other sheets; saves and closes the targetfile.
The next target file in the folder is opened and the actions are repeated in this second target file.
For the first target file this works smoothly; but for the second one (of a total of around 100) it does not copy the filter results to the other sheets in this workbook.
The error message i get is: "Run-time error 91:Object variable or with block variable not set."
When i hit debug it highlights the line "ActiveSheet.Next.Select" which, at least in the first file, seems ok.
View 9 Replies
View Related
Jul 7, 2009
When i try to run the code below i get the error message - object variable or with block variable not set-
Sub REFRESHXX()
'LIST
Cells(Sheets("POINTS").Range("DD801").Value, Sheets("POINTS").Range("DD800").Value).Select
Selection.AutoFilter Field:=1, Criteria1:="1"
'SET RANGE
Dim sFormula1 As String
Dim sFormula2 As String
Dim sCell1 As String
Dim sCell2 As String
Dim sSheet1 As String
Dim sSheet2 As String
Dim r As Range
Dim MyRange As Range 'for testing
With Sheets("Points")
sFormula1 = .Range("CY1").Formula
sFormula2 = .Range("CY2").Formula
End With
'FORMULA IN R1C1 STYLE
strFormula = "=IF(ISNA(VLOOKUP(RC[-1],MASTER!R4C3:R17908C7,3,FALSE)),0,VLOOKUP(RC[-1],MASTER!R4C3:R17908C7,3,FALSE))"
'ENTER FORMULA IN ALL CELL RANGES
r.FormulaR1C1 = strFormula
'REDUCE TO VALUES
Dim ar As Range 'an area is a range
For Each ar In r.Areas 'areas are discrete, contiguous ranges of cells
ar.Value = ar.Value
Next ar
'UNLIST
Cells(Sheets("POINTS").Range("DD801").Value, Sheets("POINTS").Range("DD800").Value).Select
Selection.AutoFilter Field:=1
End Sub
View 9 Replies
View Related
Nov 21, 2006
I found this nice little bit of code for a date range search in column A but it will not work. Apparently i have not set a variable or something.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim startDate As String
Dim stopDate As String
Dim startRow As Integer
Dim stopRow As Integer
startDate = InputBox("Enter the Start Date: (dd/mm/yyyy)")
If startDate = "" Then End
stopDate = InputBox("Enter the Stop Date: (dd/mm/yyyy)")
If stopDate = "" Then End
startDate = Format(startDate, "dd/mm/yyyy")
stopDate = Format(stopDate, "dd/mm/yyyy")
startRow = Worksheets("sheet1").Columns("A").Find(startDate, _
LookIn:=xlValues, lookat:=xlWhole).Row
stopRow = Worksheets("sheet1").Columns("A").Find(stopDate, _
LookIn:=xlValues, lookat:=xlWhole).Row
Worksheets("Sheet1").Range("A" & startRow & ":A" & stopRow).Select
End Sub
View 9 Replies
View Related
Mar 12, 2009
I attempted to modify "macro_1a1ay" to look into the "comments" sheet (column a) for a specific text string. If that text string is found, I have it delete the entire row, then re-sort the page and return to the calling page. It works well as long as it finds something. When it does not find the string (i.e. like now when the page is blank) it gives me the run-time error mentioned above.
View 7 Replies
View Related
Nov 29, 2009
I've tried using the following (simplified) code to look up a date in a named range and return the result from the same row in the next column to the right. I can do this easily in the worksheet, but I can't write a VBA function to do it. Code:
View 2 Replies
View Related
Jul 2, 2008
what is the difference between them.
If i know how many rows there are in a column I guess i can just use MAX, right?
View 9 Replies
View Related
Jul 16, 2009
I have a large amount of data (10 columns X 1200+ rows). I want to copy some of the columns using the sorted names in the first column as a Match in the macro when the Matched cell (for comparison) is on a different sheet. I want to copy five (5) columns of data from the list on Sheet2 to Sheet1. The columns are B through F. I do not want to copy column A, but want to use the contents of the A column cells to determine which rows to copy.
I lock down the workbook and send it to other people and I want them to just pick a name from a drop-down list that will generate the Match cell on Sheet3 which will then populate Sheet1 with "Matched" data from Sheet2.
(I think I just confused myself.)
Part of my code is:
[code]
Sheets("Sheet2").Range("B1:F" & Application.WorksheetFunction.Match("XXXXX"),Sheets("Sheet2").Range("A:A"))).Copy Sheets("Sheet1").Range("A1")
[end code]
I want the "XXXXX" to refer to a cell on Sheet3. But I have been unable to solve the problem after trying a variety of fixes; including naming the single cell on Sheet3.
View 9 Replies
View Related
Mar 3, 2007
I am trying to use the TREND worksheet function on a vba array. I keep getting Runtime error 1004: Unable to get the TREND property of the WorksheetFunction Class. I can bypass the error (like it were a search with no result), but I get no result of any kind from the function. My search of other threads yields nothing concrete, but causes a guess that it may have to be used on a worksheet range not a vba array. But that's not actually stated in any of the threads, and I find no documentation to that effect. Is this the issue or is it something else altogether?
Sub test()
Dim knowny As Variant
Dim knownx As Variant
Dim newx As Integer
Dim myval As Integer
knowny = Array(2, 4, 6, 8, 10)
knownx = Array(1, 2, 3, 4, 5)
newx = 6
'On Error Resume Next
myval = Application.WorksheetFunction.Trend(knowny, knownx, newx)
' 'next error, err as normal.
' On Error GoTo 0
' Err.Clear
Debug.Print myval
End Sub
View 5 Replies
View Related
Sep 18, 2007
does the SUMIF worksheetfunction in VBA work on Arrays? I know it will work on ranges, and thats all fine, but I am convinced it should work on an array too... for example... Just assume two columns of numbers (A and B) with 13 rows -
Public Sub test()
Dim a As Range, b As Range
Dim x, y
x = ActiveSheet.Range("A1:A13").Value
y = ActiveSheet.Range("B1:B13").Value
Set a = ActiveSheet.Range("A1:A13")
Set b = ActiveSheet.Range("B1:B13")
MsgBox Application.WorksheetFunction.Sum(x) 'works
MsgBox Application.WorksheetFunction.Sum(y) 'works
MsgBox Application.WorksheetFunction.SumIf(x, "1", y) 'wont work - "Object Required"
MsgBox Application.WorksheetFunction.SumIf(a, "1", b)
End Sub
I also tried Transposing the x and y arrays, but the same result "Object Required".
View 4 Replies
View Related
Sep 4, 2009
The following code does everything I need it to except for some reason it is not sending the font colour through first or the font colour is getting overwritten. I have formula in other worksheets that are counting the red and the blue to determine which rider in a team it is. For some reason the time sent to "B Grade" worksheet is ending up in black font. Can anyone explain to me why this is occuring.
I am using worksheet function.text because I am working with elapsed times that could be over 24hrs. I was wondering if the default text colour for the worksheet.text() function is black and if it could be changed.
View 4 Replies
View Related
Dec 7, 2009
Unable to get the Match property of the worksheetfunction class? Here is my code
View 5 Replies
View Related
Dec 14, 2009
Few hours ago, I wrote a simple procedure in order to get an average of a range of 10 cells (A1:A10). Within the code, I typed these following lines:
View 4 Replies
View Related
Jun 26, 2008
why i get this error on
myTimeToCheck = (cHour & "." & cMinute)
myColCheck = Application.WorksheetFunction.Match(myTimeToCheck, Worksheets("Sheet3").Range("A2:A87"), 0)
MsgBox (myColCheck)
it says "Unable to get the Match property of the WorksheetFunction class"
myColCheck contains 17.50 and i have 17.50 in the column A
View 9 Replies
View Related
Sep 14, 2007
I am editing macro formula... is it possible VB does calculation during code execution & return only the value to Cell. this way the formula calculation remain hidden & code will probably run faster..eg.
Range("D3").Select
ActiveCell.FormulaR1C1 = "= COUNTA(Data!C[-3])-1"
Range("D3").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
I need to calculate & keep only value not formula in excel sheet each time the macro runs. I am getting error
Worksheets("data").Range("D3").Value = Application.CountA(Data![C:C]) - 1
View 3 Replies
View Related
May 10, 2008
I am trying to generate a number based on the Month, Year and then three digits. For Example: 1107-001. I would need it to refer to another sheet for the previous used last three digits. Each month it would start over at 001. On the Reference sheet it would always be in the first column.
View 2 Replies
View Related
Dec 4, 2009
I am trying to look at column at of two different workBOOKS and then when a match is found take the value from column D in workbook two and copy it to the corresponding row in the current column of workbook one.
this is the code I'm using and I get that unable to get the vlookup function. I thought maybe it was because not all of them will have matches so it could return an error if it is trying to return empty, so I put int on error resume next, and it ran through but never brought over ANY data, and there ARE matches and data to be brought over.
destRng is the range in the current column(that i just inserted) on the active worksheet that we will be putting the new info into. srcRng is the range in column A on the other workbook that the numbers are being compared to. src is just an integer
View 14 Replies
View Related
May 22, 2007
I get the "Unable to get the Correl Property of the worksheetfunction class" Error when I try to run the following code
CurrentRow = 2
CurrentColumn = 2
Finalrow = 5
WS2 = Sheet2
Finalrow2 = 5
Num_Records = 4
Correlation1 = Application.WorksheetFunction.Correl(Range(Cells(CurrentRow, CurrentColumn) & ":" & Cells(Finalrow, CurrentColumn)), WS2.Range("B" & Finalrow2 - Num_Records + 1 & ":B" & Finalrow2
View 9 Replies
View Related
Feb 23, 2009
I am having trouble with IsError function consistently catching errors in my call to the Search worksheetfunction. For example, here is a snippet of my code that works just fine:
Code: .....
View 9 Replies
View Related
Jan 4, 2007
I have a UserForm with one ComboBox and one TextBox. The ComboBox is populated from another sheet with product codes in Col A and names in Col B. When the user selects a product code from the ComboBox the respective name appears in the adjacent TextBox. Once both boxes have been filled the user can then save the data to a third sheet. Now the problem arises when the user tries to manually enter a code into the ComboBox that does not appear in its rowsource - VBA states a run-time error and my new keyboard goes flying out the window again. Attached is an example sheet
View 4 Replies
View Related
Mar 4, 2008
I am trying to used match function in the code but I am getting the following error:
Run time error '1004'
Unable to get the match property of the worksheet-function class
Here is the
View 9 Replies
View Related
Sep 23, 2008
bool = IsError(Application.WorksheetFunction.Match(ws1.Range("D" & i) & ws1.Range("G" & i) & ws1.Range("H" & i), ws2.Range("A3:A" & LR2) & ws2.Range("B3:B" & LR2) & ws2.Range("C3:C" & LR2), 0) > 0)
I am wanting to return a boolean result for if a multi-condition match is found. In pseudocode, I want to basically determine if the value in Column D, G, and H on worksheet 1 for a given row is repeated in Columns A, B, and C on worksheet 2 in any row. I have all variables properly dimmed.
View 13 Replies
View Related
May 3, 2013
If I type in the VBA Editor immediate window
Code:
?application.WorksheetFunction.average(array(1,3))
I get the expected answer of 2, but
Code:
?application.WorksheetFunction.mode(array(1,3))
produces a pop up error of:"Unable to get the Mode property of the WorksheetFunction Class"
(Excel 2010 on 64 bit machine)
View 2 Replies
View Related
Jan 14, 2009
I have an variable from sheet1. I use this as an input for sheet2 and do some calculations.
Based on the input in sheet1, I decide a starting cell and ending cell.
View 7 Replies
View Related
Feb 7, 2014
I am trying to run different macros by clicking various different buttons on the sheet, I then want different data to load into the user form depending which button was pressed. So I have buttons named "SV_1" and another named "SV_2". when either button is pressed then it runs a common macro that gets the name of the calling item. then I want to add "Macro" to the beginning of the calling item name and then call that macro. here is the code that I am working with, when using a watch i can see the value of the variable is "MacroSV_1" when button 1 is pressed but I cannot get it to run the Sub.
VB:
Public ClkBtn As String
Public CallMacro As String
Sub ItemCall()
[Code] ......
View 5 Replies
View Related
May 26, 2014
I have declared one variable outside of Sub. And in a Sub I gave it a value. Then I run a macro, which should take that value and print it to the cell. However, it is printing a blank cell, not even "0" (I run a macro and anything in that cell is removed).
[Code].....
and then my macro:
[Code]......
How to make so macro see my variable declared outside of this macro?
View 8 Replies
View Related
May 23, 2013
I have a macro that calls a User Form using:
Code:
Update_Too.Show
The form has a drop down list menu and the user needs to select a month. I store que choosen value in a variable named "OPT", using this code:
Code:
OPT = Me.Months_List.Value
I declared this variable at the start of the macro like this:
Code:
Dim OPT As String
But it doesn't seem to be working. I am not declaring the variable in the user form,
View 9 Replies
View Related
May 24, 2007
I currently have the below macro:
If Cells(1, 3) = 2 Then
For a = 1 To 336
b = Round(a * 2 + 0.99)
Cells(b + 0, 3) = a
Cells(b + 1, 3) = a
Next a
MsgBox " Cell C1 is not equal to 2"
End If
where the intent is that whatever cell A1 is equal to, that is how many times over it will duplicate a number in consecutive cells before moving to the next number, ie:
1
1
2
2
3
3
etc to 336.
How can I tweak the code so that if I change the data in cell A1 to 9, I don't have to go in and change the macro?
View 9 Replies
View Related
Aug 27, 2007
I have 2 worksheets - "Results" and "Historical". I am trying to record a macro that copies data from "Results" and then pastes into Historical. The data I want to copy will always be in "Results" A1:A10. When I want to update the macro (which will be weekly), I want it to copy A1:A10 and then paste into "Historical". Simple enough. Here is the problem:
Since this will be updated weekly, the first time I update I will want "Results" data copied into "Historical" A1:A10. The next time I update, I want the data copied into "Historical" B1:B10; then C1:C10, etc. Essentially I want the keep a running total of all of my prior data.
So I need the macro to be able to say something like - paste date into the first available column. If there is data in A1:A10, then paste into B, then C, D. How do I make the Macro variable?
View 9 Replies
View Related
Jul 14, 2009
My code as below
Application.Goto Reference:="CURRENT"
Selection.Copy
C1 = Range(Cells(4, 8), Cells(4, 200)).Find("HC4").Value.Row + 1
C1.Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
I want to copy the range 'Current' , this part, the easy part works.
Next I want to look in the range of H4 to GR4 for the value that also appears in HC4
In my example this would be CW4 then I want to paste 'Current' to the cell 1 row below, ie CW5
View 9 Replies
View Related