Excel VBA - 如果选定的单元格在一个范围内并且也符合条件,则为Msg Box

时间:2017-02-14 03:12:21

标签: excel vba excel-vba criteria

我正在寻找一个vba来弹出一个MsgBox当所选单元格在一个范围内并且也符合标准。

示例

Range: (A3:A7)
Criteria: "YES" 

     |        A          |        B         |    
      -------------------|------------------|
  1  |        NO         |                  |
  2  |        NO         |                  |
  3  |        YES        |         1        |
  4  |        YES        |         2        |
  5  |        NO         |                  |
  6  |        NO         |                  |
  7  |        YES        |         3        |

要求:如果我双击A3,A4或A7,则会出现一个msg框,其中下一列的值位于同一行。

示例:如果我选择A7,则应显示值为“3”的MsgBox

我尝试了一些没有成功的事情。

提前感谢您的帮助!

MD

2 个答案:

答案 0 :(得分:1)

你可以开始这个。请注意,此代码会在单独的模块中进入工作表对象,而不是

export class AppComponent {

isSmall:boolean = true;
windowWidth: number;

constructor(){
    this.windowWidth = window.innerWidth;

    if (windowWidth <= 700) {
       this.isSmall = true;
    }
    else {
       this.isSmall = false;
    }
  }
}

除非你在代码中处理它,否则这仍然会在处理msgbox之后使单元格处于编辑模式

答案 1 :(得分:0)

尝试以下代码(将其放入相关的代码表中),它会检查您是否双击A列中的任何单元格(只要您有相应的数据),并检查该单元格的值是否等于&#34;是&#34;。

<强>代码

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A3:A" & Cells(Rows.Count, "A").End(xlUp).Row)) Is Nothing Then
        If Target.Value = "YES" Then
            MsgBox Target.Offset(0, 1).Value
        End If
    End If
End Sub