全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 Excel
1864 2
2010-02-18
悬赏 200 个论坛币 未解决
我有个工作簿workbook,里面有很多工作表worksheets。每个工作表格式都一样。但是由于内容长短不一,造成不用的工作表核心内容开始的地方不一样。我为了能应用函数摘出核心内容,想把它们的格式都统一起来。所以我的目的是,查找每个worksheet第一列(也就是A列)里的内容“profile”(只有一个)。如果profile所在行的行数小于31,那在其上方插入一行,直到profile处在第31行,这样profile以后的内容都是规则的了。
请给出vba代码。谢谢。我vba在初学阶段,格式不太熟悉,所以不知道自己用对没有。请高手指教。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-2-18 11:13:10
Dim i As Integer
Dim j As Integer
Dim intRow As Integer
For i = 1 To ThisWorkbook.Sheets.Count
    ThisWorkbook.Sheets(i).Activate
    Columns("A:A").Select
    Selection.Find(What:="profile", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
    intRow = ActiveCell.Row
    If intRow < 31 Then
        Rows(intRow & ":" & intRow).Select
        For j = intRow To 30
            Selection.Insert Shift:=xlDown
        Next j
        
    End If
   
Next i
把上面的代码放到Workbook_Open()中
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-2-19 23:24:02
帮2楼简化了一下代码。
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群