Note: The other languages of the website are Google-translated. Back to English

如何在Excel中设置单元格或未锁定单元格的标签顺序?

假设您需要为自己定义的单元格设置 Tab 键顺序,例如,按 Tab 键将从单元格 B5 移动到 C6,从 C6 移动到 D7,从 D7 移动到 E8,然后在工作表中离开单元格 E5 时返回到 B8如下图所示。 如何实现? 本文为您提供了一个 VBA 方法。

使用VBA代码设置单元格或未锁定单元格的选项卡顺序


使用VBA代码设置单元格或未锁定单元格的选项卡顺序

请运行下面的VBA方法在正常工作表中设置单元格的选项卡顺序,或在受保护的工作表中设置未锁定单元格的选项卡顺序。

1.在工作表中,您需要设置选项卡顺序,右键单击工作表选项卡,然后单击 查看代码 从上下文菜单。

2。 在里面 Microsoft Visual Basic应用程序 窗口,将下面的VBA代码复制并粘贴到 代码 窗口。

VBA代码:设置单元格或未锁定单元格的选项卡顺序

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim tabArray As Variant
    Dim i As Long
    tabArray = Array("B5", "C6", "D7", "E8")
    Application.ScreenUpdating = False
    For i = LBound(tabArray) To UBound(tabArray)
        If tabArray(i) = Target.Address(0, 0) Then
            If i = UBound(tabArray) Then
                Me.Range(tabArray(LBound(tabArray))).Select
            Else
                Me.Range(tabArray(i + 1)).Select
            End If
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

说明:

1)在代码中,B5,C6,D7,E8是输入单元格的顺序,您必须使用单元格地址的大写字母。 您可以根据需要进行更改。
2)对于受保护的工作表,必须将输入单元解锁。

3。 按 其他 + Q 关闭键 Microsoft Visual Basic应用程序 窗口。

从现在开始,在B5中输入数据后,按Tab或Enter键将光标移至C6,在离开C7时将光标移至D6,然后在当前工作表中移至D7,E8。


相关文章:


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (14)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
这可以用来强制一个选项卡到工作表中下一个未锁定的单元格吗? 例如,我需要操作员将数据输入(扫描)到单元格 A15,然后它应该切换到 C15,然后是 E15,然后是 G15(这是行尾),然后返回到下一个单元格中的第一个单元格行,A16 并重复该序列。 我需要强制使用这种模式,因为一些操作员使用编程为选项卡的扫描仪,而其他操作员则使用编程输入。 谢谢!!
该评论由网站上的主持人最小化
是否可以使用相同的代码将每行的制表符强制到每个未受保护的单元格? 我需要从单元格 A15 开始制表符,然后移动到下一个不受保护的单元格 (C15),然后是 E15,然后是 G15。 到达这里后,我需要切换到 A16 并为表格的其余部分重复该过程。 我需要这个的原因是数据是由条形码扫描仪输入的,有些被编程为标签,而另一些则输入。 感谢您对此的帮助。 菠菜
该评论由网站上的主持人最小化
您好,感谢您使用 VBA 代码在受保护的工作表中设置选项卡顺序,其中表单控件标签和表单控件下拉框已解锁,用户可以通过选项卡浏览并填写标签中的信息,以及在选项卡时一个下拉列表选择指令给他的项目数,我已经在你的代码上取得了进展。 起初我只能通过每个标签表单控件进行选项卡,现在我有时会点击下拉列表。 我真的很喜欢关于 tro do tis 的教程
该评论由网站上的主持人最小化
按照您列出的顺序,excel 没有 VBA 代码。 让他们倒退然后你得到一些东西。
该评论由网站上的主持人最小化
首先选择您想要不受保护的单元格。

当您保护工作表时,它会根据您未受保护的单元格自动设置标签顺序。 它将从左到右,从上到下向前 Tab; Shift+Tab 从右到左,从下到上。
该评论由网站上的主持人最小化
亲爱的埃文,
谢谢你的分享。
该评论由网站上的主持人最小化
感谢输入订单的代码。 我正在处理输入条形码信息的电子表格,我需要跨越多达 300 个单元格,而该程序只允许我输入 142 个单元格。 有没有办法添加更多,所以我可以达到 300?



谢谢
该评论由网站上的主持人最小化
嗨,珍妮,
感谢您的评论。
但是无法优化代码以满足您的需求。 对于那个很抱歉。
该评论由网站上的主持人最小化
No me funcionó, lo coloqué en la hoja de trabajo, debe haber algún error, me podrían ayudar, necesito implementarlo en mi trabajo,

阿特

Collins Neptali Arráiz López
该评论由网站上的主持人最小化
您好,有没有办法直接按Enter而不输入任何内容并进入下一个选择?
该评论由网站上的主持人最小化
你好,这里是新的 VBA 代码一直有效,直到我点击一个下拉框,我到达第一个做出我的选择,点击 Tab,它移动到一个锁定的单元格,它就像一个单元格,我没有输入任何数据。任何建议? 格伦D24
该评论由网站上的主持人最小化
Olá, o código VBA para definir a ordem das células desejadas funcionou perfeitamente。 Eu percebi que para que ele funcione, é necessário entrar com um dado na célula e pressionar TAB ou ENTER。
PERGUNTA: Você tem como fazer este código percorrer todas as células (no meu caso são 31, sendo algumas vazias e outras com valores padrão) sem ter que entrar com dados nelas, somente pressionando TAB ou ENTER。 Como eu tenho algumas células vazias e outras com valores, por padrão, eu gostaria de percorrer as células sem precisar entrar com dados em todas elas novamente, mas, somente alterando as células que forem preciso alterar.att

由谷歌翻译翻译的文本
您好,用于设置所需单元格顺序的 VBA 代码运行良好。 我意识到要让它工作,必须在单元格中输入数据并按 TAB 或 ENTER。
问题:您可以让这段代码遍历所有单元格(在我的例子中,有 31 个,有些是空的,有些是默认值),而无需在其中输入数据,只需按 TAB 或 ENTER。 由于我有一些空单元格和其他有值的单元格,默认情况下,我想循环遍历单元格,而不必再次在所有单元格中输入数据,而只需更改我需要更改的单元格。

该评论由网站上的主持人最小化
我已将您的代码复制到我的工作表中,但是一旦我关闭它并重新打开它以再次使用它,代码就消失了。 我该如何保存?
该评论由网站上的主持人最小化
嗨,安妮塔,
如果要保留 VBA 代码以供功能使用,请在添加 VBA 代码后,将工作簿另存为 Excel 启用宏的工作簿 如下面的屏幕截图所示。 然后在以后使用新保存的文件。
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/Excel_macro-enabled_workbook.png
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护