设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1925|回复: 3
打印 上一主题 下一主题

[求助]请教老鬼大哥!

[复制链接]
跳转到指定楼层
1#
发表于 2005-3-18 23:06:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟刚学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编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-3-21 04:26:00 | 只看该作者
你的问题好长啊,TARGET.COUNT指目标单元格的个数,CurrentRegion指当前区域,DATA是自定义的区域名称,END(XLUP)指对象单元格往上有数据的第一个单元格,模块三可能是我用来测试的。具体的你还是要参考VBA帮助,或者把你不懂的一个一个拿出来测试。
3#
 楼主| 发表于 2005-3-21 16:38:00 | 只看该作者
谢谢老鬼的指点!我也知道问题太多了

不过这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
4#
发表于 2005-3-24 05:29:00 | 只看该作者
是只有一条记录时才会特定选那个区域的。粘的当然是COPY的内容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-29 05:52 , Processed in 0.088812 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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