设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

%求助% 如何按条件把数据导入到另外的工作表中,

[复制链接]
跳转到指定楼层
1#
发表于 2006-10-28 21:33:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

问题都写在附件里了,搞不清楚为什么程序老是执行不出我要的结果.

程序如下:

      Sub CommandButton1_Click()
    Dim rcount As Integer
    Dim pd As String
    Dim pdees As String
    Dim cellvalue As Variant
   
    pd = ActiveWorkbook.Name
    pdees = ActiveSheet.Name
   
   
'open the productivity source file
    Workbooks.Open ("S:\EES\40_ORGANIZATION_EES\Productivity\TimeSheet_Cumulation_source.xls")打开数据源
    Windows("TimeSheet_Cumulation_source").Activate
    Sheets("SEP06").Activate 激活表A的9月份的表单,因为先做测试,所以先随便写了个月份,但最后是需要把所有月份的数据都提出来的,
   
' Show the hidden rows and columns
    Columns.EntireRow.Hidden = False
    Rows.EntireColumn.Hidden = False
   
'Search for ees in month sheets

    Windows("TimeSheet_Cumulation_source").Activate
    Sheets("SEP06").Activate
    Sheets("SEP06").Range("A3:A64").Select ’要提取的数据在此区域,即部门所在的位置
    For i = 1 To ActiveSheet.UsedRange.Rows.Count ‘提取所在的行,,不知道啊对,
       If ActiveCell.Value = "EES" Then    如果单元格的值为部门EES,那么:
        
        Select Case ActiveCell.Offset(0, 1)  取所在单元格一个的单元格,这里用单步执行,观察的到的值总是为空,为什么呢,???
        
        Case "Chen xue"      ’如果名字为 chen xue
        ActiveCell.Offset(0, 14).Select   那么选取激活单元格所在行的右面第14个单元格 ,
        Selection.Copy   复制
        Windows(pd).Activate 打开b表
        Sheets(pdees).Activate 激活B表中的存放EES的表,
        Range("k4").Select  
        ActiveSheet.Paste   粘贴在“K4”


         CASE……(因为还有好多的员工数据,
        End Select
        
        End If
        Next i
        

End Sub


[此贴子已经被作者于2006-10-28 20:31:13编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
3#
 楼主| 发表于 2006-11-9 07:30:00 | 只看该作者
非常感谢你啊,,,,,
2#
发表于 2006-11-3 06:54:00 | 只看该作者
我是将makro写在sep06.xls中,将数据复制到test.xls中,如果找到相同名字的话。希望能帮得上你。


Sub test()
'
'
'find last i  and last j

Dim last_i%, last_j%
last_i = 4
last_j = 8
Windows("test.xls").Activate
Do While Trim(Cells(last_i + 1, 2).Value) <> ""
    last_i = last_i + 1
Loop

Windows("SEP06.xls").Activate
Do While Trim(Cells(last_j + 1, 2).Value) <> ""
    last_j = last_j + 1
Loop


   
For i = 4 To last_i
    For j = 8 To last_j
     If Workbooks("test.xls").Worksheets(1).Cells(i, 2).Value = _
     Workbooks("SEP06.xls").Worksheets("SEP06").Cells(j, 2).Value Then
    Windows("SEP06.xls").Activate
    Range("N" & j).Select
    Selection.Copy
    Windows("test.xls").Activate
    Range("K" & i).Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
        xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Exit For
    End If
    Next j
Next i
End Sub

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-22 23:24 , Processed in 0.091942 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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