View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
asım şenyuva[_2_] asım şenyuva[_2_] is offline
external usenet poster
 
Posts: 2
Default Copy a range into an array


public vois CopySelectedItemsOneByOne();
// Get Row Count in Range
int lastRow = (LExcel.ActiveSheet as
Excel.Worksheet).UsedRange.Rows.Count;

//Get Col Count in Range
int lastCol = (LExcel.ActiveSheet as
Excel.Worksheet).UsedRange.Columns.Count;

object value;
//object value2;

Excel.Range excelCell = (Excel.Range)ThisAddIn.ExcelApp.Selection;

object obj = ThisAddIn.ExcelApp.Selection;

if (obj is Excel.Range)
{
Excel.Range selection = (Excel.Range)obj;

//value2 = (selection.Cells[lastRow, lastCol] as Excel.Range);

// Get Address Of Last Cell
string x = (selection.Cells[lastRow, lastCol] as
Excel.Range).Cells.get_Address(false, false,
Microsoft.Office.Interop.Excel.XlReferenceStyle.xl A1, null, null);


// Get Values of all cells
for (int c = 1; c <= lastCol; c++)
{
for (int r = 1; r <= lastRow; r++)
{
value = (selection.Cells[r, c] as Excel.Range).Value2;
if (value != null)
{
MessageBox.Show(value.ToString());
}
}
}


}

------------------------

"Robert" wrote:

Thank You. Worked great.
--
Robert Hill



"WhytheQ" wrote:

hopefully this'll work:

Dim myArray()
Erase myArray 'incase it's already full
myArray =
Application.Transpose(ThisWorkbook.Sheets("Ranges" ).Range("B3:B23"))

Rgds
J


On Mar 23, 2:55 pm, Robert wrote:
I have a range ("B3:B23") in worsheet "Ranges" and I need to loop thru this
range and copy the values into an array.

Many Thanks
--
Robert Hill