永发信息网

如何用vba实现在excel各工作表中插入一列

答案:2  悬赏:20  手机版
解决时间 2021-03-17 08:29
  • 提问者网友:寂寞撕碎了回忆
  • 2021-03-16 21:32
我有一个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
最佳答案
  • 五星知识达人网友:长青诗
  • 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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯