excel中vba写的代码不见了
题主是否想询问“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写的代码不见了
本文2023-09-28 11:35:22发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/125564.html