Tag: if statement

在Excel VBA中查找和如果语句

我正在尝试编写一个脚本,通过位于名为“数据库”的工作表中的Excel数据库执行search。 search结果将被呈现在名为“结果”的表格中。 可以根据用户input的一定标准进行search,即“国家”,“类别”和“子类别”。 这些被定义为依赖于用户的variables,如下所示: country = Sheets("Results").Range("D5").Value Category = Sheets("Results").Range("D6").Value Subcategory = Sheets("Results").Range("D7").Value 我希望强制填写“国家/地区”字段,以便进行search。 如果此条件得到validation,则search将根据用户提供的其余条件运行。 为了实现这一点,我写了以下内容: finalrow = Sheets("Database").Range("A200000").End(xlUp).Row For i = 2 To finalrow 'If the country field is left empty If country = "" Then Sheets("Results").Range("B10:J200000").Clear MsgBox "You must select a country in order to search the database. Please do so in the […]

自动填充行数据匹配

我正在尝试创build一个工作跟踪表,当用户在一列中input相关的站点ID时,会自动显示客户数据(地址,电话号码等)。 这是我的例子: Main表是跟踪工作的地方。 MasterSheet是所有主数据所在的地方。 主表A列是作业ID – 这是用户手动添加的。 主表B栏是站点ID – 这是用户手动input的。 主要栏C栏 – 这是我想根据B栏中input的站点ID从MasterSheet中自动填充相关数据的栏。 检查一下给了我这个公式: =if (B1 = "X", vlookup (A1, master-list-data-range, 3, 0 ), "") 显然,只有在主列表上的站点ID对于我想自动填充的所有行都是简单的“X”时才有效。 我不知道我可以用什么公式来告诉主页栏C: 使用MasterSheet中的信息自动填充列E如果主页列B站点ID匹配MasterSheet列B站点ID 有没有一个公式我可以用它? 我知道这可能是If和VLOOKUP一些组合,但我不确定确切的格式。 任何帮助,将不胜感激!

逐行列分组间距问题

我有四列的Ident代码对应于一个人有多个条目。 我需要得到一列与所有唯一的识别码对应的每一个人在一行中用逗号后面跟着一个空格。 我有一个VBA删除重复,但VBA将无法正常工作 – 我认为,因为这些逗号之后没有一个空格后面的我的代码数据的最后一行,我要求看看。 我觉得有一个简单的解决scheme,我只是没有看到它。 我非常新的VBA和Excel适度。 这是我用来返回与每个人有关的代码的渐进值的陈述,最后一行是所有代码在一个单元格中的顶点 =IF(A12=A11,P11&"," &O12, O12) 请参阅附加文件列P – 当它达到四个或更多的代码时,逗号之后没有空格,VBA副本去除程序不起作用。 [我的工作表样本 我得到了公式后,我应该能够运行此VBA摆脱所有代码的高潮线路中的重复…我认为… Function RemoveDupes2(txt As String, Optional delim As String = " ") As String Dim x 'Updateby20140924 With CreateObject("Scripting.Dictionary") .CompareMode = vbTextCompare For Each x In Split(txt, delim) If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing Next […]

Excelcombobox条件If语句检测空白

我正在写一个If语句来testing我是否在两个combobox中select了一个选项。 被检查的combobox是从具有两个值的数组中生成的。 其中一个单元格是空白的,所以combobox中的最高值是空的。 我的if语句是 数组是 Private Sub cbApplicationSelection_Change() If (eMassWelcome.cbwesitechoose.text = "") Then eMassWelcome.cbApplicationSelection.text = "" MsgBox "A website has not been selected. Please select a website from the dropdown and try again." End If Exit Sub End Sub 这工作。 问题是popup了3次,我不知道为什么。 我试过IsNull()和listindex = -1 。 IsNull()不起作用,列表索引给了我与上面相同的结果。 所有这些都是在Excel中使用vba完成的。

Excel VBA – 根据条件文本string将数据范围从一个表单传输到另一个表单

我是新来的macros,并试图将数据范围从一个工作表传输到另一个基于条件文本string。 “查询”表中的数据(范围“A5:G1200”)需要根据“查询”表中的列范围“K6:K1200”是文本string“Y”还是“N”转移到“报价单” 如果文本是“Y”,我们希望传输“y”的数据行,如果文本是“N”,我们不希望有“N”的行传输。 一旦“Y”的数据范围转移到“报价”单上,我们需要将数据从“报价单”(范围“A5:G1200”&分开范围“L5:M1200”)传输到“订单”如果列在“引用”表中的列范围“N6:N1200”是文本string“Rec'vd”或“Closed”。 和上面一样,如果文本是“Rec'vd”,我们希望传输带有“rec'vd”的数据行。 如果“closures”,那么不应该传输来自“closures”行的数据。 一旦所有的数据被传输到所有3张基于文本条件。 我想有一个基于date范围过滤这些数据的第四张纸。 我希望能够inputdate范围,然后input每个工作表的所有数据(“查询”,“报价单”和“订单”),以过滤到“主”第四张表。 每个数据表应在主表单上有自己的区域(一个在另一个下面)进行过滤。 这是我到目前为止.. Sub TransferTest1() Dim INQUIRE As Worksheet Dim QUOTE As Worksheet Dim ORDER As Worksheet Dim YString As String Dim RecString As String Set INQUIRE = ActiveWorkbook.Sheets("Inquiries") Set QUOTE = ActiveWorkbook.Sheets("Quotes") Set ORDER = ActiveWorkbook.Sheets("Orders") If INQUIRE.Range("K6:K1200") = "Y" Then INQUIRE.Range("A5:G1200").Copy QUOTE.Range("A5") End If If […]

IF语句复制并填写选定的Excel列值

是否有一种简单的方法将embedded式图片的D列中高亮显示的黄色单元格复制到列E中? 我想复制黄色突出显示的单元格,直到出现另一个黄色突出显示的单元格,然后复制该黄色单元格等。 数据样本,包括一些所需的输出,用于testing目的: DEF Row Labels Min of PRICE 283200-1005 283200-1005 325 COMPANY63 283200-1005 325 COMPANY60 283200-1005 1000 COMPANY59 283200-1005 2250 COMPANY35 283200-1005 2495 COMPANY4 283200-1005 2750 COMPANY11 283200-1005 3200 321-400-703-0 321-400-703-0 1000 COMPANY60 321-400-703-0 1000 COMPANY64 321-400-703-0 1145 COMPANY42 321-400-703-0 2800 COMPANY11 321-400-703-0 3275 4063-16082-3 1000 COMPANY8 1000 COMPANY24 1800 COMPANY4 2750 COMPANY11 3200 […]

结合if和sum语句 – 可能使用countif

我可以请求在这里协助。 我有一个按字母顺序sorting的行(行A),我想知道它们出现了多less次,总计在B行(总计是否运行)! 我相信逻辑会是这样的IF(A1 = A2)SUM B1 + 1到B2 ELSE B2 = 1我看不到任何有助于完成这一点的Excel语句。 任何人评论这个问题,都要事先感谢你。 +——————+—-+ | Cersei Lannister | 1 | | Cersei Lannister | 2 | | Jon Snow | 1 | | Petyr Baelish | 1 | | Jorah Mormont | 1 | | Sansa Stark | 1 | | Arya Stark | 1 […]

VBA我的IF语句find一个迭代后结束

感谢您的阅读和您的帮助! 我有一个简单的问题,我无法弄清楚。 在列中,AI的值在1到20之间。 1. NBC997 2. EVO463 3. EVO426 4. EVO420 5. EVO826 6. EVO820 7. EVO863 8. CRO001 9. BCA915 10. SBH121 11. KEN500 12. GAM201 13. GAM1011 14. GAM101 15. SPR577 16. SPR580 17. SPR579 18. SPR576 19. DON201 20. MOR101 我下面的公式应该是看A列,并删除整行,如果左2个字符<>“EV”。 无论什么原因,一旦它发现一个迭代..它完全停止,不去下一行。 如果可以的话请帮忙。 我知道我可能错过了一些非常愚蠢的事情。 谢谢! Sub remove() Dim i As Long For […]

Excel sumif条件语句

我有一个电子表格,我正在尝试根据第一列中的区域下拉来创build费用声明。 除了从第一栏的下拉框中评估任何地区的“1000”费用之外,公式正确运作。 基本上我想要做的是: 如果该地区是“NORAM”,且总金额<1000,则费用为1000,> 1000,则付款金额为.01。 ($ 1,000.00或总支出的1%,以较大者为准) =IFS(COUNTA(I26:I41)=0,"0",SUMIF(I26:I41,"NORAM",K26:L41)*0.01>=1000,SUMIF(I26:I41,"GAR",K26:L41)*0.01,SUMIF(I26:I41,"NORAM",K26:L41)*0.01<1000,1000)

Excel IFS语句

我使用这个公式: =IFS(($B$10*B11)>20;"20";($B$10*B11)<20;B10*B11;B11=1;"") 但是行: ($B$10*B11)<20;B10*B11 覆盖该行: B11=1;"") 该行: ($B$10*B11)<20;B10*B11 应该说如果结果小于20而不等于1 .. 如果结果是1,它应该运行最后的语句。 我怎么做?