i have this worksheet to fill out, i will attach it if anyone wants to take a look at the whole thing.. but, basically, i need a command where it will look at gender which is in column c, then age which is in column d, then gpa to count it, which is in column e, the gpa its looking for is >=3.0... and that is only one criteria.. an example is g=m, a=15 or above, gpa = >=3.0.. i also think i messed up on another part.. ...
In column a I have Trx of customers and column B I have customers name. One customers have make many trx in a month. So I want a total that One customer made how many trx in a month. File is attached.
I created a UserForm in which the user inputs data and then press "OK" in order to save an output into a specific worksheet. Once the "OK" button clicked, the UserForm repeats itself with some textboxes in blank so that a new output can be generated.
I am trying to display in a Label of the UserForm the number of times the "OK" button is clicked BUT starting from one. In other words, before pressing "OK" the Label indicates "unit no1" and once the "OK" button is clicked it should go "unit no1 +1" and so on.
For that purpose, I am using the following code:
[Code] ......
The label displays Unit nº1 when starting (which is right). However when I click the OK button it still displays "unit nº1" and then it starts counting normally.
The thing is that it should display "unit nº2" from the 1st "OK" click.
I am working with imported survey data - all the questions are sorted by columns with each respondent's answer in rows. One open ended question on the survey asks people in which states they have lived, so each response cell can contain multiple text values if they have lived in multiple states (and they often respond in full sentences - as in, "we lived in Texas for three years then moved to Arizona"). How do I search all the rows in that whole answer column to count all the mentions of each state? (To complicate matters, the search cannot be case sensitive - although I guess I could do a find and replace to fix the variance).
I am trying to use an array formula based on column A of sheet 1. Also using column A of sheet 1 last row ref for Sheet2 Array formula.
I have attached the document in here "Sample.xlsm"
When I run the macro for the dates, all I got is just "Date". I just want unique dates using the array formula which work without using VBA but the column A in Sheet1 is a dynamic sheet.
I have a workbook with several sheets, some are permanent and then there are certain sheets whose quantity varies depending on how many sub-contractors we use on a given job. The workbook starts as a template and there are 10 sub-contractor sheets to start with, if we only have 5 subs then the last five sub sheets are deleted. The sheets start out with the tabs named "Sub 1" "Sub 2" etc. but after the book is set up the sheet tab names are changed to the sub name. I've included some partial code below, with the goal being to run code on the sub-contractor sheets no matter the tab name or how many there are.
So the workbook has 5 "non-sub" related sheets, I was thinking that if I could do a sheet count -5, and get that number into the array it would accomplish what I want to do. And if someone added a new sheet it would still be processed with the others.
Public Sub SubConEstNum() On Error Resume Next Dim S As Worksheet, names As Variant, i As Integer names = Array(6, 7, 8, 9, 10, 11, 12, 13, 14, 15) For i = LBound(names) To UBound(names) Set S = Sheets(names(i)) S.Range("T3").Value = S.Range("S3").Value S.Range("T1").Value = S.Range("S1").Value S.Range("T2").Value = Sheets("Bill").Range("K1").Value
Is it possible to count the number of indexes in an integer array that have a value > 0 without looping through the array? I found something using Filter, but that only appears to work on string arrays.
How can I count the number of elements of a particular dimension of an array variable that have actually been filled with items/values?
For example, the array variable in this procedure has two dimensions. Dimension 1 has three elements, and dimension 2 has 5 elements. I then add values to some, but not all the defined elements of dimensions. How can I count, for each dimension, the number of elements that have values rather than are empty?
I have used macro to ftped a couple of files to my desktop and save them in a folder but i have problems performing the following.
1) Count the number of files in this directory "C:Summary_Reports_from_VBA". Note that the number of files is not fixed every time.
2) Rename each files to .txt files. (intially files do not have any extension and we do not know the name of the file until it has been ftped over but all files will end with a term "sorts" eg renaming of "xxxsorts" to "xxxsorts.txt")
3) Save each renamed files in an Array such that i can "opentext" each file in an excel worksheet. So if there's multiple files, there will be multiple worksheets.
the problem is that when both if statements are true i want it to get the row number, this is because table1 has blank rows (can not be avoided as the data is linked from a closed workbook)
i can see this works up until it meets the first blank row and i get #value error.
on table1 data exists on row 1,2,5 and 8 so my problem is getting the small function k to report these numbers?
I need to modify the underneath Count Array Formula to count unique values based on multiple conditions. I can get the formulas to work with NUMERIC values in Column A in the N1 & N2 tabs. However, I cannot get the formula to work when column A contains TEXT values in the TX1 & TX2 tabs.
I've attached the XL file for your review of the project.
Is it possible that when you press a command button, that the first thing it does is to execute the code assigned to another command button (IE in another sub).
Is there any way to tell (from VBA) what GUI command is currently in progress or what the last command used was?
On a wish list perhaps: Application.LastCommand and/or Application.CurrentCommand
Let's say I'm in the "Sheet_Change" event and want to know what caused the change. Was the event triggered by "Delete", "Paste", "Keystrokes" ...
AutoCAD VBA has "Begin_Command (CommandName as String)" and "End_Command (CommandName as String)" events which I find very useful. Basically I'd like to emulate that to the greatest extent possible.
Application.Caller does not seem to work for the stated purpose. I've been searching for a workaround by means of reading the "Undo Stack". Numerous articles written by experts state that the undo stack is not accessible from VBA.
I've considered reading the text from the "Undo" button's caption but it just seems like such a hack ... not that this whole idea isn't a hack
in C a string is nothing more than an Array of characters ending with a null character.
in VBA this does not seem to be the case.I am trying to use the BlowFish code from David Midkiff for some encryption, however the code sometimes fails:
When encrypting a string a string of a specific length should be returned. however sometimes one of the characters of the encrypted string is a null character, and the returned encrypted string (with a embedded null character) is causing me problems. I want to check for the null character and if present redo the encryption. But how do I check for the presence of this null character in a unicode (double-byte) string?
Checking with Len(encrypted) gives the correct length (!) but trying to move each (unicode)character into an array fails when using the Mid() function past the null character in the string.
Now I can use
byteArray() = StrConv(unicodetext,vbFromUnicode)
to get the lower byte of each character into an array easily, but how do I do this for both bytes of the unicode characters?
Using an integer array does not work other than through
intArray(j) = CInt(AscW(Mid(Outp, j, 1)))
which fails on the nullstring in my encrypted text.
I have tried with variants but so far no luck. I thought if the string was entered into a variant then I could also address the variant as an array of bytes, but that does not seem to be accepted by VBA.
I am trying to populate many arrays with the same code using something like this. For this test, assume the following data in A1.
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Code: Sub populate() Dim firstArr(5), secondArr(5), thirdArr(5), fourthArr(5), fifthArr(5) As Integer Dim r, c, num As Integer
[Code]....
The above code does not work of course and falls over. I am unsure whether I should try and concatenate with something like this eg "" & arrName(i) = Cells (r,c) or go down a different route.
I have a class module with several private variables, including one that is an array of a user-defined type. I am trying to set the values of a single element of this array with "Property Let ..." from a string array:
Say I have 3 columns of data: A1:C10 and I want to run a Match() function on them all together to see if I get a match any one those cells, say the value of have in X1.
Since, Match only allows a One-Column lookup array.. is there a way to "concatenate" or "append" the 3 columns together within a formula so now I would be looking to Match in an array that is 1 column * 30 rows?
Basically want to convert =Match(X1,A1:C10,0) to =Match(X1,A1:A30,0) without moving around the raw data in the sheet.
And I want to avoid doing an AND or OR formula that uses 3 separate MATCH() for each column.
I have a hunch that the MMULT or MMULT/TRANSPOSE functions are involved, but can't seem to get it right.
I'm only starting to get to grips with arrays. I have what I consider to be a lot of data that I need to 'cut' into separate workbooks. I have written some code that does this by simply looping through each line, 250k+, checking against a variable and copying the row into a separate sheet. This took longer than it would have doing it manually. It was suggested to me that I use arrays to speed up the process. I have managed to store the test data into an array but am struggling to find a way to loop through and pull out an entire 'row' from the array based on a variable. I have looked for 2 days in various places to find some way to loop through the data held in the array, but to no avail.
That code will appear here from about 8am GMT tomorrow. I know that once I've cracked this I'm on the road to some very significant time saving and comprehensive report writing.