Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 15389|回复: 51

[已解]还有查询代码怎么写?

[复制链接]
发表于 2008-1-8 09:30 | 显示全部楼层 |阅读模式

有两个工作簿,如何实现自动引用相关的条件?

这个问题已经由不看版主解决了,再此感谢他!!!

 

还有一个窗口怎么解决?如图及附件:

 


 

 

附件:

89sNa4N7.rar (69.56 KB, 下载次数: 30)

[求助]两个工作簿关联已解决,还有查询窗口代码怎么写?

[求助]两个工作簿关联已解决,还有查询窗口代码怎么写?

4woEgRmX.rar

62.05 KB, 下载次数: 24

[求助]如何实现两个工作簿条件关联?

发表于 2008-1-8 16:19 | 显示全部楼层

类似这样就可以

  Range("C6:d6") = Workbooks("定额库").Sheets("" & Range("b6").Value & "").Range("a2:b2").Value

[此贴子已经被作者于2008-1-8 16:20:11编辑过]
回复

使用道具 举报

发表于 2008-1-8 16:38 | 显示全部楼层

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$B$6" Then
Dim x&
x = Workbooks("定额库").Sheets("" & Range("b6").Value & "").Range("a65536").End(xlUp).Row
Range("C6").Resize(x - 1, 2) = Workbooks("定额库").Sheets("" & Range("b6").Value & "").Range("a2:b" & x).Value
End If
Application.ScreenUpdating = True
End Sub

要都是打开的

回复

使用道具 举报

发表于 2008-1-8 16:56 | 显示全部楼层

V59uat54.rar (69.91 KB, 下载次数: 18)

回复

使用道具 举报

 楼主| 发表于 2008-1-8 17:13 | 显示全部楼层

谢谢xhsdham的热心解答,

我的本意不是把定额库里都复制过来,在我选定工程类别的时候就引用定额库工作簿里面相应的相同名称的工作表.

在我输入定额编号后,在后面的项目名称和单位自动填入.如我在工程类别下拉菜单里选取93预算,在定额编号例输入1-1,后面的项目名称和单位里自动填入跟定额库工作簿93预算工作表里1-1后面相同的项目名称和单位.

回复

使用道具 举报

发表于 2008-1-8 17:29 | 显示全部楼层

你的要求没仔细看 这是不用两个表都同时打开的 看你也写了不少代码 其它的应该会把

mZhiz8Pm.rar (72.67 KB, 下载次数: 27)
回复

使用道具 举报

 楼主| 发表于 2008-1-8 17:49 | 显示全部楼层

定额库工作簿打不打开没关系,主要是我选取了一个工程类别,输入定额编号,后面显示一行的项目名称和单位名称,而不是全部把定额库里全部复制过来.


 

[此贴子已经被作者于2008-1-12 16:13:35编辑过]

[求助]如何实现两个工作簿条件关联?

[求助]如何实现两个工作簿条件关联?
回复

使用道具 举报

发表于 2008-1-8 18:10 | 显示全部楼层

哦 这个意思
回复

使用道具 举报

发表于 2008-1-8 18:50 | 显示全部楼层

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row < 3 Or Target.Column <> 3 Or Target = "" Or Cells(Target.Row, 2) = "" Then Exit Sub
On Error GoTo 100
Application.ScreenUpdating = False
Dim x%, MyXL As Object, y$
Set MyXL = GetObject("" & ThisWorkbook.Path & "\定额库.xls" & "")
y = Cells(Target.Row, 2)
x = MyXL.Sheets("" & y & "").Range("a:a").Find(Cells(Target.Row, 3).Value).Row
Range("d" & Target.Row) = MyXL.Sheets("" & y & "").Range("b" & x).Value
Set MyXL = Nothing
100:
Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

发表于 2008-1-8 18:54 | 显示全部楼层

nxtjlTux.rar (60.1 KB, 下载次数: 21)

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-4 05:38 , Processed in 0.395123 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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