Array Of Worksheets

Feb 20, 2008

when you specify an array of worksheets, do all worksheets have to be found for particular command to work? for example if your array was:

worksheets(array("bob","john","mary","alice")).copy

and your file only contained sheets for bob and alice, would the copy command work for the sheets that were there? so, would these sheets be copied into a new book?

if not, and all sheets have to exist, what method will work when only part of the possible array of sheets exist?

View 9 Replies


ADVERTISEMENT

Selecting Worksheets Array When #of Worksheets Will Vary

Apr 26, 2006

How do I modify this macro so that the worksheet array will select all the worksheets except sheet 1?? My workbooks will have varying numbers of worksheets ...

View 3 Replies View Related

Selecting ALL Worksheets In Activeworkbook As An Array

Mar 21, 2008

I recorded the following macro to select all the worksheets in the Activeworkbook by clicking on the first worksheet and then hitting Shift Tab and selecting the final worksheet (thus '[Group] selecting' all worksheets in the active workbook).

Sub Macro1()

Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Sheets("Sheet1").Activate
Range("A1:B2").Select

End Sub
How do you generalise the Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select if the number and names of worksheets varies from workbook to workbook?

View 9 Replies View Related

Counting Worksheets Array In A Workbook

Jul 21, 2007

I need a macro I have created to count the number of worksheets that exist in the workbook and save it to a variable. I have hardcoded what I need to get done below. I need to clean up sheets in an array that is greater than 3 (so any sheets that exist after the 3rd worksheet will be deleted) This needs to be done as part of an import process to safeguard from users importing different files more than once.

Sub clear_sheets()

Dim shts As Long
' count worksheet array here and save it to variable

For shts = 4 To 12 'variable will be used here instead of number 12
Sheets(shts).Select
ActiveWindow.SelectedSheets.Delete
shts = shts + 1
Next shts

End Sub

View 8 Replies View Related

Array That Consists Of 120 Worksheets Within A Workbook

Aug 14, 2007

I have an array that consists of 120 worksheets within a workbook.

For example: Array(A,B,C,D,E,F,G...etc) for all the worksheets

Can I condense the array or change the format so that I do not have to list all of the worksheets every time I reference the array?

View 9 Replies View Related

Fill Array By Looping Worksheets

Aug 23, 2007

I am trying to write code that will loop through one sheet, fill an array and then use that array to populate cells in another sheet. I have a sheet with group names in column A, then in column B through Column IV there are the members of that group. There may be no members in a group or every cell through Column IV could contain data. I need to loop through each row, one at a time, see if a cell contains data, if it does, put it in the array, if it's empty then the array is done for that row. I then need it to go to another sheet and dump that data, however, now it needs to drop it in five consecutive cells in a row, then drop to the next row for the next five cells, etc.

Once this is done it then goes back to the first sheet, drops to the next row nad starts over.

I know how to loop through the rows, I just am not sure how to fill an array using variables for rows and columns. i.e., I can't say fill array with b1 to b30 instead I have to say fill array with intRow,intFirstColumn through intRow, intLastcolumn.

View 6 Replies View Related

Copy All The Worksheets From A Specific Folder Into An Array

Jul 12, 2009

I am attempting in the code below to copy all the worksheets from a specific folder into an array (for later manipulation), not to a single worksheet, The files open correctly, but the reading of the worksheets into the array is my downfall....

Sub FindOpenFiles2()
Dim FSO As Scripting.FileSystemObject, folder As Scripting.folder, file As Scripting.file
Dim directory As String
Dim wksht As Worksheet, i As Long, wkshtnames() As Variant
Dim wbNew As Workbook

directory = "C:Users"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set folder = FSO.GetFolder(directory)

For Each file In folder.Files
Workbooks.Open file
Next file
For Each wksht In ActiveWorkbook.Worksheets
i = 0
i = i + 1
ReDim Preserve wkshtnames(1 To i)
wkshtnames(i) = wksht.Name
Next wksht

View 9 Replies View Related

Dynamic Array Of Worksheets Matching Condition

Jun 13, 2007

im currently using a static array to select multiple sheets at once which works alongside another Sub

Sheets(Array("Group1", "Group2", "Group3", "Group4")).Select

i have a button that creates a new sheet and names it "GroupX" X being the next number, it automatically adds on the right number by itself and it works fine...
i want it my array to be dynamic so that i dont have to manually edit the array and the macro every time i add a new sheet.

i have tried things like:

Dim MyArray As Variant
Dim Shts As String

K = Sheets.Count - 4
For p = 1 To K

Shts = "Group" + p

Redim MyArray(K) As String

MyArray(K) = Shts

Next p

Sheets(MyArray(K)).Select

View 9 Replies View Related

Treating String As Array And Correct Array Format For Unicode Characters?

Jul 30, 2012

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.

View 1 Replies View Related

Populate Multiple Array Variables With Same Code By Dynamically Changing Array Name

Sep 9, 2012

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.

View 6 Replies View Related

Search Substring Of Array Matching List Of String From Another Array?

Dec 20, 2013

I need to export this to Xcelsius which doesn't support any macros/vba. Btw I can;'t use Row() in xcelsius too.

[Code].....

View 4 Replies View Related

String Array Values To Array Of User-Defined Types

Oct 2, 2008

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:

View 4 Replies View Related

Converting 3x10 Array To A 1X30 Array To Run A Match Formula

Apr 7, 2009

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.

View 6 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

Passing Array To OFFSET - Array Height Parameter

Aug 5, 2014

I want to pass an array to Offset in the "Height" parameter, without having to type the array.

{=MAX(SUBTOTAL(9,(OFFSET(A1,ROW(1:5),,{1,2,3,4,5}))))}

I can't seem to figure out how to build the {1,2,3,4,5}. I've tried another ROW(1:5) and have tried nesting that like N(ROW(1:5)) but nothing works.

How I can get the {1,2,3,4,5} without having to type it out (so that I can expand this to a larger list)??

View 8 Replies View Related

Filter An Array (the Longer One) Using The Shorter Array As The Criteria

Aug 26, 2009

I am trying to filter an array (the longer one) using the shorter array as the criteria. I am currently doing this using the following method

IF(LOOKUP(lookup cell, array)=lookupcell, lookupcell, "FALSE")

I then copy and paste 'values' and filter out the 'false' to get my final result.

This has worked in the past, but for some reason that I simply can't figure out, the formula isnt working! I've attached the example, and I've highlighted a number in blue (cell E522 and C103), (that should be being found in the 'LOOKUP' function) but is returning a "FALSE". I have looked over the code and simply can't figure out why Excel isn't returning the right value.

This is obviously happening for a quite a few of my numbers, as my filter result is returning an array that is about 1500 shorter than it should be. I have highlighted E522 as the 'example cell' to look at.

View 6 Replies View Related

Convert Boolean Array To Integer Array?

Jun 21, 2014

wondering is there a VBA equivalent of --() in excel that turns trues and falses to 1's and 0's?

View 14 Replies View Related

Index Match Array New Formula Not Array?

Nov 6, 2013

Is there anyway to recreate this formula w/o it being an array ?

{=IF(C3="","",IFERROR(INDEX('Master List'!$B$1:$B$2000,MATCH(TRUE,ISNUMBER(SEARCH('Master List'!$A$1:$A$2000,C3)),0)),"ADD TO MASTER"))}

View 5 Replies View Related

First Array Remain Same,second Array Always 11 Cell Added

Nov 15, 2007

=CORREL(C1:C10,C12:C21) at H1
=CORREL(C1:C10,C23:C32) at H2
=CORREL(C1:C10,C34:C43) at H3
etc

can i have a macro that first array remain the same, and second array always 11 cells added. drag it down also can

View 9 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

Excel 2010 :: Sort Worksheets Alphabetically And Keep The Data In Worksheets

May 15, 2013

I have read that there is a VBA macro in F11, but I also read that it would only sort the workshhet names, but not the data. I have Excel 2010.

View 2 Replies View Related

Loop Through Worksheets Not Working (delete Some Hyperlinks In Column A On 50+ Worksheets)

Jan 16, 2009

Just need to delete some hyperlinks in column A on 50+ worksheets. Thought a loop through all the worksheets would do it. Only works on active sheet. Forgive my ignorance, don't really even know where it goes, once it works - module or workbook?

View 2 Replies View Related

Copy Cells / Range From Worksheets Positioned Between Two Worksheets

Jul 7, 2014

Let's say I have a workbook with 7 worksheets named, for example, "Instruction", "Begin", "Worksheet 1", "Worksheet 2", "Worksheet 3", "End", and "Data". (in that order)

What I want to do is run a macro to go to whatever worksheet that is in between "Begin" and "End" and copy, for example, cells $C$1:$D$10; then paste as formula into worksheet "Data" starting from cell C1 and then down a list (i.e., copied cells from "Worksheet 1" get pasted as formula into "Data" cells C1:D10; then copied cells from "Worksheet 2" get pasted as formula into "Data" cells C11:D20, and so on and so forth).

But if I were to add more worksheets (e.g., "Recipe" and "ToDo") positioned in between "Begin" and "End" and run the macro again, it'll either 1) re-copy all the formulas from the included worksheets back into "Data" including the formulas from the newly added/placed worksheets or 2) it'll add the formulas from the newly added/placed worksheets and paste into "Data" at the end of the list.

Can create the macro to run based on the position of worksheet, and not based on the name of worksheet, since ultimately there will probably be over 10 worksheets between "Begin" and "End".

View 4 Replies View Related

Loop Across Worksheets: Perform The Same Process To All The Worksheets In My Workbook

Aug 10, 2009

I'm trying to perform the same process to all the worksheets in my workbook. This is the code I have now, but it will only apply to the single active worksheet:

View 2 Replies View Related

Array Find Or Array Search

Aug 15, 2014

Assume that I have in Sheet2 a list of CUSTOMIZED name.

[Code].....

Now in Sheet1, I have data in column A that has strings consist of the customized name.

For example

[Code] .....

What function should I use that could give me the result of the CUSTOMIZED name?

I was thinking of a formula i.e.

[Code] ......

Obviously, the above formula give me error. Even if it works, it'll not give me the customized name ...

View 3 Replies View Related

Creating Array From 2-dimensional Array

Nov 28, 2011

I'm new to arrays. They seem promising for what I want to do though...

Heres where I'm at. I have some data like this:

items freq 1 0.5 2 0.5 3 0.5 4 0.25 5 0.25 6 0.125

Now, I've created a 2 dimensional array, as such:

Code:
Sub testarray()
Dim arr1 As Variant
Dim rng1 As Range
Dim lngX As Long

Set rng1 = [A2:A6]
ReDim arr1(1 To rng1.Count, 1 To 2)
For lngX = 1 To rng1.Count
arr1(lngX, 1) = rng1.Cells(lngX, 1)
arr1(lngX, 2) = rng1.Cells(lngX, 2)
Next
End Sub

Now, what I need to do, is create an array for each freq of all the items that share that freq. Essentially I need this:

0.5 {1,2,3} 0.25 {4,5} 0.125 {6}

Now, I was thinking, if I could create a dictionary object and make the key the freq (so my keys would be 0.5,0.25,0.125) then I could assing the "item" an array (or another dictionary) holding the items that apply to that freq.

View 9 Replies View Related

Concatenate An Array (using Array Formula)

May 18, 2007

I just wanted to concatenate a few cells using an array formula like this:

{=SUM(IF(B2:J2="";0;B2:J2))}

Well, this does not work. I have no idea why it fails. Any solution to this without scripting?

View 9 Replies View Related

Using Array Variable Instead Of Array Formula

Jun 30, 2006

i need to replicate what i did using array formulas with VBA macro (array variable). to make things clear and simple i created an example for illustration only. look at it & u will find what i did & what i need to do ,much of it
in writing so that i accurately describe my problem. attached is my example

View 4 Replies View Related

Looking Up Row Array Data In Column Array

Jul 11, 2007

On one sheet (KPI) I have either the values "x" or "" in the range A84:A89 to mark wheter to use the corresponding project in the range B84:B89. On the sheet X-ref I have the same project names in range T4:Y4 and a corresponding target value in T8:Y8

What I want is the sum (or average) of the marked-projects target-values. The result should end up in KPI!G31.
In other words I want

=sumif(A84:A89;"x";'X-ref'!T4:Y4)

but it doesn't work since the first range is an column-array and the second range is an row-array.

View 5 Replies View Related

Return Array Elements From 2D Array

Feb 11, 2008

I'm trying to use an array to carry out string function on a range of excel cells.

Here is the code I am using

Dim arrXl As Variant

arrXl = ws.Range("F1:F" & ws.Range("D1").End(xlDown).Row)

For i = LBound(arrXl) To UBound(arrXl)
MsgBox (LBound(arrXl))
'If 1st char is different from 3rd char then remove all of string after 1st char

If Left(arrXl(i), 1) <> Mid(arrXl(i), 3, 1) Then
arrXl(i) = Left(arrXl(i), 1)
End If
'If 1st char is different from 7th char then delete string after 5th char
If Left(arrXl(i), 1) <> Mid(arrXl(i), 7, 1) Then
arrXl(i) = Left(arrXl(i), 5)
End If

The lbound function returns the value of 1 as the lower bound, I do not have "Option base 1" set so I was expecting the lbound value to be 0. The first 2 cells in the F column are blank so this may have something to do with it, I am unsure if cells in excel can be null if they can be null one cell may be null and the other may be a zero length string but I am unsure about this.

The ubound function returns a value of 487.

The code breaks when I try to access an element in the array so it breaks on the line:

If Left(arrXl(i), 1) <> Mid(arrXl(i), 3, 1) Then

and returns the "Subscript out of range" error message.

View 5 Replies View Related







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