Tag: 函数

VBA Excel,游戏组件?

我正在研究VBA和API的不同组件,并且遇到了一个网站 ,该网站提出了一个个性化的API,在一个电子表格中运行Pong游戏,该游戏包含特定的子目录和function。 使用的实例是Windows / Excel版本97,并声明不兼容2000版本(和,我假设,当前版本)。 我想知道是否有谁认为这是值得做的VBA精明的个人可以让我知道这是否是一个函数能够实现在当前迭代的Excel下,如果是的话,这个解决方法是什么? 当我使用下面的代码时,我得到一个运行时错误声明 vba332.dll丢失 debugging器将突出显示Public Function AddrOf的第9行,其中指出: Call GetCurrentVbaProject (hProject) 是错误行和(hProject)当徘徊在0 ,我假设也是一个问题,因为它应该得到一个值不是0向前移动… 根据我发现的一些阅读,引用的.dll的较新版本会是这样的: vbe7.dll 但是当我在这段代码中replace那行时,它仍然不会为Declare Function返回任何数据。 这似乎是一个有趣的API玩,但我不能想出一种方法来升级到当前的Excel版本。 代码: Option Explicit Private Declare Function GetCurrentVbaProject _ Lib "vba332.dll" Alias "EbGetExecutingProj" _ (hProject As Long) As Long Private Declare Function GetFuncID Lib "vba332.dll" Alias "TipGetFunctionId" _ (ByVal hProject As Long, ByVal strFunctionName As […]

检查连续的excellogging,如果它们相同,则为它们分配相同的ID

我有一个大的excel文件,格式如下: Contact First Name Contact Last Name Contact ID Brandi Aasen 1602940 Brandi Aasen 1600622 Brandi Aasen 1600622 Angela Abate 1600846 Angela Abate 1600846 Edahena Lucido 1603494 Guadalupe Delgado 1602523 Guadalupe Delgado 1602087 Tonya Addams 1602339 我所需要的是调整它,如果联系人姓名相同,联系人ID也必须相同。 截至目前,文件中的每个ID都是不同的。 如果我使用文件中列出的任何实际ID,则无关紧要。 例如,Brandi Aasen只要ID为“0001”就可以,只要“0001”是为她所有三个实例设置的ID。 该文件按姓氏和名字sorting,因此所有重复的联系人都依次相继。 我很难find一个有效的方法来做到这一点。 无可否认,我对excel没有太多的经验。 如果我尝试一些简单的事情: =IF((AND(F2=F3,G2=G3)),(H2),(H3)) 我马上遇到麻烦了,因为系列在我向下移动的时候继续下去,而且条件单元格的数量也不尽人意。 我在想的是,如果我把A和B列合并成一个,我可能会变得更好。 如果我在一个列中有全名,是否有可能实现类似(伪代码)的东西: For all instances of A2 -> […]

根据一定的范围将列分组

(不知道我是否在合适的社区,请让我知道如果这个问题更适合于另一个)。 无论如何,我想创build一个新的列组编号根据特定的范围,将在旁边的列中查找。 考虑到vlookup和if语句,这实际上会做这个工作,所以我不必在VBA中创build一些东西,但它不工作: =if(AC487>=600;3;if(600>AC487>=300;2;if(300>AC487>=60;1;if(60>AC487>=-60;0;if(-60>AC487>=-300;-1;if(-300>AC487>=-600;-2;if(-600>AC487;-3))))))) Column AC Column AD (expected results) 2304 3 760 3 467 2 1500 3 -500 -2 10 0 25 0 -146 -1 -249 -1 132 1

将.Range作为parameter passing给VBA

嗨请帮我下面, Sub movedata() Call select_data(.Range("B6:B12")) End Sub Function select_data(C As Range) Worksheets("sheet1").Range("I6:I16") = Worksheets("Sheet1").Range(C).Value End Function 我看不出我要去哪里错了, 谢谢,

Unicode文本到Excel中的阿拉伯语文本

我在这里问过,如何在每四位数字后把%u转换成一个合适的unicode文本。 我用UDF得到了一个很好的回复,现在从这个string开始工作了 002006390632064A0632064A00200627064406390645064A0644003A0020062A0645002006270644 我能够将其转换成 %u0020%u0639%u0632%u064A%u0632%u064A%u0020%u0627%u0644%u0639%u0645%u064A%u0644%u003A%u0020%u062A%u0645%u0020%u0627%u0644 那么string是很长,我只是告诉你结果…现在我看什么是有任何可以将其转换成阿拉伯文本的Excelfunction。 其实它是一个uncode,并希望看到它在阿拉伯文看起来如何。 目前我正在使用一个网站 http://unicode.online-toolz.com/tools/text-unicode-entities-convertor.php 手动转换它。 有什么可以在本地做的excelfunction。

我的工作簿在哪里popup?

我用Python编写了一个程序,使用XlsxWriter来创build工作簿和工作表。 如果我在我的IDE中运行我的程序,将在包含我的整个项目和所有文件的文件夹中创build一个Excel工作簿。 我正在制作一个GUI,但是我想知道是否有人知道工作簿将popup的位置,以及如何在GUI上创build一个GObutton,以便在其他人使用我的程序时popup一个新窗口。 我为我的GUI使用tkinter。 基本上,没有人知道如何编写一个“运行”程序的function,如果那个人按下了GO,我的工作簿将popup(假设我们将这个程序发送给其他人)在哪里? 它会popup在他们的桌面? 等等

Excel InStr函数的相反方向

我有这个VBA代码,用于比较Excel电子表格中列B到列A的两列。然后“突出显示”列A中但列B中缺less的那些代码。 我想不出的是如何颠倒过程来searchB列,并突出显示A列中不同的列。 原始代码: For i = 2 To LastRow For j = 2 To LastRow If Report.Cells(i, 2).Value <> "" Then 'This will omit blank cells at the end (in the event that the column lengths are not equal. If InStr(1, Report.Cells(j, 1).Value, Report.Cells(i, 2).Value, vbTextCompare) > 0 Then Report.Cells(i, 2).Interior.Color = xlNone 'Transparent background […]

我试图做一个dynamic范围偏移,但我得到一个错误

我从来没有使用过,但我得到一个错误,当我尝试做一个正常的偏移dynamic范围通过名称pipe理器 =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A)-1) 错误中的文本:“您键入的公式包含错误。” 我一定在做错事,但我不知道是什么。 这是我的工作表: A1 1 B1 Product1 A2 2 B2 Product2 A3 3 B3 Product3 我试图做一个偏移量,所以我可以采取VLookup()函数的macros中的variables中的第二列的值。 我还没有完全在这个VBA和这个macros,但我希望你明白我想要做什么。 macros应该看起来像这样: myProductValue = Applications.Worksheet.VLookup("e6", [someOffsetName], 2, 0) 因此,如果第一列是ID,那么我将ID编号input到单元格e6中(例如),将第二列的单元格的值赋给variables“myProductValue”

Excel vba函数返回

我为我的问题find了这个解决scheme 。 它的工作正常,如下所示: Dim CNPJs As New Collection, a Dim i As Long Dim rng As Range U_L = Plan2.Range("A" & Rows.Count).End(xlUp).Row On Error Resume Next For Each rng In Plan2.Range("A2:A" & U_L) CNPJs.Add rng.value, rng.value Next 但现在我想build立一个函数,返回这个独特的数组,因为我会用这个很多次…我试过这个: Public Function unArray(myRange As Range) As Collection Dim arr As Collection, a On Error Resume Next For […]

在excel值debugging器和实际单元格值不同(实际上是双倍值)

下面是在csv文件中的一个单元格中设置我的function的代码。 当我检查debugging器它正确地显示我的variables值为2886,但是当variables实际上在单元格中parsing它显示值5776(双)。 我没有任何价值的两倍,我坚持这一点。 任何hep将不胜感激。 Dim lRow, asLastrow, amLastrow, bsRow, bmRow As Integer Sheets("Multiple").Activate lRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row bmRow = lRow + 1 bsRow = lRow + 1 Sheets("Multiple").Activate amLastrow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1 Sheets("Single").Activate asLastrow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1 If asLastrow > 1 Then Do While bsRow < asLastrow ActiveSheet.Range("A" & CStr(bsRow)).Formula = […]