excel中vba写的代码不见了

栏目:资讯发布:2023-09-28浏览:3收藏

excel中vba写的代码不见了,第1张

题主是否想询问“excel中vba写的代码不见了怎么办”?检查是否删除,是否更改工作簿。

1、检查是否意外删除了包含代码的模块。在VBA编辑器中查看项目资源管理器,确认代码模块是否还存在。

2、检查是否更改了工作簿的文件类型,从xlsm(包含宏的工作簿)更改为其他类型,这可能导致宏代码丢失。尝试将文件类型更改回xlsm并重新打开。

如图,k=3代表I列数据开始的行号,

rng为单元格变量,

For Each 循环会让rng每次代表A3:A2000中的一个单元格,

如果rng单元格的值为空值时,则提取数值过去,并同时k进行累加1

假如k始终没达到>6的条件,则会一直遍历到A2000为止,

假如k达到>6的条件时,则会直接跳出for,提前结束循环。

代码如下:

Sub 宏宏()

    Dim rng As Range, k& '声明rng为单元格对象,k为loog型

    k = 3 '给k赋一个初值

    For Each rng In Range("A3:A2000") '遍历该区域每个单元格

        If rng = "" Then '如果rng单元格的值为空值

            rngResize(1, 4) = Range("I" & k)Resize(1, 4)Value

            'rng重选1行4列 = Range("I" & k)重选1行4列的值

            k = k + 1 '累加

            If k > 6 Then Exit For '满足此条件则跳出for

        End If

    Next

    MsgBox "处理完毕", 64 '弹出提醒对话框

End Sub

其实你这个问题,完全不需要一个按钮或一个窗口。只需要如下代码即可。

选择工作表标签,右键,查看代码,然后将下面的代码粘贴到代码窗口即可。

我理解你是想直接使用回车键来移动到你想的目标列单元格,以下代码仅是示例。

既然你已经提到VBA,相信你能看懂以下代码

你只需要将下面的相关数字更改一下即可,数值代码列数

1代表A列

3代表C列

4代表D列

依此类推。。。。

自己试试,其实用窗口太复杂了

Private Sub Worksheet_Change(ByVal Target As Range)

If TargetColumn = 1 Then

Cells(TargetRow, 3)Select

ElseIf TargetColumn = 3 Then

Cells(TargetRow, 4)Select

ElseIf TargetColumn = 4 Then

Cells(TargetRow, 6)Select

ElseIf TargetColumn = 6 Then

Cells(TargetRow, 8)Select

ElseIf TargetColumn = 8 Then

Cells(TargetRow, 10)Select

ElseIf TargetColumn = 10 Then

Cells(TargetRow + 1, 1)Select

End If

End Sub

excel中vba写的代码不见了

题主是否想询问“excel中vba写的代码不见了怎么办”?检查是否删除,是否更改工作簿。1、检查是否意外删除了包含代码的模块。在VBA编辑器中...
点击下载
热门文章
    确认删除?
    回到顶部