Tag: 变种

整数/长从excel里面(VBA的和c ++的)VARIANT作为一个双

我有以下的c + +代码: #include <OAIdl.h> // for VARIANT, BSTR etc __declspec(dllexport) void __stdcall updatevar(VARIANT * x) { double nb = 3.0; ++nb; } 有一个函数做(几乎)没有(避免警告) 和一个.def文件: LIBRARY tmp0 EXPORTS updatevar @1LIBRARY 我用visual studio 2013编译成一个dll,我在excel-2013的VBA中引用如下: Declare Sub updatevar Lib "C:\path\to\thedll.dll" (ByRef x As Variant) 而且我使用这样的: Public Sub DoIt() Dim r As Range Set r = ActiveWorkbook.Sheets("Sheet1").Range("B2:C4") Dim […]

Excel:如何将答案存储在同一个单元格中? 我怎样才能完成var1 + var2 => Store:var2

标题可能是模糊的,让我解释一下。 在TI计算器上,我可以使用variables创build一个公式,其中var2用于方程,答案存储为var2。 有没有办法在谷歌床单(Excel)中实现这一点? IE:我该如何实现:var1 + var2 => Store:var2 我在Excel中要做的是在一个单元格中保持一个运行总数,并在另一个单元格中input。 (我不想要一个令人难以置信的长input表单。 我现在所拥有的只是一个周期性的#REF! 错误: A1 :(input) B1:=和(A1 + C1) C1:= B1

变体/迭代/ VBA

我试图访问我通过Excel工作表上的范围创build的变体的元素。 我的范围内的行数是基于“位置”工作表上的行数的dynamic,所以我只是声明一个变体,然后将其设置为等于相关范围。 我使用前缀为Loc的4个variables来查找边界,并在创build最终范围后设置变体。 不过,我无法迭代多次尝试。 我确定我缺less一些基本的东西,但还没有使For Each或LBound / UBound结构可以用于数组迭代。 变体数据是数字和文本的混合体。 您对我确信我缺less的简单/简单的事情的想法表示赞赏。 我明白,每个是只读的,而且更喜欢读/写,但现在只是想确保我可以迭代通过这个数组[真的,一个matrix] Sub Prefill_Work_Sub() ' Variables Dim LocRowStart As Range Dim LocRowEnd As Range Dim LocSheetRange As Range Dim EndColInt As Integer Dim LocationsVariant As Variant ' Ending Column Index Set EndColInt = 72 ' First, make range of location sheet Set LocRowStart = Worksheets("Locations").Range("A2") Set […]

在VBA中添加或乘上变体

假设我们有两个变体, X和Y ,可能是数字,范围或数组。 是否有一种简单的方法来添加或乘以工作表公式=X+Y和=X*Y ? 我想到的一种可能是使用Evaluate操作,如下所示: Dim X, Y Sub AddMult() Dim Add, Mult X = Array(Array(1, 3), Array(2, 4)) Y = Array(1, 2) Add = [GetX()+GetY()] Mult = [GetX()*GetY()] End Sub Function GetX() GetX = X End Function Function GetY() GetY = Y End Function 这似乎有点尴尬。 任何其他的想法? (下面是一个相关的问题: 将数组与标量相乘并添加到VBA中 。)

在VBA和dll之间传递任意types的数据

所以我正在使用VBA加载一个C ++ dll的Excel项目。 我想要做的是能够传递一个没有特定types(数据可以是数字或分类)的Excel范围到C ++ DLL(我可以描述我的Excel范围的最佳方式是typesvariant )。 所以这些步骤可能涉及: 在VBA中加载dll 发送excel范围到dll(范围可能包含数字和/或string的列的列) 在Excel文件中处理Excel中的数据 我正在考虑使用Excel变体和C ++变体。 但是我不清楚如何使用C ++变体,因为我找不到任何好的文档。 我收到的另一个build议是COM编程。 我的问题: 一个善良的灵魂可能会为我提供关于如何进行的指针? (例如通过提供C ++原型,以及如何处理变体的简单示例) 有没有人知道有关使用C ++变体(也可能与VBA共同使用)的良好文档/教程? 如果速度是一个问题,是否使用COM更适合使用VARIANTS? 是使用C API的一个选项? 更新: 我需要操作的范围的大小可能很大(〜500,000行)。 速度是一个因素,因此,我想尽可能避免不必要的复制。