我有一个excel表格,其中有100多个sheet,每个sheets的格式都一样,只是其中的行数不一样。现在要实现以下目标:
对所有sheet实现
1、在每个sheet中第一列前插入一列。
2、copy单元格c3中的内容到插入的空白列,从A5开始到最后一行
3、删除前四行
谢谢
答案是:
Sub hello()
Dim i As Integer
For i = 1 To Worksheets.Count
Worksheets(i).Select
Columns("A:A").Insert Shift:=xlToRight
ccopy
Next i
End Sub
Sub ccopy()
Dim j As Integer
j = 5
While Cells(j, 2) <> ""
Cells(j, 1) = Cells(2, 3)
j = j + 1
Wend
End Sub
如何用vba实现在excel各工作表中插入一列
答案:2 悬赏:20 手机版
解决时间 2021-03-17 08:29
- 提问者网友:寂寞撕碎了回忆
- 2021-03-16 21:32
最佳答案
- 五星知识达人网友:长青诗
- 2021-03-16 22:35
这种比较简单的操作,录制一个宏就可以了,你在第一个表格中,点工具--宏--录制新宏,然后在sheet1中第一列前插入一列,copy单元格c3中的内容到插入的空白列,从A5开始到最后一行,最后,删除前四行,点击结束录制宏。考虑到执行宏后数据无法恢复,所以你要先备份一遍。全选所有的sheet,点击运行宏,OK,搞定。
全部回答
- 1楼网友:鱼忧
- 2021-03-16 22:54
测试已实现,有问题请hi我
public sub 痒痒养羊()
for i = 1 to 3
for j = 2 to 4
if sheet2.cells(1, i) = sheet1.cells(j, 1) then
k = sheet2.cells(1, i).end(xldown).row
for m = 2 to k
sheet1.cells(j, m) = sheet2.cells(m, i)
next
end if
next
next
end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯