首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA switch语句(或字典),用于根据第一个字符填充相邻单元格中的值

VBA switch语句是一种用于根据条件填充相邻单元格中的值的控制语句。它可以根据第一个字符的不同值,执行不同的操作。

在VBA中,switch语句可以使用多种方式实现,其中一种常见的方式是使用字典。字典是一种用于存储键值对的数据结构,可以根据键快速查找对应的值。

以下是使用字典实现switch语句的示例代码:

代码语言:txt
复制
Sub FillAdjacentCells()
    Dim switchDict As Object
    Set switchDict = CreateObject("Scripting.Dictionary")
    
    ' 添加键值对到字典中
    switchDict.Add "A", "苹果"
    switchDict.Add "B", "香蕉"
    switchDict.Add "C", "橙子"
    switchDict.Add "D", "葡萄"
    
    Dim cell As Range
    For Each cell In Selection
        ' 获取单元格的第一个字符
        Dim firstChar As String
        firstChar = Left(cell.Value, 1)
        
        ' 根据第一个字符在字典中查找对应的值
        If switchDict.Exists(firstChar) Then
            cell.Offset(0, 1).Value = switchDict(firstChar)
        Else
            cell.Offset(0, 1).Value = "未知"
        End If
    Next cell
End Sub

上述代码中,我们首先创建了一个字典对象switchDict,并向其中添加了多个键值对,每个键代表一个第一个字符,对应的值代表要填充的内容。

然后,通过遍历选定区域中的每个单元格,获取单元格的第一个字符,并根据该字符在字典中查找对应的值。如果找到了对应的值,则将其填充到相邻单元格中;如果没有找到,则填充"未知"。

这样,我们就可以根据第一个字符填充相邻单元格中的值了。

推荐的腾讯云相关产品和产品介绍链接地址:

以上是腾讯云提供的一些相关产品,可以根据具体需求选择适合的产品来支持云计算和开发工作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Vba菜鸟教程

文章目录 Vba菜鸟教程 编辑器 宏 vba基本语法 运算符 变量 数组 字典 语句 简写语句 sub语句 调用语句 退出语句 跳转语句 错误处理语句 循环语句 判断语句 公式与函数...使用ADO连接外部Access数据源 附表 对齐方式 字体格式 填充 对话框 Vba菜鸟教程 官方文档:https://docs.microsoft.com/zh-cn/office/vba/...一个字符 #一个数字 [A-W a-w]a-wA-W个字符 [!...,下界 MsgBox UBound(arr) MsgBox LBound(arr) 字典 一个特殊数组,去重复 '在VBE界面 工具—引用勾选Microsoft scripting runtime...(行数,列数) Activecell 正被选中编辑单元格 Selection 正被选中单元格区域 属性 Value Name 名称 Interior.ColorIndex = 3 单元格内部颜色

17K40

Excel VBA编程教程(基础一)

If Next i End Sub 以上代码运行后,在 A2:A10 单元格区域,依次判断每一个单元格是否为空,如果是空,则用上一个单元格填充。...Sub MyCode() End Sub 程序语句 语句,是表示一个完整意思一行代码。 例如,示例第一行,声明变量就是一条语句。它表示,声明一个整型变量。...'如果为空,则用上方单元格填充当前单元格 If isBlank Then Cells(i, 1) = Cells(i - 1, 1) End If 运行 下面,我们实际运行我们示例代码...例如,Excel 包括 Range 对象,即单元格对象,使用 VBA 可以改变单元格对象填充颜色属性。用代码表示如下。...VBA 运算符可以分为以下 6 类: 赋值运算符 算数运算符 比较运算符 逻辑运算符 连接运算符 其他运算符 VBA 连接运算符用于连接 2 个多个文本。

12.1K22
  • VBA导入

    "" '导入表名 连接空白是避免表格名为数值时格式不同 If Dir(fp, 16) = Empty Then Exit Function '路径不存在不运行 c = 1 '默认1,表不存在时默认用第一行决定填充公式行数...rn = Cells(1048576, c).End(xlUp).Row Call 相邻公式填充(c) c = Cells(2, c).CurrentRegion.Columns.Count + 1...函数与过程简洁教程 Sub 过程名() 'Sub表示过程,在执行宏图形右击指定宏中看得到,不能返回 Call 函数名(Array(1, 2), b) '调用过程并把返回放入r End Sub '结束过程...Function 函数名(a, Optional ByVal b) 'Function表示函数,在单元格也可以使用,宏列表看不到,可以使宏列表简洁 'VBA默认ByRef会改变原参数,所以加了...arr(1) = b 函数名 = arr '返回,仅Function可用 Exit Function '退出函数,不要用return,return是在一个程序回到GoSub后一行 End Function

    2.4K50

    Excel VBA编程

    …next语句循环处理集合数组成员 do while循环 使用Goto语句,让程序转到另一条语句去执行 with语句,简写代码 sub过程,基本程序单元 sub过程基本结构 在过程调用过程...cut方法剪切单元格区域 用delete方法删除指定单元格 操作对象一些例子 根据需求创建工作簿 判断某个工作簿是否已经打开 判断文件夹是否存在指定名称工作簿文件 向未打开工作簿输入数据...数组内容如果不够填充单元格长度,超出数据会以NA填充。若需要填充单元格数目不够数组长度,那么会按照顺序依次填充。...如想删除B3所在整行单元格,应将代码写为: range("B3").entirerow.delete 操作对象一些例子 根据需求创建工作簿 利用VBA创建一个符合自己需求工作簿,并将其保存到指定目录...用InputBox函数创建一个可输入数据对话框 Input函数共有5个参数: prompt参数用于设置在对话框显示提示消息 title用于设置对话框标题 default用于设置默认输入 xpos

    45.5K22

    VBA字符串介绍,这篇就够了

    VBA字符串是一个字符序列,类似于Excel文本。 这个含义简单明了,我们可以等价理解为:VBA字符串就是多个字符连接起来。...image.png 我们可以看到: 左边圈起来「If Cells(1, 1) = “富豪” Then」会被VBA翻译为:如果单元格A1等于字符串「富豪」,那么就执行后面的语句。...右边圈起来「If Cells(1, 1) = 富豪 Then」会被VBA翻译为:如果单元格A1等于变量「富豪」,而由上文知「富豪 = 10」,那么句代码就变为单元格A1等于10,那么就执行后面的语句...(2)字符串区分大小写 我们前面说过VBA变量大小写不敏感,即:变量Aa = 1 和变量 aA = 10会被认为是同一个变量被赋不同。但是,大家要记得字符串是区分大小写。...image.png 我们可以看到,文本数字相加符号是「&」,即:字符串连字符,主要用于将多个字符字符串连接起来,形成新字符串。

    2.2K30

    简单Excel VBA编程问题解答——完美Excel第183周小结

    End If块某些VBA语句总会执行吗? 不一定,除非还有Else子句。在条件为False时,If … End If语句语句不会被执行。...15.如何指定函数要返回? 通过将赋给函数名称。 16.过程局部变量能否在调用过程之间“记住”其?如果要这样,怎么办? 能够,通过使用Static关键字声明变量。...17.VBA可以识别通用格式日期,例如2020/11/11。在VBA代码,如何表明该是日期? 通过将其括在#字符。 18.哪个VBA函数用于为日期添加间隔? DateAdd函数。...19.哪两个函数用于搜索文本(在另一个字符查找一个字符串)? InStr函数和InStrRev函数。 20.如何转换字符串,以使每个单词首字母大写,而所有其他字母小写?...23.在VBA程序中使用哪个Excel对象引用工作表单元格区域? Range对象。 24.假设单元格区域引用单个工作表单元格,你如何知道该单元格是否为空?

    6.6K20

    Excel应用实践06:进行多条件统计

    这是在知乎上看到一个问题,我试着用VBA来解决。欢迎大家就自已使用Excel遇到问题想要解决方案提问,我将尽力解答。 问题:怎么用EXCEL多条件统计重复次数计数?...在填充字典同时,统计重复数据,作为键元素,从而得到了每个试室每个专业的人数。...然后,再将字典键进行拆分,输入到右侧场次、考场编码、试室、试室编码、报考专业对应单元格,并将对应元素输入到报考人数对应单元格,这样就得到了统计数据。...Set myDict =CreateObject("scripting.dictionary") '遍历列G数据并将其放置在字典 '字典中键值为不同数据组合 '...'取出相应并放置在相应单元格 With Range("I2") .Offset(num, 0) = str(0) .Offset(num

    92920

    常见复制粘贴,VBA是怎么做(续)

    注意,这两个参数与Excel在“复制图片”对话框显示参数完全相同。 在VBA,“复制图片”对话框每个选项都有对应VBA设置。...取消剪切复制模式并删除移动轮廓VBA语句如下: Application.CutCopyMode = False 关于复制粘贴:其他VBA方法 基于本文介绍,可能还想学习探索其他可用于粘贴其他对象实现不同目标...7.Floor.Paste方法,用于将剪贴板图片粘贴到特定图表底层。 8.Point.Copy方法,(当图表系列一个点有图片填充时)将相关图片复制到剪贴板。...11.Series.Copy方法,复制图表系列上标记图片填充(如果系列具有图片填充)。 12.Series.Paste方法,将剪贴板图片粘贴为图表特定系列标记。...上述列表没有包括复制和粘贴对象所有VBA方法,主要涵盖了应用于某些主要对象方法,如图表和工作表。 小结 现在,你应该了解了在Excel复制和粘贴单元格单元格区域时可以使用最重要VBA方法。

    10.3K30

    VBA小技巧03:获取颜色十六进制代码

    有时候,我们需要某些颜色对应十六进制代码,可能是需要设计网站,也可能是需要开发Web应用。 在Excel,我们可以通过“填充颜色——更多颜色”在单元格插入各种各样背景色,如下图1所示。 ?...图1 然而,这些自定义颜色只有GRB,如果想要其相应十六进制代码,其实可以使用VBA来获取。...如下图2所示,选取带有背景色单元格区域,运行代码,则会在相应背景色单元格右侧相邻单元格输入对应颜色十六进制代码。 ?...In Selection.Cells '确保单元格填充有背景色 If rng.Interior.ColorIndex xlNone Then...strHexCode = Right(strHexCode, 2)& Mid(strHexCode, 3, 2) & Left(strHexCode, 2) '添加#号并将显示在相邻右侧单元格

    2.3K20

    正则表达式来了,Excel正则表达式匹配示例

    用于匹配字符串Excel VBA正则表达式函数 要在Excel中使用正则表达式,需要创建自己函数。...关于RegExpMatch,你应该知道三件事 在进行实际计算之前,注意以下几点: 1.该函数可以处理单个单元格单元格区域。在后一种情况下,结果以动态数组溢出区域形式返回到相邻单元格。...匹配一个单元格字符串 要匹配单个单元格字符串,在第一个参数引用该单元格,第二个参数包含一个正则表达式。...一次匹配多个单元格字符串 要使用单个公式匹配多个字符串,在第一个参数包含单元格区域引用: =RegExpMatch(A5:A9, “\b[A-Z]{2}-\d{3}\b”) 在支持动态数组Excel365...,它工作方式是:在第一单元格中键入公式,按Enter键,公式将自动溢出到下面的单元格

    21.1K30

    Excel Lambda函数打包复杂公式及业务逻辑

    第一个跨越是溢出函数,一个函数可以突破单元格限制,生成一个区域,如下面的例子: FILTER函数可以按筛选条件直接生成一个表,UNIQUE可以去除重复。...近期LET、LAMBDA函数是第二个重大跨越:可以在不编程(无需VBA情况下,将复杂计算过程或者业务逻辑打包成一个自定义函数,进行重复使用。...你逻辑可能更为复杂,公式长达数百个字符。...,依据计算复杂程度,可以是一个或者多个参数;随后是要对参数怎么计算,计算逻辑和传统IF语句一致;最后一个部分是计算哪个单元格,我们有两个参数,所以对应选择相应业绩和目标单元格。...可以看到,计算结果和直接使用IF语句一致。如果LAMBDA作用仅仅局限于此,我们也没必要介绍这样一个鸡肋函数,这增加了公式复杂度。

    1.2K20

    使用VBA进行线性插

    标签:VBA 如果要在Excel工作表针对相应数据进行线性插计算,使用VBA如何实现? 如下图1所示,有3个,要使用这3个进行线性插。 图1 结果如下图2所示。...图2 可以使用下面的VBA代码: Sub LinInterp() Dim rKnown As Range '已知数值区域 Dim rGap As Range '插区域 Dim dLow As...Double '最小 Dim dHigh As Double '最大 Dim dIncr As Double '增加值 Dim cntGapCells As Long '填充单元格数...(1).SpecialCells(xlCellTypeConstants, xlNumbers) With rKnown '遍历已知道区域并将其复制到相邻列插区 For iArea =...之所以分享这个示例,主要是其使用了SpecialCells方法来获取相应单元格组织单元格区域,有兴趣朋友可以好好体会。 注:本文代码收集自.vbaexpress.com,供参考。

    17010

    一起学Excel专业开发02:专家眼中Excel及其用户

    工作表:用于展示 在日常工作,我们会很自然地在工作表单元格输入数据,进行数据分析和处理,制作报表输出,这是我们通常做法。Excel丰富内置功能,已让我们这种做法非常容易。...工作表:用于程序数据存储 在程序代码,在程序代码处理,经常要用到一些数据,而工作表就是一个天然数据存放地,我们可以在工作表单元格存放数字、文本、表格图片,供程序使用,而VBA程序代码可以方便地访问这些数据...工作表:一种声明式编程语言 我们用程序员眼光来看Excel工作表,单元格存放着变量单元格地址就是变量,公式函数就是语句,通过引用单元格来获取或者计算得到相应。...IF函数可以等同于条件语句,Excel循环引用和迭代计算等功能巧妙运用,可以等价实现循环结构语句。...Excel工作表就是一个实时语言编辑器,在工作表单元格输入数据和公式后,Excel实时给出结果,并根据公式所依赖单元格变化实时更新数据。

    4.3K20

    啰哩啰嗦地讲透VBA引用单元格区域18个有用方法--Cell属性和Offset属性

    >>>上篇文章:啰哩啰嗦地讲透VBA引用单元格区域18个有用方法--Range属性 使用Cells属性引用Range对象 VBA没有Cell对象,有Worksheet.Cells属性和Range.Cells...这一点很重要,因为根据上下文不同,属性可能返回不同单元格。更准确地说,将Cells属性应用于Range对象时,是引用与另一个区域相关单元格。...该过程将继续处理每个子序列单元格,直到… 单元格XFD1(第一最后一个单元)被分配数字编号16384。...一旦第一所有单元格都分配了一个编号,该过程将继续进行第二行: 单元格A2被分配数字编号16385。 单元格B2被分配数字编号16386。 单元格C2被分配数字编号16387。...“偏移行”是要偏移基准区域行数,该可以是正值(向下偏移)负值(向上偏移)。“偏移列”是要偏移区域列数,如果为正值,则向右偏移,为负值将向左偏移。

    3.7K40

    VBA动态数组定义及创建

    大家好,今日我们继续讲解VBA数组与字典解决方案第19讲:动态数组定义及创建。在VBA,数组可分为固定数组和动态数组,也称为静态数组和动态数组。我们之前所定义数组,都是静态数组。...在事前不知道数组大小时,可以声明数组为动态数组,在需要指定数组大小时,再使用ReDim语句分配数组实际元素个数。...3、我们可以使用ReDim语句反复地改变数组元素个数。...下面我们将通过一个实例来讲解动态数组利用:   比如一个工作表C列存储了学生姓名,现在我们需要把把有姓“王”学生存储在数组arr,预先我们并不知道C列姓王学生有三十个还是五十个,所以,我们在定义时代码可以这样...内容转置填充,对于一维数组来说,中间是以逗号分隔,如果想纵向填充,要进行转置,这可以结合之前工作表数组表述来理解,逗号是分列,分号是分行。

    3.3K40

    二 详解VBA编程是什么

    VB是设计用于创建标准应用程序,而VBA是使已有的应用程序(EXCEL等)自动化 2. VB具有自己开发环境,而VBA必须寄生于已有的应用程序. 3....录制简单宏 在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:”宏”,指一系列EXCEL能够执行VBA语句。 以下将要录制宏非常简单,只是改变单元格颜色。...★ 宏名最多可为255个字符,并且必须以字母开始。其中可用字符包括:字母、数字和下划线。宏名不允许出现空格。通常用下划线代表空格。...比如:加入判断循环等无法录制语句。 录制宏局限性 希望自动化许多 EXCEL 过程大多都可以用录制宏来完成.但是宏记录器存在以下局限性....思考: 1、VBA只能用于EXCEL吗? 2、VBA是基于哪种语言? 3、说说EXCEL和VBA关系. 4、为什么要用宏?

    5.7K20

    python爬取股票最新数据并用excel绘制树状图

    思路: 我们希望色块颜色能代表增长率,比如红色是上涨,绿色是下降且颜色越深代表绝对越大 再对每个色块进行对应颜色填充即可 由于 树状图顶多支持多级,色块颜色也只能手动单一填充,怎么办呢?...VBA填充色块颜色 先看效果: 湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。 ?...各省GDP及增长率 由于条件格式下单元格颜色是不固定无法通过vba获取,我们需要将颜色赋值到新一列中去,需要用到如下操作: 选中增长率数据复制,然后点击剪切板最右下角会出现剪贴板,再鼠标左键选择需要粘贴地方如...E2,点击剪贴板需要粘贴数据即可。...单元格色复制操作流程 VBA思路: 激活需要操作图表(Activate) 遍历全部系列和数据点(ActiveChart.FullSeriesCollection(1).Points.Count) 从第一个数据点开始

    2.3K30

    Excel图表学习69:条件圆环图

    根据单元格包含字母“R”、“Y”“G”将它们填充为红色、黄色和绿色。这在工作表很容易做到,但在图表没有像这样更改颜色机制。 可以使用VBA来实现,但本文使用了工作表公式。...可以看到,“切片”列和“颜色”列用于类别和标签,而“一”列用于圆环切片。图例显示了类别标签,圆环切片大小相同,均为圆环周长1/24。 ?...单击两次选择第一个切片,填充红色,再按住Ctrl键同时单击右箭头键三次,选择下一个要填充红色切片,按F4键填充红色,重复这个过程使所有应该填充红色切片填充红色。同样,填充黄色和绿色切片。...这意味着,如果自定义了绘制数据,然后更改数据以便重新格式化元素(图表系列数据标签)引用不同单元格区域,那么部分全部格式将恢复为其默认。...图10 注意,现在圆环图八个扇区每个扇区只有一个可见切片,并且这些切片根据单元格区域C3:C10着色。但是,有一堆我们不想要重叠标签。 这些标签对应于仍在图表隐藏切片。

    7.9K30
    领券