SpecialCells method of Range class failed

  • Thread starter Sergei Emelyanenkov
  • Start date
S

Sergei Emelyanenkov

Hi,

I use Range.SpecialCells method (C#, Excel 2003) to filter visible cells. It
works fine, but if cursor is in Formula Bar it rises an exception
"System.Runtime.InteropServices.COMException (0x800A03EC): SpecialCells
method of Range class failed".
Can I force Range.SpecialCells to work in this situation? Or can I, at
least, determine that cursor is in Formula Bar?

In some cases (including described above) Excel's Visual Basic Editor
becomes disabled. It seems, it was made intentionally to prevent Excel
automation. Can anybody explain this situation? And how can I treat it in C#.

Thank you in advance!
Sergei.
 
J

Joel

Use Activate to select a worksheet and Select to move the cursor to the
worksheet.

Sheets("Sheet1").Activate
Range("A1").Select
 
S

Sergei Emelyanenkov

I tried to activate worksheet and select the range, but it doesn't help.
Exception still arises.
I can't work through this issue with VBA, because VBA Editor disabled (in my
instance of Excel 2003) when cursor is in Formula Bar. A part of C# code I've
used:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application objExcelApp = GetExcelApp(); // Custom function to
receive Excel application object.
Excel.Range rng =(Excel.Range)objExcelApp.Selection; // Get selected
cells. Works fine, even through cursor is in Formula Bar.
rng.Worksheet.Activate();
rng.Select();
Excel.Range objRngVisible =
rng.SpecialCells(Excel.XlCellType.xlCellTypeVisible, Type.Missing); // Get
only visible cells from selection. Exception here :(
 
J

Joel

You need to specify a worksheet and a range of cells

for example from excel VBA
set rng = activesheet.cells
or
set rng = activesheet.column("A")

Normally from another application you create a sheet. this would be the
macro from Microsoftword for creating ax excel object

Set ExcelSheet = CreateObject("Excel.Sheet")

You didn't post the functions that creates the excel object so I don't know
exactly what "rng" is set to.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top