Tag: 语法

间接使用可变范围的工作表名称

我有以下公式: =SUMPRODUCT(COUNTIF(INDIRECT("'"&D1:D2&"'!A1"),E2)) 从这里拿走https://www.extendoffice.com/documents/excel/2541-excel-countif-across-multiple-worksheets.html 现在,我正在对D列做一个COUNTA: =COUNTA(D:D) 这基本上会导致我有张数。 现在,我想使第一个公式使用第二个公式的结果: =SUMPRODUCT(COUNTIF(INDIRECT("'"&D1:***COUNTA RESULT***&"'!A1"),E2)) 什么是正确的语法来执行? 没有成功。

使用Excel VBA自定义类来包装数据库调用并返回logging集

我有以下代码。 意图是有这个工具类,我用来保存我所有的数据库工作,只是返回填充ADODB.RecordSet对象。 我收到错误。 我究竟做错了什么? Public Property Get RecordSetCustomers() As ADODB.Recordset m_myDB.BuildConfig Dim cmd As New ADODB.Command Dim strSQL As String strSQL = "SELECT * FROM vw_customers" cmd.CommandType = ADODB.CommandTypeEnum.adCmdText cmd.ActiveConnection = m_myDB.DbConnection cmd.CommandText = strSQL Dim rs As New ADODB.Recordset Set rs = New ADODB.Recordset Set rs = cmd.Execute RecordSetCustomers = rs End Property m_myDB是一个保存所有数据库configuration/连接参数的对象/类。 […]

使用VBA代码语法错误将占用的行高于空白行

我有一个语法错误在我的if语句,我很困惑,似乎编译器不应该需要=,但我得到一个预期的:=错误 如果isempty(activecell)则activecell.offset(0,-1) Range(zen).Select oak = 1 Do oak = oak + 1 If IsEmpty(ActiveCell) Then ActiveCell.Offset(0, -1) Else: If IsEmpty(Selection.Offset(0, -1)) Then Copy Selection(activerow(E – M).Range) Paste Selection.Offset(0, -1) Loop Until oak = ruby 这是完整的代码 Dim ws As Worksheet Dim rng1 As Range Dim ruby As Integer Dim ruby2 As Integer Set ws = Sheets("Belmont") […]

如何在VBA语法中编写数组公式(不是Excel-Formula)

要使用两个条件进行查找,请在Excel-Formula中将其写为: {MATCH(1, 1*(A1:A5=100)*(B1:B5=150), 0)} 如何在WorksheetFunction.Match函数的VBA语法中编写上述公式?

Excel IF函数总是返回第一个结果

我试图在Excel中编写一个公式,其中包含一个员工编号字段,并返回员工相关的乐队。 我刚刚开始一个新的工作,数据是有点全部地方,所以试图自动sorting一些这一点。 我们希望对此进行sorting的原因是,员工分组使得报表和编写SQL查询比自然发生的数字容易一百万倍。 目前我已经得到: =IF(C8>=100,"E: 100-199",IF(C8>=200,"F:200-499",IF(C8>=500,"G: 500-999",IF(C8>=1000,"H: 1000-4999",IF(C8>=5000,"I: 5000 Plus"))))) 上面的说法对我来说是有道理的,但无论数量多大,它总是返回“E:100-199”的第一个值,例如400仍然给出带E.我想象这意味着公式根本不会退出第一个IF语句,结果总是返回第一个答案,但是我不是一个Excel专家,语法对我来说还好吗? 任何关于我显然无能为力的指针都不胜感激。

如何在SPSS中汇总大型数据集时获得百分比列?

我在SPSS中有一个很大的数据集,如下所示: Col_1 Col_2 Qty ax 5 ax 5 ay 2 bx 1 by 6 by 7 cy 4 cz 10 cz 11 dx 2 使用以下语法聚合数据集: AGGREGATE /OUTFILE='agg' /PRESORTED /BREAK=Col_1 Col_2 /Qty_sum=SUM(Qty). 这是我得到的结果: Col_1 Col_2 Qty_sum ax 10 ay 2 bx 1 by 13 cy 4 cz 21 dx 2 除此之外,我想要结果给我一个百分比如下: Col_1 Col_2 Qty_sum Percent ax […]

vba数组操作硬编码语法

基于c语言的硬编码数组操作很常见,如下所示: int i[] = new i[2][2]; i = {{1,1},{2,2}}; 如何在vba脚本中完成?

Vlookup语法和用户input问题

我试图创build一个比较两个用户input工作表的macros,然后根据不同的原因将差异移到不同的工作表。 代码首先要求input最新的数据并打开该表单。 然后它要求比较旧数据的位置,但不打开它。 它添加了必要的工作表复制到。 然后它沿着一个单元格逐个单元格寻找第二个工作簿上的匹配序列(这主要是为了确保比较正确的数据的情况下,格式化是closures的)。 一旦find匹配的序列号,就比较第二个序列号是否符合条目,并取决于其中一个表格的不同或新的input。 我遇到的主要问题是VLookup。 它有多个错误424,1004和编译expression式错误。 我需要一点点指导,为什么它有这些问题。 我已经search了很多关于需要有括号来引用一个文件,但是当我完全按照这些格式它会引发expression式错误。 任何意见表示赞赏。 Sub Compare() 'Open workbooks ''Worksheet 1 Dim filter As String Dim caption As String Dim WB1FN As String Dim WB1 As Workbook filter = "Excel Sheets (*.xlsx),*.xlsx" caption = "Please select newest equipment file" MsgBox (caption) WB1FN = Application.GetOpenFilename(filter, , caption) If WB1FN = […]

.Value =“”和.ClearContents之间有什么区别?

如果我运行下面的代码 Sub Test_1() Cells(1, 1).ClearContents Cells(2, 1).Value = "" End Sub 当我使用公式ISBLANK()检查单元格(1,1)和单元格(2,1 ISBLANK()两个结果都返回TRUE 。 所以我想知道: Cells( , ).ClearContents Cells( , ).Value = ""和Cells( , ).ClearContents ?之间的区别是什么? 他们基本上是一样的吗? 如果我然后运行下面的代码来testing方法之间的时间差异: Sub Test_2() Dim i As Long, j As Long Application.ScreenUpdating = False For j = 1 To 10 T0 = Timer Call Number_Generator For i = 1 […]

尝试在单元格中查找确切string的下一个实例

我需要帮助find一个单元格中的确切string的下一个实例。 准确地说,我想查看一系列标题,find一个声明variables的下一个实例来获得列号,我想通过这一系列标题来查找下一个空单元格并保存该号码,最后,我想采取第一列号码,并从第二行search,直到我find一个空单元格的第一个实例,并将该数字保存到一个variables。 我一直在做的是这样的: With Rows(1) Set found = .Find(what:=Target, After:=.Cells(1, 1)) End With 但似乎如果我不小心键入“S”,它会发现一个单元格的第一个实例包含一个string包含子string“(”姓氏),而不是第一个单元格只包含“S”。 我的恐惧是,如果在其中有“”的列,那么我的程序将无法正常工作。 除此之外,我按列sorting,当列中的单元格为空时,我的程序一直推到列表的底部,我试图删除那个空的单元格空间。 我试着做Application.WorksheetFunction.Match,HLookup和VLookup和一般工作表函数不适合我。 所以举个例子说明我想做什么: I have 10 Columns with headings. I want to find the first instance of a column that contains exactly the string I send into this class. For instance, if the columns are "FirstName | LastName | Name", […]