首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >VBA需要检查Y列中的每个单元格是否来自另一个工作表的列表

VBA需要检查Y列中的每个单元格是否来自另一个工作表的列表
EN

Stack Overflow用户
提问于 2016-01-17 13:42:34
回答 2查看 75关注 0票数 1

Hi试图检查Y列中的每个单元格是否来自另一个工作表的列表。vlookup函数的结果总是"false“。我不知道为什么。请指教

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub CheckDropDown()
   Dim MyStringVar As Variant, i As Integer
   Dim Lookup_Range As Range, lastRow As Integer, ws As Worksheet
   Set Lookup_Range = Worksheets("Lists").Range("C1:C21")
   lastRow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).row
   For i = 2 To lastRow
     On Error Resume Next
    'MyStringVar = ActiveCell.FormulaR1C1 =   "=VLOOKUP(Cells(i,25),Lists!C[-25],1)"
    MyStringVar = ActiveCell.Formula = "VLookup(Cells(i, 25).value, Lookup_Range, 1, False)"

    On Error GoTo 0
    Select Case Cells(i, 25).value
      Case IsEmpty(MyStringVar)
       ' do nothing
      Case Is = MyStringVar

      Case Is <> MyStringVar
      ActiveSheet.Cells(i, 25).Interior.Color = RGB(255, 255, 5)
    End Select
  Next i
End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-17 14:03:33

我的期望是,您得到了这个意外的结果,因为您没有在ActiveCell中编写有效的公式。一个有效的公式是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=VLOOKUP(Y2, 'Lists'!C1:C21, 1, FALSE)

因此,以这样的方式创建代码,这就是引号之间的内容"“。

如果你把一个有效的公式,也就是你试着在你的excel表格上写的公式,那么它就会起作用。现在,您正在将excel公式与编程语言混合在界面中。

所以就像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim myFormula As String
myFormula = "=VLOOKUP("

Dim columnLetter As String
columnLetter = "Y"

Dim tmpFormula As String
For i = 2 to x

  tmpFormula = myFormula & columnLetter & i & ", 'lists'!C1:C25, 1, FALSE)"

  .. test formula .. etc.
Next i

成功

ps。如果你需要公式前面的“=”,就不要再记了,所以试试这个。

票数 0
EN

Stack Overflow用户

发布于 2016-01-17 16:15:06

我不喜欢将公式和代码组合在一起,因为您只需要解决其中的一个问题,所以我建议您使用纯代码来检查以这段代码为基础的值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub CheckDropDown()
    Dim MyStringVar As Variant, i As Integer
    Dim Lookup_Range, cel As Range, lastRow As Integer, check As Boolean
    Set Lookup_Range = Worksheets("Lists").Range("C1:C21")
    lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
    For i = 2 To lastRow
        For Each cel In Lookup_Range
            If ActiveSheet.Cells(i, 25) = cel.Value Then
                check = True: Exit For
            Else
                check = False
            End If
        Next
        If check Then
            'The cell is on the lookupRange
        Else
            'The cell is NOT on the lookupRange
            ActiveSheet.Cells(i, 25).Interior.Color = RGB(255, 255, 5)
        End If
    Next i
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34844074

复制
相关文章
C++中符号优先级问题
转载自:https://blog.csdn.net/lfb_2048/article/details/62040608
种花家的奋斗兔
2020/11/13
6190
mold源码阅读五 符号相关
上期讲完了resolve_section_pieces,在这之后本应是combine_object,但是combine_object几乎包含了后面的所有过程,因此等到整个流程讲完后或许会再回来讲,这一期的内容以符号版本的处理为主。
AkemiHomura
2023/05/03
3200
mold源码阅读 其三 符号决议
前面两期将读取输入的部分全部讲完了,本期开始涉及链接过程中的处理。在讲主要的符号决议之前,先讲一下mold在符号决议执行之前做的一些其他处理。
AkemiHomura
2023/04/12
3760
【陆勤阅读】探索机器学习中的数据科学
原文作者:原微软技术与研究部门合伙人数据科学架构师Mario Garzia 译者:杜红光 数据科学与“大数据”已经成为21世纪高科技产业的流行语。而“大数据”这个术语,在很多情况下是相对于我们收集、存储和处理数据的能力来说的。有关大数据的挑战并非新生事物,历史上也曾出现过一些著名的大数据使用案例。一个有趣的例子是美国人口普查, 1880年进行的美国人口普查,耗时8年才完成了全部的数据汇总。同时,由于人口膨胀的原因,当时人们预计完成1890年的人口普查要10年以上的时间。这就是当时的一个大数据问题。随后一
陆勤_数据人网
2018/02/26
5960
【陆勤阅读】探索机器学习中的数据科学
【陆勤阅读】数据科学
“用数据来研究科学,科学的研究数据” “数据科学将逐渐达到与其他自然科学分庭抗礼的地位” ——作者 数据科学主要包括两个方面:用数据的方法来研究科学和用科学的方法来研究数据。前者包括像生物信息学、天体信息学、数字地球等领域。后者包括统计学、机器学习、数据挖掘、数据库等领域。这些学科都是数据科学的重要组成部分。但只有把它们有机地放在一起,才能形成整个科学的全貌。 在数据科学领域里工作的人才需要具备两方面的素质:一是概念性的,主要是对模型的理解和运用;二是实践性的,主要是处理实际数据的能力。培养这样的人
陆勤_数据人网
2018/02/26
7580
【陆勤阅读】数据科学
C++ 中有符号类型到无符号类型的转换
为了更好地解释下面的代码,先来介绍一些背景知识,在我的计算机中, char 类型占 8 个比特位,那么, unsigned char 类型能表示的数的范围为 0 ~ 2的8次方 - 1,即 0 ~ 255,共 256 个数;int 类型占 32 个比特位,那么 unsigned 类型所能表示的数的范围为 0 ~ 2的32次方 - 1,即 0 ~ 4294967295,共 4294967296 个数,接下来看下面的代码:
用户7886150
2021/02/15
1.4K0
Docker为何未在生产环境中取得广泛成功?
Docker的发展势头一天比一天强劲,它显然在试图解决实际的问题。然而,对如今许多的生产环境用户来说,没有出现优点压倒缺点的局面。在开发、测试和持续性集成等环境下,Docker在让容器吸引广大开发人员方面确实有上佳的表现,不过它还没有颠覆生产环境。按照DockerCon 2015的“生产环境下的Docker”这一主题,我想公开讨论Docker想在生产环境使用场合下得到广泛采用还没有克服的种种挑战。这里提到的问题没有一个是新问题,它们都以某种形式出现在GitHub上。大多数问题我已经在大会演讲中或与Docke
静一
2018/03/23
1.4K0
mold源码阅读九 未解析符号的处理
本期内容主要是claim_unresolved_symbols的部分,其次是其他一些简单的处理
AkemiHomura
2023/10/22
2150
C++解析一些特殊符号tab、换行符号
我们经常会遇到一些Linux内核信息需要,比如一个wifi数据,中间是用tab键盘隔开的,然后每一行用换行符进行区分,如下所示的数据
良知犹存
2021/05/12
9920
C++解析一些特殊符号tab、换行符号
C++鲜为人知的符号
这些鲜为人知的C++符号,可直接在代码中使用,但实践中不推荐这么做,可作为茶余饭后的乐趣了解C++的另一面。
一见
2018/08/10
3070
c++ 常量表达式_c++符号常量
常量表达式主要是允许一些计算发生在编译时,即发生在代码编译阶段而不是代码运行阶段。这是很大的优化,因为如果有些事情可以在编译时做,那么它只会做一次,而不是每次程序运行时都计算。 使用constexpr,你可以创建一个编译时的函数:
全栈程序员站长
2022/11/10
3080
Python中的符号
1.算数运算符 2.复合赋值运算符 3.常用的格式符号
py3study
2020/01/10
2.7K0
FPGA设计中 有符号数、无符号数
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。
FPGA技术江湖
2020/12/29
1.7K0
FPGA设计中 有符号数、无符号数
LaTeX求和符号_matlab中求和符号怎么表示
Latex的求和公式: 若想输出 ∑ i = 0 n \sum_{i=0}^n i=0∑n​ 则需要输入:
全栈程序员站长
2022/11/18
2.3K0
jQuery中$符号的实质
其实就是一个函数,以后用的时候,记得跟小括号 参数不同,功能就不同。3种用法: 参数是一个function, 入口函数 $(function () { }); $(domobj) 把dom对象转换成jquery对象 $(document).ready(function () { }); 参数是一个字符串,用来找对象 $("div") $("div ul") $(".current") 案例:检测$符号类型 <!DOCTYPE html> <html lang="zh-CN"> <h
兮动人
2021/06/11
3.7K0
jQuery中$符号的实质
Excel中$符号的妙用
Excel 使用过程中,不知道你有没有用到过 $ ,如果从来都没有用到过,可能代表你的修为还不够深,来看看为什么这么说。
披头
2019/12/26
2K0
Linux中符号的用法
用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。
头皮阴都都
2020/04/23
3.4K0
C++之Error无法解析的外部符号[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153486.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/13
3K0
如何看懂常用原理图符号、如何阅读原理图
原理图是我们设计,构建和排除电路故障的地图。了解如何阅读和遵循原理图是任何电子工程师的重要技能。
不脱发的程序猿
2021/01/20
4K0
latex中求和符号正下方的符号怎么打_累加符号上下标的意义
放在左上角的时候 \sum^n: ∑ n \sum^n ∑n 放在正上方的时候 \sum\limits^n: ∑ n \sum\limits^n ∑n​
全栈程序员站长
2022/11/07
4.4K0

相似问题

什么是KEYVAL?它的目的是什么?

12

什么是JAF?它的目的是什么?

30

这个for循环是如何工作的?它的目的是什么?

40

什么是xcscheme文件?它的目的是什么?

10

什么是双关语,它的目的是什么?

34
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文