如何检查元素是否存在于列中,然后在特定单元格中插入带有文本的正方形

时间:2018-08-13 14:21:43

标签: excel vba excel-vba

我有一个宏,它过滤列表并复制过滤后的值(不是重要的部分),

从该列表中,我需要检查是否存在某些值,例如“Gestiónde dato maestro”。如果该单元格存在,那么我想在某个单元格中创建一个带有文本“Gestiónde dato maestro”的正方形。

我尝试在vba中使用Vlookup,但是没有用

我要处理的列表

enter image description here

我需要的输出

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使用此地址,我将列表的同一工作表的单元格A20用作我的“要检查的输入值”地址,您可以在Cells(20, 1)上直接对其进行更改

Sub createDataShapes()

Dim rng As Range
Dim shp, rect As Shape


Set rng = ThisWorkbook.ActiveSheet.Range("A1").CurrentRegion.Find(ThisWorkbook.ActiveSheet.Cells(20, 1).Value)

If Not IsNull(rng.Value) Then
        For Each shp In ThisWorkbook.ActiveSheet.Shapes
            shp.Delete
        Next shp
    ThisWorkbook.ActiveSheet.Shapes.AddShape msoShapeRectangle, 100, 100, 100, 100
    Set rect = ThisWorkbook.ActiveSheet.Shapes(1)
    rect.TextFrame.Characters.Text = rng.Value
End If


End Sub