Normally CVI handles multi-sheet files without problems, so if you get an exception you should verify that all parameters passed to the function are valid handles or objects.
First of all, does the second sheet actually exists? Depending on Excel options, a newly created file may have only one sheet, so if this is your case you may be getting errors. To determine if a second sheet does exist and select/create it you can use these lines:
errChk (Excel_GetProperty (ExcelSheetsHandle, NULL, Excel_SheetsCount, CAVT_LONG, &cnt));
if (cnt < 2)
// Create a new sheet if necessary
errChk (Excel_SheetsAdd (ExcelSheetsHandle, NULL, CA_DEFAULT_VAL, CA_DEFAULT_VAL, CA_DEFAULT_VAL, CA_DEFAULT_VAL, &ExcelWorksheetHandle));
else
// Select sheet 2
errChk (Excel_SheetsItem (ExcelSheetsHandle, NULL, CA_VariantInt(2), &ExcelWorksheetHandle));
// Activate sheet
errChk (Excel_WorksheetActivate (ExcelWorksheetHandle, NULL));
After this and if the range handle is valid, check error code after every function in your code: you may be getting in RangeActivate an error inherited from a previous call not monitored.
Finally, are you passing an ErrorInfo structure to the function? And does it add any useful detail to the error message?