Foxtable(狐表)用户栏目专家坐堂 → 如何快速剪切选择的三列一行的数据并向下粘贴到下面的所有行


  共有3966人关注过本帖树形打印复制链接

主题:如何快速剪切选择的三列一行的数据并向下粘贴到下面的所有行

帅哥哟,离线,有人找我吗?
wangj6666
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
如何快速剪切选择的三列一行的数据并向下粘贴到下面的所有行  发帖心情 Post By:2020/3/20 14:16:00 [只看该作者]

各位专家好!
      我有一个数据表生成后如下图
      
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20200320140902.png
图片点击可在新窗口打开查看
      每次我都要将前一行的报料日期,鼓号,装皮重量KG剪切后,再重新粘贴到该行和后面的多行,太麻烦了。可不可以直接编写一个代码来完成?或者请各位专家为我提供解决方法。谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/20 14:57:00 [只看该作者]

Dim r As Row = Tables("用户表").rows(0)
for r1 as row in Tables("用户表").rows
r1("第一列") = r("第一列")
r1("第二列") = r("第二列")
r1("第三列") = r("第三列")
next

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2020/3/20 15:07:00 [只看该作者]

我试编了后提示:编译错误:“for”循环控制变量不能是类型“Row"
                       错误代码:For r1 As Row In Tables("材料计算与打印").rows

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2020/3/20 15:10:00 [只看该作者]

而且在之前有数据录入后,新增加行后,我表中的第一行就不是第一行了。而是新增加的行。

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2020/3/20 15:13:00 [只看该作者]

以下是引用wangj6666在2020/3/20 15:07:00的发言:
我试编了后提示:编译错误:“for”循环控制变量不能是类型“Row"
                       错误代码:For r1 As Row In Tables("材料计算与打印").rows

我的代码是:Dim r As Row = Tables("材料计算与打印").Rows(0)
For r1 As Row In Tables("材料计算与打印").rows
r1("报料日期") = r("报料日期")
r1("鼓号") = r("鼓号")
r1("装皮重量KG") = r("装皮重量KG")
Next


 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2020/3/20 15:28:00 [只看该作者]

请问是哪里还有问题呢?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/20 16:01:00 [只看该作者]

Dim r As Row = Tables("材料计算与打印").current
For each r1 As Row In Tables("材料计算与打印").rows
r1("报料日期") = r("报料日期")
r1("鼓号") = r("鼓号")
r1("装皮重量KG") = r("装皮重量KG")
Next

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2020/3/21 8:47:00 [只看该作者]

您好!代码正确了,没有报错了。运行时也能执行首行后的填充。可是在我第二次在后面再增加一行,而且这三列内容与头一次的不一样时,执行代码后会将第二次的对就列内容全部填充为与首行相同的。如果填充时不以首行填充,而以空行的上一行填充,还要如何修改代码呢?谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/21 10:00:00 [只看该作者]

选中空行的上一行,然后再执行代码

Dim r As Row = Tables("材料计算与打印").current
For i as integer = r.index+1 to Tables("材料计算与打印").rows.count - 1
dim r1 as row = Tables("材料计算与打印").rows(i)
r1("报料日期") = r("报料日期")
r1("鼓号") = r("鼓号")
r1("装皮重量KG") = r("装皮重量KG")
Next

 回到顶部
帅哥哟,离线,有人找我吗?
wangj6666
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:238 积分:1943 威望:0 精华:0 注册:2016/1/11 8:40:00
  发帖心情 Post By:2020/3/21 12:39:00 [只看该作者]

OK!搞定。谢谢!

 回到顶部