ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 1e3e

[求助] 简单的复制 插入 粘贴问题 ,希望能用vba解决

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-3-29 08:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
1e3e 发表于 2018-3-28 22:23
请您费心再看看啊

vba 不是这样玩的,看看下面你的代码 ,很另类,该手工添加 合并的的还是 别用vba了吧。
总之 无能为力
================

Sheets("吉首").Range("a" & m & ":a" & 2000).Cells.Replace what:="(二)农田水利配套", Replacement:="(二)农田水利配套b计划", LookAt:=xlWhole

Sheets("吉首").Range("x1:x2000").Cells.Replace what:="(二)农田水利配套", Replacement:="3", LookAt:=xlWhole

Cells(x, 1).Interior.ColorIndex = 36 '单元格值为上述值时,该单元格填充黄色

Sub Macro5() '处理表格全部无合并单元格的情形
Sheets("吉首").Select
For x = 7 To 2000  '建立循环

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-29 10:54 | 显示全部楼层
zopey 发表于 2018-3-29 08:26
vba 不是这样玩的,看看下面你的代码 ,很另类,该手工添加 合并的的还是 别用vba了吧。
总之 无能为力
...

按您要求改了重新上传附件,请您再看看

最后6万元无法复制粘贴.rar

111.92 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2018-3-29 11:16 | 显示全部楼层
下面一段要根据表格修改

With Worksheets("样表一")
For i = 2 To 99
    If .Cells(i, 24).Value > 0 Then dica(.Cells(i, 24).Value) = i
Next

"样表一"你都加到100多行了,超出2 到 99 的预设范围,也就是没取到 56 、57、58的行号
请增加行数(按表格),比如    for i=2 to 188

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-4-2 14:46 | 显示全部楼层
zopey 发表于 2018-3-29 11:16
下面一段要根据表格修改

With Worksheets("样表一")

请您看看,这附件里 运行正确.xls  和运行错误.xls在我看来运行代码都是一样的,为什么结果不一样呢?

附件.rar

169.61 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2018-4-2 16:29 | 显示全部楼层
1、当前激活工作表是 “空表”,下面代码自然没问题

Set dicb = CreateObject("Scripting.Dictionary")
For i = 2 To 999
    If Cells(i, 24).Value > 0 Then dicb(Cells(i, 24).Value) = i
Next

2、当前激活工作表不是 “空表”, 下面代码才不会错

Set dicb = CreateObject("Scripting.Dictionary")
With Worksheets("空表")
For i = 2 To 999
    If .Cells(i, 24).Value > 0 Then dicb(.Cells(i, 24).Value) = i
Next
End With


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-10 22:14 | 显示全部楼层
zopey 发表于 2018-4-2 16:29
1、当前激活工作表是 “空表”,下面代码自然没问题

Set dicb = CreateObject("Scripting.Dictionary")
...

最近没办法用excel了,只能用libreoffice,我使用libreoffice导入后运行vba脚本显示如图所示错误,还烦请大大再帮忙看下,代码在excel 2007运行是正常的
QQ图片20230210220415.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-10 22:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zopey 发表于 2018-3-21 11:19
Private Sub CommandButton1_Click()
Set dica = CreateObject("Scripting.Dictionary")
For i = 2 To 99 ...

这段代码同样在libreoffice中运行时出错
无标题.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-10 22:32 | 显示全部楼层
本帖最后由 1e3e 于 2023-2-10 22:36 编辑

在excel2007中运行是正常的,LibreOffice的最新版本可以运行一些Excel Visual Basic脚本,但兼容性确实存在问题,怎么改呢?头痛
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-29 04:50 , Processed in 0.041339 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表