Assign A Non Contiguous Range To An Array

Jan 25, 2009

When I insert a line to select the range on the Worksheet it does select the range named as temp. However, the array does fill but only with the first part of the range eg in this case A7:C44.

My aim is to create an array of size point1A( all the rows in the multiple ranges, 3 columns).

Example of a Range to be assigned to the Array point1A. temp = "A7:C44,D7:F44,G7:I44,K7:M44,N7:P44,Q7:S44,"

View 6 Replies


ADVERTISEMENT

Load Array With Values From Non-contiguous Ranges

Aug 2, 2014

I have tried:

Code:
With Sheet1
x = .[b7:i16,b19:i23,b27:i32].Value
But that only loads the first range (.[b7:i16]).

This does work:

Code:
.[b7:i16,b19:i23,b27:i32].Copy .[z1]: x = .[z1:ag21]: .[z1:ag21].Clear

I would rather avoid having to copy/paste, load the array, then clear. Is there a way to load the array directly?

View 2 Replies View Related

Select Non Contiguous Blank Rows Via Array

Feb 17, 2008

I have a problem with the following code.

I want to select multiple rows in a very huge spreadsheet. But, when I
use this code, I receive an error: Runtime error 1004, Method ' Range'
of Object '_global' failed. What is wrong? Or maybe there is other
better way to select automatically empty rows in a spreadsheet?

Public Sub delhol()
'
' delhol Macro
'
' Keyboard Shortcut: Ctrl+d
'

Dim k As Variant
Dim rr As String

k = Array(34, 35, 38, 39, 40, 77, 133, 182, 207, 209, 225, 226, 295,
299, 300, 338, 394, 437, 468, 470, 480, 481, 560, _
591, 599, 655, 712, 729, 746, 755, 756, 852, 860, 962, 990, 1005,
1006, 1077, 1081, 1082, 1083, 1114, 1176, _
1217, 1252, 1260, 1261, 1338, 1342, 1343, 1344, 1375, 1381, 1437,

View 4 Replies View Related

Can't Assign To Array

May 30, 2014

I don't see why I cannot populate the following array The usedvar is an array of letters and I'm trying to build a new array that converts them into ascii.

Code:

Dim usedvar_asc() As Variant, f As Integer, g As Integer, temp_usedvar_asc As Integer
Dim temp_usedvar As String
For f = 1 To UBound(usedvar)
temp_usedvar = usedvar(f)
usedvar_asc = Asc(temp_usedvar)
Next

View 9 Replies View Related

Assign Array To Variable

May 19, 2009

My question is about assigning an entire array to a single variable. In this case, I want to assign an entire array to one element of another array.

View 6 Replies View Related

How To Assign An Array To A Variable

May 15, 2008

how to do is the assignment of GoodArray1 to CurrentArrayToUse, i.e. "CurrentArrayToUse = GoodArray1" below:

Global NextArrayToUse()
Global CurrentArrayToUse()
Global PreviousArrayToErase()
Global GoodArray1(), GoodArray2(), [etc]
Global CurrentGuessNumber As Integer

[bunch of code, part of which assigns a number to CurrentGuessNumber, then the following...]

Select Case CurrentGuessNumber
Case 1
CurrentArrayToUse = GoodArray1
NextArrayToUse = GoodArray2
Case 2
CurrentArrayToUse = GoodArray2
NextArrayToUse = GoodArray3
PreviousArrayToErase = GoodArray1
ReDim PreviousArrayToErase(0, 0)

View 9 Replies View Related

Count And Assign File Name To Array

Jan 17, 2007

I have a code below. Whenever there's no file in this directory C:Summary_Reports_from_VBA , an error will surface that says "Runtime error '9'.

Subscript out of range". And once the debug option is selected, it point to this statement => ReDim Preserve s(UBound(s) - 1) .

Sub Example() ...

View 8 Replies View Related

VBA - If Cell Contains Text Within Array In Different Workbook / Assign Value

Oct 20, 2012

I have a worksheet (WORK1) that contains two columns of values that I can add to or change if necessary. The first column would be a text string (STRING), the second column would be its category (CATEGORY).

Example:
STRING CATEGORY
Chevron Gas
Exxon Gas
Vons Groceries
McDonalds Hamburger

In a separate workbook (WORK2), I have a column (A) which contains text. Ex:

A1 = "Station 2134 Chevron Motor"
A2 = "ExxonOil 234"
A3 = "Vons store"
A4 = "Hamburger McDonalds"

I would like to assign B1, B2, and so on... a CATEGORY if it contains STRING.

For this example, B1, B2, and so on... would be assigned the values.

B1 = "Gas"
B2 = "Gas"
B3 = "Groceries"
B4 = "Hamburger"

View 5 Replies View Related

Assign Row And Interior Color Directly To Array

Feb 14, 2014

I need to have 3 arrays for a column of data, the first holding each cell value, the second the Row number and the third, the Interior.Color.

Currently I am having to assign each row and interior colour to a variable with a | between each then use the split function on that variable to assign it to an array (no problem with each cell value as that can be assigned directly to an array.

Code:
For Each rC In Range("a2", Range("a" & Rows.Count).End(xlUp)).SpecialCells(12)
If sO = Empty Then
sO = rC.Interior.Color
Else: sO = sO & "|" & rC.Interior.Color
End If
If sR = Empty Then
sR = rC.Row
Else: sR = sR & "|" & rC.Row
End If
Next
c = Split(sR, "|")
v = Split(sO, "|")
x = Range("a2", Range("a" & Rows.Count).End(xlUp)).SpecialCells(12).Value

As there are over 10,000 rows involved loading the variables is taking a considerable amount ot time, whereas the direct loading of the value is very fast. So I want to be able to load all arrays directly.

I have tried various methods to get Row and Interior.Color to load directly into arrays c and v but without success so far.

View 2 Replies View Related

Assign Listbox Values To Two Dimensional Array

Feb 11, 2007

How can I assign values from a listbox to a twodimensional array?

and next

do something like search and remove a row and assign the array back to the listbox

I know I can do it directly, but I need the array for something else too

View 5 Replies View Related

Grouping Contiguous List Into Non-Contiguous Groups

Sep 9, 2006

I would like to be able to count the amount of entries in column C and depending on the amount group them in either groups of 3 or 4, all names would be unique...so if there are 14 names in the list they would need to be grouped in to two groups of 4 and two groups of 3, if there were 19 then 4 groups of 4 and 1 group of 3 etc to a maximum 50 people, the results could appearon a seperate worksheet say pasted on to the worksheet starting with the groups of 3 (so paste a group of 3 then skip 3 rows then paste groups of 4 skip 2 rows, the row skipping is to allow seperation and manual entry of extra data). There will never be groups of 5 or more and never less than 3

View 8 Replies View Related

SUMIF Non-contiguous Range

Jan 8, 2006

Range:
C3,C14,C25,C34,C41

Criteria:
>0

sum-range:
C3,C14,C25,C34,C41

I can't get that to work since the commas in the range are throwing the function off.

View 14 Replies View Related

SUMIF Non-contiguous Range

Jan 8, 2006

range:
C3,C14,C25,C34,C41

criteria:
>0

sum-range:
C3,C14,C25,C34,C41

I can't get that to work since the commas in the range are throwing the
function off.

View 13 Replies View Related

Finding Last Row Of Non-Contiguous Range?

Aug 17, 2012

I know how to find the last row of a continuous range. it's simply:

Code:
someRng(someRng.Count).row

How do you find the last row of a non-contiguous range though? Assume the range is vertically laid out and I don't want to do any looping.

View 9 Replies View Related

Resizing Non-contiguous Range

Apr 8, 2008

Is it possible to re-size a non-contiguous range? I'm guessing "no", and a Google trawl hasn't provided me with anything.

Here's what I'm trying to do:

dim mult_rng as range
dim rng2 as range

set mult_rng = range("A1:B1,D1:E1")
set rng2 = mult_rng.resize(rowsize:=10)
That is, my original range is comprised of non-contiguous cells in the same row. When re-sizing, I'm trying to increase the number of rows, but leave the columns the same.

Like I said, my gut instinct says that this isn't possible using the 'resize' property. Can anyone think of another method to use? My constraints are that the original mult_rng isn't always the same (and isn't always non-contiguous).

View 9 Replies View Related

SQL Queries To Non-contiguous Range

Oct 3, 2009

I want data to columns A, C and E, while I have important data in columns B and D. Should I make three queries? Should I make query and save the results to temporary place and then move all the results to those columns A, C and E?

Right now the copying happens like this:

If Not rsData.EOF Then
rngTarget.CopyFromRecordset rsData
Else
MsgBox "No records returned.", vbCritical
End If

So should I do
1) One query and move everything in the right places
2) Multiple queries
3) Something else

Does this depend a lot about how many results I expect? I'd say likely about 100, maybe less than 1500, never more than 10000

View 9 Replies View Related

Find Blank In Non-Contiguous Range

Mar 19, 2013

Need code that will search non-contiguous range for first empty cell, paste data into found cell and data into offset cells and end search. If not empty, move to next cell in non-contiguous range. If NO empties are found in entire range, a msgbox.

Non-contiguous range: Range("B2,B32,B62,B92,B122,B152,B182")

Pasted data: 1st range into found empty, 2nd range into range offset of empty.

View 9 Replies View Related

Vlookup On Non Contiguous Named Range

Jan 20, 2010

I'm trying to do a vlookup on a non contiguous named range.

I have a non contiguous named Range called "temp".

View 6 Replies View Related

Creating Non-contiguous Range Without Duplicates?

Jun 4, 2012

I am trying to create a large range composed of smaller ranges. Some of these ranges may overlap so I want to make sure when I add cells to the range they don't already exist. I know how to make sure the same value doesn't exist in a range, but not the same cell.

View 2 Replies View Related

Manipulating On A Range Of Contiguous Rows Using VBA

Apr 13, 2008

I have a contiguous range of rows starting from row 5. ...It starts from row 5 but could end anywhere below.

The name of my Sheet is Tester.

Now in Tester, columns B,C, and D have numerical values in them. Using VBA, how can put in values in corresponding row of column A.

So if there are values from B1:D39 and B40 onwards is empty, then A1 will have value B1*C1*D1, then A2 will have B2*C2*D2 and so on until A39 = B39*C39*D39

**I need to write the code so the whole process is done fastest.The code may be long but the macro needs to run as fast as possible.

(Also, I remember using Screen.Updating = False when I wrote similar stuff many yrs ago. Would this be useful here?)

View 9 Replies View Related

Select The Top Right Cell In A Non-contiguous Range

May 29, 2009

Is it possible, through VBA, to select the top right cell in a non-contiguous range? For example, I have defined A1, A3, and A5 as a range. How could I tell Excel to select A5 from within that range?

I am using Excel 2007.

View 9 Replies View Related

Macro: Count Non-Contiguous Range

Dec 17, 2006

I'd like to count non blank cells in 16 separate ranges (each range consists of 6 consecutive cells). The first range in the series is C9:H9. 3 cells are then skipped and the process is repeated with the next range, ie L9:Q9 then skip 3. The last range in the series of 16 is therefore EK9:EP9.

If the value of non blank cells = 2 in any of these 16 ranges then copy the contents of this range to C24:D24 in sheet " Record Form Games 3583". If C24:D24 is not empty copy these values to C25:C26.

If the value of non blank cells = 6 in any of these 16 ranges then copy the contents of this range to C22:H22 in sheet "Record Form Games 3583". If C22 is not empty copy these values to C23:H23.

The ranges colored yellow in the example workbook are the ones that need to be copied to the sheet Record Form Games 3583.

View 9 Replies View Related

Nth Lowest Number In Non-Contiguous Range

Aug 10, 2007

I want to use the Small function on a set of cells that are non-contiguous. But I know that the Small function only works on an array, which cannot contain cell references. Copying the cells to a contiguous range is not an option, as some of the cells I want referenced are generated on the fly in a Sumproduct function. Is there some alternative I could use? I can use the Min function to get the lowest value, as it allows for references, and the Max function to get the greatest, but what about those in between?

View 4 Replies View Related

Copy Non-Contiguous Range & Paste To Last Used Row

Aug 31, 2007

I am trying to have this loop go through colums of data and compare columns 3 and 4. Where there are differences, parts of the row are copied and pasted in a summary table.

My problem is the output to the summary table.

How do I control which cells in the row are copied? (I only want to copy columns 1, 3 & 4)
How do I control where the copied cells are pasted to?

Sub Change()
Dim r As Long

'Loop to Compare Values
For r = 4 To Cells(Rows.Count, 1).End(xlUp).Row
'Looks For Funds That Upgraded
If Cells(r, 4) < Cells(r, 3) Then
'Highlights the row
Cells(r, 1).Resize(1, 5).Interior.ColorIndex = 34
'Copies The Applicable Cell Over Into Column 7
Cells(Rows.Count, 7).End(xlUp).Offset(1) = Cells(r, 1)
'Places a note into column 5
Cells(r, 5) = "UPGRADE"
End If
If Cells(r, 4) > Cells(r, 3) Then
Cells(r, 1).Resize(1, 5).Interior.ColorIndex = 36
Cells(Rows.Count, 7).End(xlUp).Offset(1) = Cells(r, 1)
Cells(r, 5) = "DOWNGRADE"
End If
Next r
Columns("G:G").EntireColumn.AutoFit
End Sub

View 9 Replies View Related

Dsum With Non-contiguous Range Criteria

Dec 28, 2007

Is it possible to use a non-contiguous range for the criteria parameter of the DSUM function? I want to do something like this. =DCOUNTA(wholesale_all,"Assignment Date",D2:D3,G2:G3) This formulas won't work the way I have it typed, but is there a workaround to achieve the same result?

View 2 Replies View Related

Number Of Columns In Non-Contiguous Range

Jun 9, 2008

Consider the following range (in my case a PivotTable):A1:E7

I create a Named Ranges that corresponds to column 1:3 and 6 from the range above. i.e : A1:C7,E1:E7

I need to find out the number of columns of my range, this is because it can change in the future, and I have an offset formula needing this information.

When i type =columns(MyNameRange) it returns #REF! as there are 2 areas in my Named Ranges. I am expecting 4.

I have written the a VBA User Defined Function that does the job, but I would like to know if there is no native solution to get this information.

Function TotColumns(rng As Range)
Dim Cols As Integer
For Each Ar In rng.Areas
Cols = Cols + Ar.Columns.Count
Next
TotColumns = Cols
End Function

View 7 Replies View Related

Define Non Contiguous/Continuous Range

Aug 5, 2008

I am building a macro to conditionally edit cells that meet certain criteria within the current selection:

Dim FinalStr As String
If CheckBox3.Value = True Then
For Each cell In Selection
If cell.Font.ColorIndex = Range2.Font.ColorIndex Then
FinalStr = FinalStr & "," & StrConv(cell.Address, 1)
End If
Next
End If
FinalStr = Right(FinalStr, Len(FinalStr) - 1) 'To remove extra "," at the beginning

What I am getting from this macro is a string like "$I$27,$J$27,$E$28,$F$28" that I use later to edit that range, for instance

Range("$I$27,$J$27,$E$28,$F$28").ClearContents

It worked fine, however, I found later that XL cannot handle more than 20-30 individual cell addresses. The error msg I am getting is: " Method 'Range' of object '_Global' failed " Note that it won't be very practical to pick the cells and edit them within the same loop since there are several criteria times several edit options.

View 9 Replies View Related

Select A Contiguous Range Of Cells In A Column

May 7, 2009

I'm trying to select a contiguous range of cells in a column and then iterate over that. I keep getting error "91", object variable not set. I have:

View 5 Replies View Related

Reference Individual Elements From Non-Contiguous Range Name

Jun 29, 2012

I have several tables on one sheet, each of which has a Grand Total value at the bottom right of the summed data range

I have manually selected (using ctrl + left mouse click) each Grand Total cell and defined all these cells as a Named Range called Grand_Totals

I thought it would be possible to reference each of the cells in the Grand_Totals range individually.

The =Index function works fine if the data is contiguous but I can't figure out how to get anything other than the first element of the Grand_Totals range

So for example

Lets say the cells of the Grand_Totals non-contiguous named range are F10,N10,F30,N30,F50,N50

How would I reference the third element/cell (F30) in this range. I should point out that I actually need to reference all the cells in the Grand_Totals range and the range has a lot more than 6 cells

View 5 Replies View Related

OFFSET Non-Contiguous Named Range In Formula

Jul 14, 2012

I have as the two logical operators for an IF function the following COUNTA calculation which checks how many blanks are in the range GrdMtx7 and subtracts this from the value in E5 and adds the suffix "Module(s)".

Code:

(E5-COUNTA(GrdMtx7)-1)&" Module(s)",(E5-COUNTA(GrdMtx7)&" Module(s)")))
GrdMtx7 is a non-contiguous range consisting of the following cell references on a second sheet:

Code:

='Mod Schedule'!$E$7,'Mod Schedule'!$H$7,'Mod Schedule'!$K$7,'Mod Schedule'!$N$7,'Mod Schedule'!$Q$7,'Mod Schedule'!$T$7,'Mod Schedule'!$W$7,'Mod Schedule'!$Z$7,'Mod Schedule'!$AC$7,'Mod Schedule'!$AC$7,'Mod Schedule'!$AF$7,'Mod Schedule'!$AI$7,'Mod Schedule'!$AL$7,'Mod Schedule'!$AO$7,'Mod Schedule'!$AR$7,'Mod Schedule'!$AU$7,'Mod Schedule'!$AX$7
I need for the formula of the IF function to copy down so that it refers to F5, G5, H5, I5...etc.

I also need for the non-contiguous named range GrdMtx7 to refer to the same non-contiguous range shifted down one row intact for the COUNTA function to operate on the next row down, such that COUNTA is checking for blanks in the range:

Code:

='Mod Schedule'!$E$8,'Mod Schedule'!$H$8,'Mod Schedule'!$K$8,'Mod Schedule'!$N$8,'Mod Schedule'!$Q$8,'Mod Schedule'!$T$8,'Mod Schedule'!$W$8,'Mod Schedule'!$Z$8,'Mod Schedule'!$AC$8,'Mod Schedule'!$AC$8,'Mod Schedule'!$AF$8,'Mod Schedule'!$AI$8,'Mod Schedule'!$AL$8,'Mod Schedule'!$AO$8,'Mod Schedule'!$AR$8,'Mod Schedule'!$AU$8,'Mod Schedule'!$AX$8

I can't get got to work at all using OFFSET and would rather not create dozens or hundreds of named ranges incrementing one at a time - is there a way to achieve this, preferably with a formula, but vba if absolutely necessary.

My best effort doesn't work:

Code:

(E6-COUNTA(OFFSET(GrdMtx7,1,))-1)&" Module(s)",(E6-COUNTA(OFFSET(GrdMtx7,1,)))&" Module(s)")

View 2 Replies View Related







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