怎样用Excel录制宏制作这种非完全重复的操作

这种情况下,每次向左和向下移动的格子数都要增加。所以怎样用录制宏来达成这种操作?A13写“Date”B13“Price”整个A列都放Date,整个B列都放Price.F4... 这种情况下,每次向左和向下移动的格子数都要增加。所以怎样用录制宏来达成这种操作?A13写“ Date” B13 “Price”整个A 列都放Date, 整个B列都放 Price.F4和G4是一组 Date和Price,F5和G5是一组 Date和Price.有非常多组Date和Price。要把它们全移到A列和B列下面。如何用Excel录制宏完成? 展开
 我来答
weizhong1688
2017-10-04 · TA获得超过1247个赞
知道小有建树答主
回答量:1514
采纳率:61%
帮助的人:600万
展开全部
'打开VBE,在“工程资源管理器”,双击“ThisWorkbook”
'在打开的“ThisWorkbook(代码)”窗口粘贴下面的代码。

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Selection.Cells.Count = 1 Then
        If Range(Target.Address) = "Date" Then
            ad = Target.Address
            Range(ad).Offset(0, 1).EntireColumn.Select
            Selection.Formula = "Price"
            Range(Target.Address).Offset(0, 0).EntireRow.Select
            Selection.Formula = "Date"
        End If
    Else
    
    End If
End Sub
追问
只允许直接录制宏或者编辑宏
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cfzzj007
2017-10-04 · TA获得超过5365个赞
知道大有可为答主
回答量:7931
采纳率:78%
帮助的人:1532万
展开全部
发个模拟文件给我,正好有点无聊。
追问
关键是类似情况怎么处理,不需要完全一样文件。
因为移动的格子数每次都不一样,导致每次操作不同。而录制宏似乎只能复制相同的操作。
如何是用录制宏或者编辑宏来处理呢?
追答
哦,看来你会用宏,那我说说思路,
关键是准备工作,一是用宏找到源数据,比如查找Date在什么位置,
二是找到工作表已用数据的最后一行,然后在前两列输入标题即可。
因为数据源是二维格式,所以得用双循环,第一层用于列数据,用FOR循环,步长为2,也就是第两列循环一次。
第二层循环用于行,我认为用For+Each 再用End判断最后一行,即可。
在第二层循环过程中,将数据源数据,直接赋值给目标单元。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式