ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

带你入门VBA系列之:不懂的代码快点贴过来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-6-9 11:08 | 显示全部楼层
以下是引用[I]chen7806[/I]在2006-6-8 13:01:06的发言:

我的一个问题,如何复制过去的数字不带格式.比如:

Private Sub CommandButton1_Click()
h = Sheets("sheet2").Range("A65536").End(xlUp).Row + 1
Range("d1:f2").Copy Worksheets("sheet2").Range("A" & h)
End Sub

d1:f2我设有公式,但复到2表以后,公式也一同过去了,我不想公式复制过去,应该使用什么样的属性.

..........................以下为解释............................................ Range("d1:f2").Copy Worksheets("sheet2").Range("A" & h) 可以改为 Worksheets("sheet2").Range("A" & h)=Range("d1:f2").VALUE等号赋值的方法也可以达到复制的效果
老师好, 我按照你的做法,公式确实没有了,但复制过去的只是第一个单元格,其他的单元格不会过去. *****************说明*********************** 如果是一个区域复制,要求两个区域大小相等才能全部复制,所以Worksheets("sheet2").Range("A" & h)须要修改为一个和Range("d1:f2")同样大小的区域
[此贴子已经被兰色幻想于2006-6-9 12:15:17编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-9 11:47 | 显示全部楼层
感谢。。。楼主

TA的精华主题

TA的得分主题

发表于 2006-6-9 15:19 | 显示全部楼层
CSTR()是什么意思 以下引自帮肋文件: CStr 返回值 如果 expression 是CStr 返回 Boolean 含有 True或 False 的字符串 Date 含有系统中短日期格式日期的字符串 Null 一个运行时错误 Empty 一个零长度字符串 ("") Error 包含单词 Error 以及错误号的字符串 其他数值 含有数值的字符串
[此贴子已经被兰色幻想于2006-6-9 18:06:22编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-9 15:57 | 显示全部楼层

If UBound(Split(UCase(fileopen), UCase(ThisWorkbook.Path) & "\POTO\")) = 1

是什么意思

UBound和ucase是什么意思

在VBE窗体,鼠标定位在相关词汇中,按F1键吧。
[此贴子已经被plxmm于2006-6-10 11:14:28编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-9 16:12 | 显示全部楼层
请问红色文字是什么意思? Private Sub UserForm_Activate() Dim rng As Range Dim i As Integer With ListView1 .Gridlines = True '显示表格线 LabelEdit = lvwManual 'LabelEdit的值确定是否可以编辑在 ListView 控件中的 ListItem 对象的标签。当为lvwManual 时手动的。BeforeLabelEdit 事件只发生在调用 StartLabelEdit 方法时。 .FullRowSelect = True '可以整行选取 .GetFirstVisible 'ListView 控件可包含的 ListItem 对象数目比在其内部区域中可视的 ListItem 对象数目多。可以使用由 GetFirstVisible 方法返回的引用决定在列表或在报表视图中的第一个可视的 ListItem 对象。 .FlatScrollBar = True '设置滚动条的外观 .FullRowSelect = True .View = lvwReport '样式为报表格式 With .ColumnHeaders .Add Text:="编号", Width:=ListView1.Width / 4 .Add Text:="名称", Width:=ListView1.Width / 4 .Add Text:="规格", Width:=ListView1.Width / 4 .Add Text:="颜色", Width:=ListView1.Width / 4 End With Set rng = Range("A2:D12") For i = 1 To rng.Rows.Count With .ListItems.Add(Text:=rng.Cells(i, 1) '在ListView控件中添加新的记录,标签(第1列标题)为rng.Cells(i, 1) 的值 .SubItems(1) = rng.Cells(i, 2) '设置ListView控件第2列内容 .SubItems(2) = rng.Cells(i, 3) '设置ListView控件第3列内容 .SubItems(3) = rng.Cells(i, 4) '设置ListView控件第4列内容 End With Next Set rng = Nothing End With End Sub
[此贴子已经被兰色幻想于2006-6-10 12:58:52编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-10 00:07 | 显示全部楼层

[求助] 这是给当前活动单元格着色的代码,烦请楼主帮助注释 Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveCell r = .Row '取得活动单元格的所在行数 If .Column > 2 And .Column < 9 And .Row > 5 And .Row < 12 And .Interior.ColorIndex = xlNone Then '限定活动单元格在第3~8列,且所在行为:6~11,单元格无底色 Application.EnableEvents = False '关闭对象启用事件 Sheet3.Unprotect (2103136) '对Sheet3工作表解除保护 Range("IN_记录").Interior.ColorIndex = xlNone '名称为IN_记录的单元格范围,无底色 Range(Cells(r, 3), Cells(r, 8)).Interior.ColorIndex = 19 '被选中的所在行设置的第3~8列单元格底色为19号色 End If End With End Sub 这是效果图:http://club.excelhome.net/showimg.asp?BoardID=5&filename=2005-3/2005318105617138.jpg 谢谢 plmm 的帮助~!

[此贴子已经被作者于2006-6-10 17:55:00编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-10 12:20 | 显示全部楼层

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%
If Not Target.Address Like "$[CEFGHI]$*" Then Exit Sub
i = Target.Row
If Application.CountA(Cells(i, 1), Range(Cells(i, 3), Cells(i, 7))) <> 0 Then
Cells(i, 5).FormulaR1C1 = "=单价"
Cells(i, 5) = Cells(i, 5).Value
Cells(i, 7).FormulaR1C1 = "=收入"
Cells(i, 7) = Cells(i, 7).Value
Cells(i, 9).FormulaR1C1 = "=油料"
Cells(i, 9) = Cells(i, 9).Value
Cells(i, 12).FormulaR1C1 = "=工资"
Cells(i, 12) = Cells(i, 12).Value
Cells(i, 14).FormulaR1C1 = "=营业税"
Cells(i, 14) = Cells(i, 14).Value
Cells(i, 16).FormulaR1C1 = "=成本合计"
Cells(i, 16) = Cells(i, 16).Value
Cells(i, 17).FormulaR1C1 = "=利润"
Cells(i, 17) = Cells(i, 17).Value
End If
End Sub

兰老师,上面的代码是过去别上帮我写的,但过去只是在一列里求数,现在我在过去的基础上增加了很多列,在运行的时候,CPU总是100%,根本无法得到结果,最后只好结束任务,请帮助改一下代码,使其运行快点,另外红色部份我不知道是什么意思,请帮助解释一下.谢谢!

楼主能否传个附件上来,我总感觉代码太麻烦了。
[此贴子已经被兰色幻想于2006-6-10 12:42:43编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-10 15:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
38楼少了禁再次触发事件句,应当是CPU100%的原因.

TA的精华主题

TA的得分主题

发表于 2006-6-10 16:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

Sub Auto_Open()

Worksheets("查询").Range("h1").Value = Time

Application.OnTime Time + TimeSerial(0, 0, 1), "Auto_Open"

End Sub

这是一个时间自动刷新的代码,但这个代码套上去以后,出现关闭后又会自动打开,然后再关闭就行了。不知里面错在哪里?请大师帮忙看一下!谢谢!

兰色幻想: 在我这里没有出现你说的情况
[此贴子已经被兰色幻想于2006-6-10 16:34:27编辑过]

TA的精华主题

TA的得分主题

发表于 2006-6-10 16:45 | 显示全部楼层
40楼:加一个过程抵消:
Sub Auto_Close()
On Error Resume Next
Application.OnTime Time + TimeSerial(0, 0, 1), "Auto_Open", , False
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 18:39 , Processed in 0.042517 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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