Print Every Element In Multidimensional Array

Mar 19, 2014

I have 9 named ranges on worksheet Sheet1. I want to print every combination of every non-singular range on worksheet Sheet2. Below is a simplified version of the scenario.

There are three named ranges: Letters, Colors, Animals. Say the below are the entries for each range.

Letters = {A, B, C}
Colors = {Red, Blue}
Animals = {Dog}I want to print every combination of Letters and Colors but exclude Animals since it only has 1 entry.

Therefore my result would look something like this:

A Red
B Red
C Red
A Blue
B Blue
C Blue

My thought is to make a multidimensional array GrandArray where GrandArray(1) = Letters and GrandArray(2) = Colors, then recursively go back through every combination and print to Sheet 2. I can set up GrandArray, but stepping through each element is creating mismatch errors.

I'm trying to avoid For loops since my real data has 9 ranges which may or may not be included in the final print.

View 1 Replies


ADVERTISEMENT

Calculate Each Element In A Multidimensional Array

Jul 28, 2006

I need to multiply matrix variable by a constant (each matrix entry has to be multiplied by the constant).

Sub Matrix()
Dim X As Variant, Y As Variant
Dim a As Integer

a = 2
X = [1, 1, 1; 2, 2, 2; 3, 3, 3]

Y = X * a ' Here it writes that type is mismached

End Sub

I read that in cell functions it is possible to do such calculations.

View 4 Replies View Related

VBA To Output From Array Based On Variable In One Element Of Array

May 2, 2013

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.

View 9 Replies View Related

Creating Multidimensional Array?

Feb 27, 2013

I want to create a multidimensional array. Basically, I want to tie a file to a sheet. I want to import the following files:

"byemployee.csv",
"byposition.csv",
"Status report.xls",
"bydepartment.csv",
"byband.csv"

to the following sheets in my workbook:

"byEmployee",
"byPosition",
"statusReport",
"byDepartment",
"byBand"

Basically, I would like to pass the array by reference. Basically, the code below imports the file into my workbook, but I since I have several files going into sheets in the workbook, I don't want to write the code 5 times. I figured the best way would be to create a multidimensional array and pass through my procedure below.

Code:
Sub import_Employee_Data()
strSourceFile = ThisWorkbook.Name
strPath = ThisWorkbook.Path & ""
strFirstImportFile = strPath & "byemployee.csv"
sDestSheet = "byEmployee"
If Len(Dir(strFirstImportFile)) > 0 Then

[code]......

View 8 Replies View Related

Sorting A Multidimensional Array

Feb 28, 2007

I’m working on a project where a spreadsheet holds data which is spread over multiple rows. The number of rows can change depending on the case.

Imagine 1 case being 1 row of certain details, then a various number of rows below detailing some different information in different columns.

A crude example is this: ...

View 9 Replies View Related

Returning A Multidimensional Array

Mar 9, 2007

I'm getting a compile error "Can't Assign to array" when I try to return a multidimensional array from a function. I'm not a VB expert, and I was unable to find any examples of returning a multidimensional array from a function. Here is some sample

Sub someSub
Dim data(1 To 4, 0 To 23) As Integer

For counter = 1 To numSheets
data = processData(counter, data) ' The error happens here
Next
End Sub
Private Function processData(counter As Integer, data() As Integer) As Integer()
Dim dataCopy(1 To 4, 0 To 23) As Integer

dataCopy = data
'modify dataCopy
processData = dataCopy
End Function

View 6 Replies View Related

Multiply Each Element In A 6x6 Array By A Similar 6x6 Array

Mar 22, 2007

I've tried to multiply each element in a 6x6 array by a similar 6x6 array, both on the same sheet, and it worked.(see Macro2 and attached xls file "Test").Then I got more ambitious and tried to do the multiplication from a standard array in sheet "TestA", with the result on the same sheet, by each array in sheet "TestB" and failed.How do I solve this problem? Pgualb PS:I'm using the R1C1 style.

Sub Macro2()
For y = 29 To 34
For x = 2 To 7
Cells(x, y) = Cells(x, y - 27) * Cells(x, y - 18)
Next x
Next y
End Sub
Sub Teste12()
'Multiplica matriz em TestB por matriz padrão em TestA com _
'resultado na matriz em TestA correspondente à matriz em TestB
'
Dim x, y As Integer
For y = 2 To 7.............

View 7 Replies View Related

Passing Multidimensional Array To Function

Jul 15, 2014

I'm trying to pass a multidimensional array to a function that I have defined, but I receive an error about an object mismatch. Here is what I have in regards to the array and function. What should I change?

Code:
Dim diffArray() As Integer
Dim countArray() As Integer
Redim countArray(count,2)

diffArray = getRunningSum(countArray)
End Sub

Public Function getRunningSum(ByRef countArray() As Integer) As Integer()
'Code here......
End Function

View 9 Replies View Related

Dictionary Object And Multidimensional Array

Dec 31, 2008

I have data in a dictionary object and need to load it into a two column listbox. The VBA help says you can load data into a multicolumn listbox from a 2D array. So my question is how can I extract the data from a dictionary object directly into a 2D array.

The dictionary object stores data in key and item pairs. So the 2D array would have one dimension for the keys and the other for the items. I want to do this without having to extract the items and keys into separate 1D arrays and then loop through them to build the 2D array.

View 9 Replies View Related

Dump Contents Of Multidimensional Array To Worksheet

Jan 23, 2009

Rather than looping through a multidimensional array to populate a worksheet, is there a quick function which can export the entire array to a worksheet?

View 2 Replies View Related

How To Filter Multidimensional Array Based On Conditions

Jul 18, 2014

How to apply a filter over the array "a" shown below and get the result in a new array "b" containing the filtered values based on the following conditions (the conditions criteria could be 1, 2 or 3. In this case only 2):

Criteria1 in Column 4="yellow"
Criteria2 in Column 3="ggg"

And only show values of columns 1 and 3.

If were using an SQL query would be something like this:

Code:
SELECT F[1],F[3] FROM "Table" WHERE F[4]="yellow" and F[3]="ggg"
The output array would be as below:

Code:
b=[{12,"ggg";140,ggg}]
this is the array:

Code:
Sub test()

a = [{"122","53","ggg","yellow";"140","9","ggg","yellow";"16","-22","ddc","yellow";"127","-37","ddc","green";"53","-28","ggg","grey"}]

'Filter code to get array b
'
'
End Sub

View 1 Replies View Related

Single Element Of An Array Is Equal To A Particular Value

Jun 20, 2008

How can you test that no single element of an array is equal to a particular value?

View 9 Replies View Related

Sqaure Every Element In A Dynamic Array

Nov 11, 2009

I am trying to sqaure every element in a dynamic array and display the result . I donot understand how can I select the value in the cell using VBA?

Dim Y as variant, d() as double, i as long, j as long, rows as double, cols as double
Set Y = Application.InputBox("select the matrix: ", Type:=8)
Rows = UBound(Y)
Cols = UBound(Y, 2)
ReDim d(1 To Rows, 1 To Cols)
for i = cols
d(1,i) = ______==>
How do I select the value of element in that particular cell and how do I sqaure it?
I know
cells(rowindex, columnindex)
is used to select a particular cell but If I have a large array it would be difficult to go cell by cell and sqaure it.

View 9 Replies View Related

Pass Variable Into Array As Element

Oct 2, 2007

I am trying to pass information that is filled by user in a userform into an excel sheet. Let's say a user would click on a control button in a userform and Macro would ask him what value to store for the first variable. If user clicks one more time then Macro would identify that it was a second click and ask what value to set for a second variable. It is easy to do with limited number of variables, but is it possible that the variable which stores a number of clicks would become a number for variable to store the value?

1 click - a1 = ..
2 click - a2 = ..
....
n click - an = ..

If not possible - which way to search a solution?

View 5 Replies View Related

Assigning An Array Element To Select A Different Cell -Help

Jul 7, 2006

I am trying to assign an array element to select a specific cell then assign a value to it. Below is the general code that I am working with. Does anyone know why this is not working?....

View 8 Replies View Related

VBA To Print Worksheet Array?

Jul 14, 2014

Subscript 9 error that Ive been getting when I run this macro. It has worked in the past, but when I tried to test it today I keep getting errors on the array portion.

[Code] .....

View 3 Replies View Related

Print VBA Array To A Sheet?

Jul 11, 2013

I have an array and I want to graph it. I don't know how to do that so I am trying to print it to a sheet and graph the data that way.

This is my array:

blkhist(service, 1) = DateDiff("d", blkstart, rawdata(currentdate, 1)) 'x axis values
blkhist(service, 2) = rawdata(currentdate, 16) ' y axis values
blkhist(service, 3) = blkcart 'series #

View 9 Replies View Related

Print Array Of Sheets

May 20, 2008

I know I can print sheets as such:

Sheets(Array(2,4,5,8,9)).printout

I want to populate an array list based on sheet names, but cannot figure out the last line for syntax:

Dim ws As Worksheet, arr() As String
ReDim arr(0 To Sheets.Count-1)
For Each ws In Worksheets
If InStr(1, ws.Name, "Crp-") Or InStr(1, ws.Name, "Reg-") Or InStr(1, ws.Name, "Grp-") Then
arr(counter) = ws.Index
counter = counter + 1
End If
Next ws
Sheets(arr()).printout

As I debug it the array is filled with the proper sheets, but I for some reason cannot figure out the syntax for this line? Does it have anything to do with me declaring the array as a string and using integers as the index?

View 9 Replies View Related

Macro To Loop Through Sheets And Print Them Out Using An Array

Aug 4, 2009

I have created a macro that loops through and creates an array of the visible sheets. Now I would like for it to print each of those sheets out. I think my main mistake is in my declaration of the array type, since I have not worked with arrays much before.

how to make the following code operable. Currently when I run it I'm getting a "Run-time error (9): Subscript out of range" error.

View 2 Replies View Related

Return To Original Sheet After Print Array

Jun 14, 2006

The code prints a series of sheets. Afterwards these sheets are "group"ed together. The code can be accessed from 2 different sheets. I need to figure out how to get rid of the grouping and return to the original sheet.

Private Sub CommandButton1_Click()
Sheets( Array("Pipe", "Pipe Flow")).PrintOut
UserForm1.Hide
End Sub

View 2 Replies View Related

Multidimensional MI Analysis

May 11, 2009

how to tackle a piece of work that I really don't want to do.

We have extracted some summary information on one of our products. The workbook has 10 sheets, one for each of our 10 main sales channels. Each sheet has the same layout of information on. There are 7 tables on each sheet, and each one cuts the data in a different way (eg one summarises by age of purchaser (in age bands), another by demographic group etc). Each table then has the same 14 columns of key data (eg number of sales, average order value).

I've been asked to analyse this information "for anything interesting". At the moment, the only way I can think to do this is to print out the 10 sheets, sit down with a highlighter, and try to visually identify trends and anomalies. The idea fills me with dread, and I suspect will be quite inefficient.

I've asked whether I can get the data in a pivot table or some other format that might be more conducive to analysis, and have been told no. (There will easily be more than 100,000 lines in the original data (we're using Excel 2003)). To be honest, I'm not sure that I'd really be that much better off, even if it were in a pivot table.

View 9 Replies View Related

Limit Listbox Multidimensional

Feb 14, 2009

if someone have a code for filter o limit a Listbox but with 6 columns and 6 textbox because i have a code but is only onedimensional works fine but i dont have any clue how to modify to works like multidimensional

this the one dimensional
Private Sub tbxFind_Change()
Dim vList As Variant

'Read the original list
vList = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value

'Convert it to a 1D array
vList = Application.Transpose(vList)

'Filter it
vList = Filter(SourceArray:=vList, _
Match:=tbxFind.Value, _
Include:=True, _
Compare:=vbTextCompare)

'Send it to the listbox
lbxCustomers.List = vList

End Sub
Private Sub UserForm_Initialize()
'Read the original list
lbxCustomers.List = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
End Sub

View 9 Replies View Related

Multidimensional Arrays And User Defined Types

Oct 11, 2006

I have written a user type for my arrays but I am having trouble storing it. The number of arrays varies.

Dim arrTransactions() As Transaction
Dim assortedrowindex As Integer

For assortedrowindex = 2 To 100

Redim Preserve arrTransactions(0)

arrTransactions(0).CUSIP = Cells(assortedrowindex, 12)
arrTransactions(0).OrderDate = Cells(assortedrowindex, 9)
arrTransactions(0).BuyCurncy = Cells(assortedrownindex, 2)
arrTransactions(0).SelCuurncy = Cells(assortedrowindex, 10)
arrTransactions(0).Fund = Cells(assortedrowindex, 7)
arrTransactions(0).SettleDate = Cells(assortedrowindex, 10)
arrTransactions(0).BuyUnits = Cells(assortedtrowindex, 15)
arrTransactions(0).FxRate = Cells(assortedrowindex, 16)

View 3 Replies View Related

For Statement With A Next Element

Jan 24, 2010

I'm trying to do, I already have a macro that takes certain cells in sheets in a workbook and copies to them to individual workbooks that are open.

So for example, I have a workbook with sheets A, B, and C.
and then I have a macro that'll copy sheet A to an open workbook D and B to an open workbook E, and so on.

Problems I'm running into = if the workbook isn't open, it crashes, I'd like to have an if then statement where if workbook is not open, it stops?

Additionally, I'd like a for statement because there will be 10 or more sheets in total, so would be nice to have a for statement that changes the variables so For i = 1 to 10 where 1 would be D and 2 would be E and so on so it automatically changes the workbook names as necessary.

View 10 Replies View Related

Count Number Of Element

Dec 19, 2008

For example, I have 2 columns:
john------2
rick-------1
andrew---3
john------5

I want on the third and fourth column the result like this:
john------7
rick-------1
andrew---3

I want to count automatically the number of elements taken by john, rick and andrew.

View 7 Replies View Related

VLOOKUP Last Element Of A Column?

Jul 4, 2012

I have such a table:

A
01-Jun-12

B
02-Jun-12

C
02-Jun-12

[Code] ......

As you can see the letters repeat, and the dates are in order. Dates may repeat or be skipped.

I want to know how I retrieve the last date in the list that corresponds to a certain letter. For example, the last date that corresponds to "A" is 10-Jun-12. Similarly for "B", it is 11-Jun-12.

VLOOKUP will retrieve the first day.

In this case corresponding to "A":
=VLOOKUP("A",A2:B12,2,FALSE)

Is there any way I can retrieve the last day with a formula?

View 9 Replies View Related

Return A 4th Element From 3 Common Ones

Dec 11, 2007

My main report (Report 1) has part number, serial number, and work order information, among other things I need. Report 2 contains this information as well, but also has a work order item number, which is needed in Report 1. Otherwise, Report 2 has nothing else of interest.

What functions will allow me to get the item number information I want from Report 2 into Report 1?

I have spent a lot of time trying various combinations of VLOOKUP, SUMPRODUCT, IF, etc with no luck. There is probably a very simple (I hope!) thing that I am overlooking.

View 9 Replies View Related

Element Name Displayed Based On Abbreviation

Apr 20, 2014

I have the need to create a workbook that will return values based on the entering of an abbreviation. I will use the chemical elements as an example, I wish to have a column formatted so that if 'Au' is entered the cell populates with 'Gold' or if 'Pb' is entered then the cell is populated with 'Lead'

So in my case I have all the abbreviations in one column and all the full descriptions in another (approx 500 different codes/description)

View 3 Replies View Related

Parsing HTML Element Into Excel

Feb 11, 2014

I am trying to parse a section of html into excel but I don't know how to parse into a new row with each pattern rotation. I can do this both in Word and notepad++, but I can't find the same function of replace-with-line-break in excel's find-and-replace box.

Original html extract:
"shb":{"landline":"£1","mobile":"£1","text":"8p","mms":"24p"},"af":{"landline":"18p","mobile":"18p","text":"8p","mms":"24p"},"ak":{"landline":"3p","mobile":"3p","text":"8p","mms":"24p"},"al":{"landline":"10p","mobile":"25p","text":"8p","mms":"24p"},"dz":{"landline":"5p","mobile":"27p","text":"8p","mms":"24p"},

Results I need:
Capture.PNG

There is only one line as such in the entire page, so I don't need to loop through "blocks" of html codes with multiple lines.

I have had a look around and not sure what would be a good way to tackle this. RegEx (how to do it in excel macro)? HTML tags parsing (but these are not strictly tags)? I need to extract the correct section from page source as well, but I imagine this shouldn't be too hard. The url to the page I am extracting from is [URL] ........

View 3 Replies View Related

Get Data In Custom Range From Next Element?

Feb 18, 2014

I have a custom range I'll be copying from one sheet (a single entry registration form) that I'm adding to another (an "all entries" sheet) with a button assigned to a macro.

[Code].....

I then loop through the range, copying the cell from Sheet1 to Sheet2.

[Code]....

All works perfect, but I need to manipulate the data a little. If B3 from Sheet1 equals a certain string, I want to manipulate the data From Sheet1 B6 & B7 to paste into Sheet2 Column 1, otherwise paste B3 into Sheet2 Column1.

Again, my loop and everything works if I put B3 into Column1, B6 into Column2, and B7 into Column3, but it doesn't play well with the reporting I want to do later from this sheet.

Data Example

[Code]....

What I'm trying to do is
if B3 <> "NEW TEAM" then put B3 (Joe Smith on Sparkles) into the new sheet column1
if B3 = "NEW TEAM" then put "B6 on B7" (Jane Doe on Fluffy) into the new sheet in column1 (where B6 and B7 are the strings, obviously).

I haven't figured out how, in my loop, to access the data in (myCell + 1) and (myCell + 2) while I'm on the first cell (myCell). I could do it by jumping back to the Sheet1("B6") and Sheet1("B7") but I'm trying to write reusable code, and this range might change, so I'm trying to be a little more flexible than hard coding in more cells.

View 1 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved