Tag: 单元

在C ++中将值设置为Excel单元格抛出exception0x800A03EC

我正在写一个Excel地址。 插件中的UDF之一是通过在C ++中使用Excel自动化来为所选单元格设置值。 在我的代码中,我没有问题来获取范围,从选定的单元格中读取值,但是当我尝试将值设置为单元格时,如果值是一个string,代码将抛出exception(0x80020005types不匹配),否则,例外与HResult 0x800A03EC。 以下是一段代码片段: 有任何想法吗? void SetValue() { Excel::SheetsPtr pSheets = GetExcelApplicationObj()->GetWorksheets(); Excel::_WorksheetPtr pSheet = GetExcelApplicationObj()->GetActiveSheet(); _variant_t text = pSheet->Range["A2"]->Text; //Read value from selected cell works fine pSheet->Range["C2"]->Value = "Hello"; // throw 0x80020005 Type mismatch pSheet->Range["B2"]->Value = 5.0; //Set value throw Exception with HRESULT 0x800A03EC } Excel::_Application* GetExcelApplicationObj() { if (m_pApp == NULL) […]

Excel公式来查找其他单元格使用的引用

有没有办法find在Excel中另一个单元格中引用的单元格的地址? 例如,单元格C1包含formula = max(A:A),并返回实际引用到单元格A10的值10。 我可以在单元格B中使用返回“A10”的公式吗? 不,我根本不想使用VBA。

根据另一列从Excel中的列中select特定的单元格

以下是我想要参考的表格: **A** **B** ———————- TRUE ID 100 FALSE 0 FALSE 0 FALSE 0 FALSE 0 TRUE ID 811 FALSE 0 FALSE 0 FALSE 0 TRUE ID 742 基本上我想要在这里能做的是列出行A是真正的行B中的单元格。 甚至行B不是0.所以结果应该是这样的: **A** ID 100 ID 811 ID 742 我确定必须有一个简单的方法来做到这一点,但我似乎无法解决这个问题? 非常感谢任何帮助提前。

将数字转换为字母数字excel单元格引用

如何从数字转换为字母数字单元格引用? 例如,我有数字行,col(0,1),我想要转换为标准的MS Excel字母数字col,行(B,1)? 我很抱歉,但我不知道描述不同单元格引用的正确术语。 我想写数字单元格引用VB.NET代码,所以我的代码可以迭代,但转换为字母数字,所以我可以插入公式到我的电子表格。

使用单元格值作为variables在Excel中插入一个公式(公式编辑器)

我想用公式编辑器在Excel中插入一个公式。 不过,我想使用特定单元格的值作为方程的variables。 考虑这个过于简单的例子:X + Y = Z 我想确保X显示单元格A1的值,Y显示B2的值,Z显示C2的值。 我可以在背景上创buildExcel函数,没有任何问题。 但是我想在这里做的是以不错的格式显示公式的符号。 这可能吗? 问候,体育

如何在C ++中获得Excel单元格的值

如果有人知道如何从Excel :: Window指针到打开的Excel单元格中的实际值,请让我知道。 这里是任务条件: – Excel正在单一窗口中运行,在一张表上有一个工作簿 – 有些单元格有数据(为了简化,让我们假设只有一个单元[1,1]有数据,即“a”)问题是如何发现只有一个单元有数据,单元是[1,1],数据是“a”。 从这里开始是一个代码片段: int main( int argc, CHAR* argv[]) { CoInitialize( NULL ); HWND excelWindow = FindWindow(L"XLMAIN", NULL); EnumChildWindows(excelWindow, (WNDENUMPROC) EnumChildProc, (LPARAM)1); return 0; } BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM) { WCHAR szClassName[64]; if(GetClassNameW(hwnd, szClassName, 64)) { if(_wcsicmp(szClassName, L"EXCEL7") == 0) { Excel::Window* pWindow = NULL; HRESULT hr = […]

在Excel 2007中执行双单元格引用

我正在写一张表来显示一个testing的具体学生的结果。 在一张单独的表格中,我有所有学生的成绩,并且想要为这个学生做一些graphics,这是由他的行数在结果matrix中给出的。 为了做到这一点,我需要在一个引用里面做一个引用,我不知道该怎么做。 单元格中的典型脚本将是: =IF('All results'!G3>=E3*'All results'!G2;3;IF('All results'!G3>=E4*'All results'!G2;2;1)) 在这里,我需要G之后的'3'从另一个单元格中提取出来(在当前表格的B5中给出)。 我怎样才能在参考文献中放置一个参考?

使用目标识别单元位置

我碰到这个问题很多,而且很好奇,如果有人能告诉我为什么或者怎样写这个清洁剂。 下面是我的代码,它确实工作。 If Target.Row = rTime.Offset(0, 1).Row Then If Target.Column = rTime.Offset(0, 1).Column Then cboStatus.Activate End If End If 我怎么不能这样写呢? If Target = rTime.Offset(0, 1) Then cboStatus.Activate End If 如果目标已经是一个范围,那么为什么我需要指定个人行和个人专栏? 第二个代码将不起作用,我已经尝试了很多变化。 我甚至尝试了一些像If Target.Range = range(“C4”) Then或If Target.Range = cells(4, 3) Then ,但都没有工作。 我尝试了许多类似的东西的变化。 虽然,我不想使用像A4这样的特定范围,因为我想像使用示例中的rTime一样使用rTime ,但是我只是想弄明白这一点。 似乎没有什么工作,除了每次指定单独的行和列。 有人可以向我解释这个吗? 还有,还有比第一个例子更好的写法吗? 感谢任何减轻我的困惑的事情。

ms-excel:提取数字的十进制和整数部分并禁用字段更改

我有一个数字字段(比如说A)。 我必须在另一个字段(比如B)中提取其整数部分,并在另一个字段(比如C)中提取其小数部分。 我想,用户可以看到B和C单元格中的值,当更改A单元格时,但同时我不希望用户可以更改B和C单元格中的值。 可能吗?

Excel VBA – 是否可以通过使用matrix设置属性到一个范围的每个单元格?

我最近发现可以使用一个单独的命令来设置一个范围内的每个单元格的值: Worksheet.Range(Worksheet.Cells(Row1, Column1), Worksheet.Cells(Row2, Column2)) = MyMatrix MyMatrix是一个2Dmatrix,其尺寸为:Row2-Row1和Column2-Column1。 显然,如果我为每个单元格应用一个属性(假设.Font.Bold – 当MyMatrix是一个布尔matrix)时,它是行不通的: Worksheet.Range(Worksheet.Cells(Row1, Column1), Worksheet.Cells(Row2, Column2)).Font.Bold = MyMatrix 上面的命令使整个范围“粗体闪烁”几分之一秒,然后没有任何反应。 怎么来的? 我一定要避免For循环,因为在我的代码中需要很长的时间。 更新:即使我用string"normal"和"bold"填充MyMatrix然后写: Worksheet.Range(Worksheet.Cells(Row1, Column1), Worksheet.Cells(Row2, Column2)).Font.FontStyle = MyMatrix 我也尝试过(而且不起作用): Worksheet.Range(Worksheet.Cells(Row1, Column1), Worksheet.Cells(Row2, Column2)).Cells.Font.FontStyle = MyMatrix