Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >excel vba代码错误(下标超出范围)

excel vba代码错误(下标超出范围)
EN

Stack Overflow用户
提问于 2022-11-13 11:00:51
回答 1查看 48关注 0票数 1

嗨,我在excel vba中有一个代码,它使我能够根据单元格值更改工作表名,右键单击工作表名,然后选择(查看代码),然后粘贴它与工作表运行良好的代码,我做了一个简单的宏,将工作表内容复制到另一个新工作表中,然后粘贴用单元格值更改工作表名称的代码,但是我遇到了一个错误,需要一个宏来添加新的工作表,并将当前的工作表内容复制到新的表中,并使工作表名称依赖于单元格值(b3),我在视觉基础上有0的经验,这里是感谢帮助我的一些截图。

这是工作表名称代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B3")) Is Nothing Then
        ActiveSheet.Name = ActiveSheet.Range("B3")
    End If
End Sub

我已经解释过了

EN

回答 1

Stack Overflow用户

发布于 2022-11-15 06:45:31

创建活动工作表的副本

将此代码复制到标准模块中,例如Module1.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Option Explicit

Sub CopyActiveSheet()
    
    ' In the worst case scenario, you'll end up with an additional worksheet
    ' that could not be renamed. If you want to keep this worksheet,
    ' set DeleteIfCannotRename to False.
    Const DeleteIfCannotRename As Boolean = True
    
    ' Invalidate the active sheet.
    Dim sh As Object: Set sh = ActiveSheet
    If sh Is Nothing Then Exit Sub ' no visible workbooks open
    If Not TypeOf sh Is Worksheet Then Exit Sub ' not a worksheet
    
    ' Reference the source worksheet.
    Dim sws As Worksheet: Set sws = ActiveSheet
    
    ' Create a copy.
    sws.Copy After:=sws
    
    ' Reference the copy.
    Dim dws As Worksheet: Set dws = ActiveSheet
    
    ' Write the value form 'B3' to a variable.
    Dim dName As String: dName = CStr(dws.Range("B3").Value)
    
    Dim ErrNumber As Long
    
    ' Prevent error if a sheet with the same name already exists
    ' or the value in 'B3' doesn't contain a valid worksheet name.
    On Error Resume Next ' turn on error-trapping
        ' Attempt to rename.
        dws.Name = dName
        ErrNumber = Err.Number ' store the error number in a variable
    On Error GoTo 0 ' turn off error trapping
    
    ' Delete and inform. Out-comment or delete the 'MsgBox' line(s)
    ' if the message box is too annoying.
    If DeleteIfCannotRename Then ' will delete
        If ErrNumber <> 0 Then
            Application.DisplayAlerts = False
                dws.Delete
            Application.DisplayAlerts = True
            MsgBox "Could not rename to '" & dName & "' so it got deleted.", _
                vbCritical, "CopyActivesheet"
        End If
    Else ' will not delete
        MsgBox "Could not rename to '" & dName & "'.", _
            vbCritical, "CopyActivesheet"
    End If

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74423889

复制
相关文章
C语言中数组超出范围,检测数组下标边界是否超出范围解决方案
iRows= iRsz; iColumns = iCsz; iCurrentRow = -1;
全栈程序员站长
2022/11/02
1.1K0
java 字符串数组 下标_运行时错误9:使用字符串数组时,下标超出范围「建议收藏」
我是vba脚本的新手 . 我正在尝试编写下面的函数,但无法成功完成 . 我真的很感激我能得到的任何帮助 .
全栈程序员站长
2022/11/02
1.4K0
Excel VBA SQL Join Syntax ErrorExcel VBA SQL 连接语法错误
【问题标题】:Excel VBA SQL Join Syntax ErrorExcel VBA SQL 连接语法错误 【发布时间】:2015-09-24 00:08:56 【问题描述】:
matinal
2023/10/13
2560
Excel: 通过VBA代码打开ppt文件
文章背景:使用Excel的Userform时,有时想要打开指定路径的ppt文件。下面介绍两种打开ppt文件的方式。
Exploring
2022/09/20
3.5K0
Excel: 通过VBA代码打开ppt文件
VBA_Excel代码大全(更新2023.07.25)
测试情况:☑MS Office ☒WPS Office,WPS二次弹窗选择文件夹存在兼容问题,待优化
逗号技巧
2023/01/15
10.4K0
VBA_Excel代码大全(更新2023.07.25)
Excel: 通过VBA代码打开word文件
文章背景:在使用Excel的Userform时,有时想要打开指定路径的word文件。下面介绍打开word文件的一种方式。
Exploring
2022/09/20
3.8K0
Excel: 通过VBA代码打开word文件
Excel VBA解读(163):错误处理技术之概述
在VBA代码中,我们经常会看到类似于On Error Resume Next这样的语句,这是编译器在代码遇到错误时自动处理的语句。有时候,在代码中进行适当的错误处理,可以使代码在实际应用后更健壮,避免由于各种原因导致的代码异常给用户带来的困扰。
fanjy
2020/01/13
3.9K0
Excel VBA解读(163):错误处理技术之概述
Excel VBA编程
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
全栈程序员站长
2022/08/11
45.8K0
Excel VBA编程
Excel VBA事件
在Excel VBA里提供了接口,在发生这些事件之前或者之后,让使用者可以设置一段运行的程序。
xyj
2020/07/28
1.5K0
Excel VBA事件
excel vba 解密
大家好,又见面了,我是你们的朋友全栈君。Private Sub VBAPassword() ‘你要解保护的Excel文件路径 Filename = Application.GetOpenFilename(“Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt”, , “VBA激活成功教程”) If Dir(Filename) = “” Then MsgBox “没找到相关文件,清重新设置。” Exit Sub Else FileCopy Filename, Filename & “.bak” ‘备份文件。 End If Dim GetData As String * 5 Open Filename For Binary As #1 Dim CMGs As Long Dim DPBo As Long For i = 1 To LOF(1) Get #1, i, GetData If GetData = “CMG=””” Then CMGs = i If GetData = “[Host” Then DPBo = i – 2: Exit For Next If CMGs = 0 Then MsgBox “请先对VBA编码设置一个保护密码…”, 32, “提示” Exit Sub End If
全栈程序员站长
2022/09/15
9310
Excel VBA学习
学习一下,记录一下,资料来自于网络 网络代码收集一: Sub test() Dim arr, brr, i&, r&, k Set d = CreateObject("scripting.dictionary") Set d1 = CreateObject("scripting.dictionary") With Sheet1 r = .Cells(Rows.Count, 1).End(3).Row For i = 2 To r
哆哆Excel
2022/10/31
2K0
Excel VBA解读(164):错误处理技术之On Error语句
好的应用程序应该能够捕获错误并进行相应的处理,而不是VBA弹出的错误消息。正如上文提到的,有两种方法处理运行时错误。对于可预见的错误,编写特定的代码来处理它们。对于不可预见的意外错误,则使用VBA错误处理语句来处理。
fanjy
2020/01/13
9.9K0
Excel VBA解读(164):错误处理技术之On Error语句
Excel VBA一行代码搞定分组排序
但老师
2022/03/22
5360
Excel VBA一行代码搞定分组排序
VBA通用代码:在Excel中创建弹出菜单
弹出菜单(有时也称为上下文菜单或快捷菜单)是用户界面(UI)中的菜单,提供了一组命令选项,通过某些用户操作(如鼠标右键单击)在应用程序的当前状态或上下文中可用。
fanjy
2022/06/04
3.5K0
VBA通用代码:在Excel中创建弹出菜单
VBA专题09:基本的Excel图表编程代码
图表是数据可视化的一种常用呈现方式,VBA代码可以帮助我们自动化创建图表及对图表进行相关的操作,特别是当工作表中有大量图表需要进行重复修改时,VBA十分有用。
fanjy
2020/02/18
5.1K0
探索VBA代码编辑器——《Excel VBA宏编程》系列讲座2
Excel已经为我们准备好了编写VBA代码的编辑器,让我们非常方便地编写、运行和调试、保存VBA代码。
fanjy
2022/06/04
3.8K0
探索VBA代码编辑器——《Excel VBA宏编程》系列讲座2
Excel VBA项目实战
前面的《Excel VBA:办公自动化》和大家分享了VBA常用的基础知识,就有同学留言问我:猴子老师,能不能出一个项目实战案例,可以把前面的知识都应用起来。
猴子数据分析
2021/04/15
1.7K1
Excel VBA事件——Worksheet
这个事件的有个比较典型的应用场景,选择改变后,将选择的单元格所在行标上颜色,也就是所谓的聚光灯:
xyj
2020/07/28
3.2K0
Excel VBA事件——Worksheet
excel vba获取拼音
Function PinYin2(Hz As String) Dim PinMa As String Dim MyPinMa As Variant Dim Temp As Integer, i As Integer, j As Integer PinMa = "a,20319,ai,20317,an,20304,ang,20295,ao,20292," PinMa = PinMa & "ba,20283,bai,20265,ban,20257,bang,20242,b
landv
2018/05/24
2K0
Excel VBA事件——Workbook
这两个事件在Office2007版本之前使用应该还是比较多的,那时候还没有Ribbon菜单,菜单是下拉式的,也就是和VBA编辑器菜单是一样的。
xyj
2020/07/28
1.2K0

相似问题

VBA -下标超出范围错误崩溃Excel

11

excel vba:下标超出范围

20

Excel VBA -下标超出范围

37

Excel VBA下标超出范围

21

Word/Excel Vba vlookup“下标超出范围”错误

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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