Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
assigning values to cells in worksheet
I wrote the function below and received the error message 'Object variable or With block variable not set' for the line: wsSorting.Cells(idx, 1).Value = myArray(idx) I think I haven't written this proplery. How do I put a value (number) into the cell of a worksheet? I also have a general question about using worksheets in VisualBasic. Are they all the same or can they be virtual or real? I am using a worksheet to sort and rank numbers but it may take too long if the worksheet is not virtual. I also do not want to show the worksheet in Excel. I hope this makes sense. Thanks for any help. Public Function Sorting(myArray() As Double) As Double 'Sorting the permutations and identifying the rank of the observed value For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 1).Value = myArray(idx) wsSorting.Cells(idx, 2).Value = idx Next idx wsSorting.Range("A:B").Sort Key1:=wsSorting.Cells(1, 1), Order1:=xlAscending For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 3).Value = idx Next idx wsSorting.Range("A:C").Sort Key1:=wsSorting.Cells(1, 2), Order1:=xlAscending End Function |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
assigning values to cells in worksheet
Sheets("Sheet1").cells(1,1).value = 5 will work. So your code should also work. Is wsSorting referred to a sheet; and when this is used wihtin a function is this delcared as a global variable.. Dim wsSorting as Worksheet Set wsSorting = Workbooks("filename.xls").Sheets("sheetname") If this post helps click Yes --------------- Jacob Skaria "KAH" wrote: I wrote the function below and received the error message 'Object variable or With block variable not set' for the line: wsSorting.Cells(idx, 1).Value = myArray(idx) I think I haven't written this proplery. How do I put a value (number) into the cell of a worksheet? I also have a general question about using worksheets in VisualBasic. Are they all the same or can they be virtual or real? I am using a worksheet to sort and rank numbers but it may take too long if the worksheet is not virtual. I also do not want to show the worksheet in Excel. I hope this makes sense. Thanks for any help. Public Function Sorting(myArray() As Double) As Double 'Sorting the permutations and identifying the rank of the observed value For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 1).Value = myArray(idx) wsSorting.Cells(idx, 2).Value = idx Next idx wsSorting.Range("A:B").Sort Key1:=wsSorting.Cells(1, 1), Order1:=xlAscending For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 3).Value = idx Next idx wsSorting.Range("A:C").Sort Key1:=wsSorting.Cells(1, 2), Order1:=xlAscending End Function |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
assigning values to cells in worksheet
It was declared as a worksheet earlier: Public wsSorting As Worksheet But now I think I see the problem - I did not set it as anything. Is it possible to just keep wsSorting as a virtual worksheet where I can just add values? "Jacob Skaria" wrote: Sheets("Sheet1").cells(1,1).value = 5 will work. So your code should also work. Is wsSorting referred to a sheet; and when this is used wihtin a function is this delcared as a global variable.. Dim wsSorting as Worksheet Set wsSorting = Workbooks("filename.xls").Sheets("sheetname") If this post helps click Yes --------------- Jacob Skaria "KAH" wrote: I wrote the function below and received the error message 'Object variable or With block variable not set' for the line: wsSorting.Cells(idx, 1).Value = myArray(idx) I think I haven't written this proplery. How do I put a value (number) into the cell of a worksheet? I also have a general question about using worksheets in VisualBasic. Are they all the same or can they be virtual or real? I am using a worksheet to sort and rank numbers but it may take too long if the worksheet is not virtual. I also do not want to show the worksheet in Excel. I hope this makes sense. Thanks for any help. Public Function Sorting(myArray() As Double) As Double 'Sorting the permutations and identifying the rank of the observed value For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 1).Value = myArray(idx) wsSorting.Cells(idx, 2).Value = idx Next idx wsSorting.Range("A:B").Sort Key1:=wsSorting.Cells(1, 1), Order1:=xlAscending For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 3).Value = idx Next idx wsSorting.Range("A:C").Sort Key1:=wsSorting.Cells(1, 2), Order1:=xlAscending End Function |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
assigning values to cells in worksheet
Pass wsSorting as an argument...like below Public Function Sorting(wsTemp As workSheet, myArray() As Double) As Double 'Sorting the permutations and identifying the rank of the observed value For idx = 1 To UBound(myArray) wsTemp.Cells(idx, 1).Value = myArray(idx) wsTemp.Cells(idx, 2).Value = idx Next idx wsTemp.Range("A:B").Sort Key1:=wsTemp.Cells(1, 1), Order1:=xlAscending For idx = 1 To UBound(myArray) wsTemp.Cells(idx, 3).Value = idx Next idx wsTemp.Range("A:C").Sort Key1:=wsTemp.Cells(1, 2), Order1:=xlAscending End Function If this post helps click Yes --------------- Jacob Skaria "KAH" wrote: It was declared as a worksheet earlier: Public wsSorting As Worksheet But now I think I see the problem - I did not set it as anything. Is it possible to just keep wsSorting as a virtual worksheet where I can just add values? "Jacob Skaria" wrote: Sheets("Sheet1").cells(1,1).value = 5 will work. So your code should also work. Is wsSorting referred to a sheet; and when this is used wihtin a function is this delcared as a global variable.. Dim wsSorting as Worksheet Set wsSorting = Workbooks("filename.xls").Sheets("sheetname") If this post helps click Yes --------------- Jacob Skaria "KAH" wrote: I wrote the function below and received the error message 'Object variable or With block variable not set' for the line: wsSorting.Cells(idx, 1).Value = myArray(idx) I think I haven't written this proplery. How do I put a value (number) into the cell of a worksheet? I also have a general question about using worksheets in VisualBasic. Are they all the same or can they be virtual or real? I am using a worksheet to sort and rank numbers but it may take too long if the worksheet is not virtual. I also do not want to show the worksheet in Excel. I hope this makes sense. Thanks for any help. Public Function Sorting(myArray() As Double) As Double 'Sorting the permutations and identifying the rank of the observed value For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 1).Value = myArray(idx) wsSorting.Cells(idx, 2).Value = idx Next idx wsSorting.Range("A:B").Sort Key1:=wsSorting.Cells(1, 1), Order1:=xlAscending For idx = 1 To UBound(myArray) wsSorting.Cells(idx, 3).Value = idx Next idx wsSorting.Range("A:C").Sort Key1:=wsSorting.Cells(1, 2), Order1:=xlAscending End Function |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Assigning values to adjacent cells from a function | Excel Worksheet Functions | |||
Assigning values from source cells | Excel Programming | |||
Assigning values to other cells from one cells formula | Excel Discussion (Misc queries) | |||
Assigning new values to charts | Excel Programming | |||
Problem assigning values to a range of cells | Excel Programming |