Office中国论坛/Access中国论坛
标题:
[求助]请教老鬼大哥!
[打印本页]
作者:
Bluelost
时间:
2005-3-18 23:06
标题:
[求助]请教老鬼大哥!
小弟刚学excel,看了老鬼大哥在这个帖子里
http://www.office-cn.net/forum.php?mod=viewthread&tid=24328
的回复,有很多不懂的地方但我看的不是很明白,希望老鬼大哥能指点一下!
(我只发现了如下代码,如还有为发现的代码恳请指出)
模块1代码
Public k As Integer
sheet(统计表)代码:
Private Sub Worksheet_Change(ByVal Target As Range)
'Target.count指的是什么,Target.count=1是指选择的单元格数目为1吗?
If Target.Count = 1 Then
If Target.Column = 1 Then
'Target是把Target的行号赋值给K还是把整行的值赋给K?
k = Target.Row
'下面2行代码是必须的吗?在整个程序里有什么作用?我没看出来他们起了什么作用!
Range("G2") = "*" & Target.Value & "*"
Range("H3") = "*" & Target.Value & "*"
'targetcopy是指sheet(统计表)的J1单元格吧?
If Range("targetcopy") <> "" Then
'CurrentRegion指的是那块区域?从if开始到END IF这3行作用是什么?
Range("targetcopy").CurrentRegion.Clear
End If
'range("data")指的是哪个区域?Action:=xlFilterCopy做了一个什么操作?CriteriaRange:=Range("codeif")做了什么操作?CopyToRange:=Range("targetcopy")呢?Unique:=False设置的是什么?
Sheets("条形码清单").Range("data").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"codeif"), CopyToRange:=Range("targetcopy"), Unique:=False
'I = [j65536].End(xlUp).Row作用是什么?end(xlup)是什么?
I = [j65536].End(xlUp).Row
If I = 2 Then
'下面4行,为什么copy的是固定的J2:N2一条数据?程序是如何保证copy到满足条件的任意数据?
Range("J2:N2").Select
Selection.Copy
Range("A" & k).Select
'Paste:=xlPasteValues粘贴的内容是J2:N2的copy吗?
Selection.PasteSpecial Paste:=xlPasteValues
Else
If I > 2 Then
UserForm1.Show
Else
MsgBox "找不到相应的记录!"
End If
End If
End If
End If
End Sub
窗体代码:
Private Sub CommandButton1_Click()
Call abc
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call abc
End Sub
Sub abc()
j = Me.ListBox1.ListIndex
If j = -1 Then
MsgBox "选定记录不得为空!"
Else
Range("J" & (j + 2) & ":N" & (j + 2)).Select
Selection.Copy
Range("A" & k).Select
Selection.PasteSpecial Paste:=xlPasteValues
Unload UserForm1
End If
End Sub
模块3代码"
'下面这段代码不是必要的吧!?
Sub Macro2()
Range("J9").Select
Selection.Copy
Range("C8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
这个东西对我很重要,希望老鬼能详细指点一下,非常感谢!
[此贴子已经被作者于2005-3-18 15:16:44编辑过]
作者:
老鬼
时间:
2005-3-21 04:26
你的问题好长啊,TARGET.COUNT指目标单元格的个数,
CurrentRegion指当前区域,DATA是自定义的区域名称,END(XLUP)指对象单元格往上有数据的第一个单元格,模块三可能是我用来测试的。
具体的你还是要参考VBA帮助,或者把你不懂的一个一个拿出来测试。
作者:
Bluelost
时间:
2005-3-21 16:38
谢谢老鬼的指点!我也知道问题太多了
不过这2个问题能不能回答一下?
下面4行,为什么copy的是固定的J2:N2一条数据?程序是如何保证copy到满足条件的任意数据?
Range("J2:N2").Select
Selection.Copy
Range("A" & k).Select
'Paste:=xlPasteValues粘贴的内容是J2:N2的copy吗?
Selection.PasteSpecial Paste:=xlPasteValues
作者:
老鬼
时间:
2005-3-24 05:29
是只有一条记录时才会特定选那个区域的。粘的当然是COPY的内容。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3