Tag: if statement

如果函数消息“收集是一个基于”excel-vba

我收到了错误消息“集合是基于一个”,但我无法弄清楚我的代码有什么问题。 下表是dataprovider: dp2 = ActiveDocument.DataProviders("Test2") Quantity Switchmon Currency ————————————- 1) 150 Y EUR 2) 250,006 N USD 3) 132,4 Y EUR 4) 24 Y GBP 5) 1 N USD 现在我需要发送一个基于这些数据的自动电子邮件。 我需要在Excel-VBA中的每一行查找“Switchmon”列的值的函数。 当这个值是“N”时,我需要把字符“P”放在邮件里。 当值是“Y”时,我需要把“货币”列的值放在那里。 我的电子邮件的结果应该是这样的: 1) 150 EUR 2) 250,006 P 3) 132,4 EUR 4) 24 GBP 5) 1 P 我试图用以下function来实现这个function: Dim strbody As String Dim […]

Excel VBA – 跳过子或结束子IF语句

我的代码循环通过表中的单元格值,并查看是否存在具有相同名称的文档。 如果确实存在,它将执行一个操作来打开这些文件并导入数据。 If bProcess Then FileCounter = 0 For Each folderIDX In PrimaryMergeFiles 'If folderIDX.Name = Worksheets("Table").Range("A1:A13") Then Dim vTest As Variant vTest = Application.WorksheetFunction.VLookup(folderIDX.Name, Worksheets("Table").Range("A1:B13"), 2, False) 'Creating Merge File If Not IsError(vTest) Then FileCounter = FileCounter + 1 strStatus = "Creating file " & FileCounter & " of " & PrimaryMergeFiles.Count & ": […]

循环为行 – MS Excel中的每个新数据创build一个新的工作表

这个脚本应该是: 1.向下滚动部门所在的B列。 2.接下来,从列A到列Fselect整行数据 3.用Col B中的部门名称创build一个新的工作表 4.粘贴在新创build的工作表中选定的整个行 5.然后,转到下一行,直到原始数据表中的数据结束 6.如果Dept值与Col B中前一行的Dept值不同,则创build一个New Worksheet,并在下一个Worksheet上重新开始该例程。 出于某种原因,代码在IF Then Statement中被破坏 Sub Breakout() Dim FinalRow As Long, I As Long Dim valuenewsheet As String Dim Sht As Object FinalRow = Range("A" & Rows.count).End(xlUp).Row MsgBox (FinalRow) ActiveSheet.Range("B1").Select 'selects value in B1 valuenewsheet = (ActiveCell.Value) 'sets value as variable Sheets.Add.Name = valuenewsheet 'creates new sheet […]

IF语句需要3个结果

我有一个在excel中的名称列表,在括号内有一个随机数字,数字是1到3位数字。 我正在使用公式 =IF(LEFT(RIGHT(B8,4),1)=("("),RIGHT(B8,3),RIGHT(B8,4)) 摆脱第一支架,然后 =IF(RIGHT(LEFT(AX8,3),1)=")",LEFT(AX8,2),LEFT(AX8,3)) 删除最后一个支架。 这是一直工作,直到我发现一个4位数字在括号中的名称。 有没有办法给if语句添加另一个结果?

类似于VLOOKUP的function:在VBA Excel中为长列表select大小写

Excel VBA中不使用多个If … Then语句,您可以使用Select Case结构。 但是,如果案件是一个长长的名单,如何有效地执行这项任务? 例如,看看下面的数据: Code ID Girls Names 0001 Sophia 0002 Emma 0003 Olivia 0004 Isabella 0005 Ava 0006 Lily 0007 Zoe 0008 Chloe 0009 Mia 0010 Madison 0011 Emily 0012 Ella 0013 Madelyn 0014 Abigail 0015 Aubrey 0016 Addison 0017 Avery 0018 Layla 0019 Hailey 0020 Amelia 0021 Hannah 0022 Charlotte […]

如果单元格包含某个string,Excel语句可以求和

我正在尝试编写一个IF语句来根据特定的标准进行求和。 我附上了一个屏幕截图,以便更好地理解。 基本上我想达到的是这样的: 在我的屏幕截图中,单元格U4是单元格R4:T4的总和 我想join一个testing,如果单元格O4包含“是”,那么总结并显示数字 但是,如果单元格O4包含“否”,那么让我看看文本“失败” 下面的屏幕截图,并一如既往地感谢你的帮助,你可以给

Excel VB For循环不会遍历if语句

我很欣赏这是一个业余问题,但我不习惯VB和它的语法。 我试图根据数量(QTY)列中是否有值来将信息从一个工作表(ProductList)拖到另一个(Quote)。 这是我的方法: Private Sub cmdProductListContinue_Click() 'Declare variabless Dim i, duration, qty, outputX, outputY 'Set initial values duration = 120 'Used to determine number of iterations in for loop (no. of QTY cells we are to check) i = 3 'Used as cell co-ordinates to pull information from outputX = 17 'Used as cell co-ordinates […]

CONCATENATE(IF()) – 如何简化当前的解决scheme?

我的数据如下所示: ColumnName PrimaryKey 1 ID Y 2 JOB_NAME N 3 JOB_DESC N 4 START N 5 END N … 我正在寻找列出所有主键的列 – 所以,所有的列在哪里PrimaryKey =“Y” – 在一个单元格中,“+”标志之间的每个返回行ColumnName。 这是迄今为止的代码: =CONCATENATE((IF(C1="Y",B1,"")),(IF(C2="Y",B2,"")),(IF(C3="Y",B3,"")),(IF(C4="Y",B4,"")),(IF(C5="Y",B5,""))) 它完成了这项工作,但是由于在ColumnName列中有超过50行,所以应该更简洁一些。

如果(search词)find,则执行(动作)。 如果不是,结束如果

如果你们能够帮助我,这将是非常棒的,因为这对我真的很有帮助。 这是我想要做的: search具有特定术语的单元格 如果find,则复制单元格所在的整行,并将其粘贴到其上方的一行中。 如果没有find,则不要执行任何操作并继续执行代码 这是我的代码: Sub Test() ' ' Test Macro ' ' Keyboard Shortcut: Ctrl+b ' Range("A5").Select Cells.Find(What:="PL 1", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate If Not IsEmpty(ActiveCell.Value) Then ActiveCell.Rows("1:1").EntireRow.Select Selection.Copy Range("A5").Select ActiveSheet.Paste End If Range("A5").Select Cells.Find(What:="PL 2", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, […]

我有这个参考types不匹配错误

这是我有一个问题的代码。 我只是试图在列B中的对应行中的值是氘时将值“0”input到列G中。 debugging器告诉我我的错误在于包含If语句的行。 For i = 3 To 30 If Worksheets("Master PEC").Cells(i, 2) = "Deuterium" Then Worksheets("Master PEC").Cells(i, 7).Value = 0 End If Next 截图: