注册 登录
编程论坛 VB6论坛

VB中如何选择工作表

lx5656 发布于 2015-05-20 17:17, 4126 次点击
请教高手,在VB中如何选择激活另外一个工作表
比如   
在Sheets("总表").Select如何选择下面的表
Sheets("成绩表").Select这是VBA中的代码
11 回复
#2
HVB62015-05-20 17:29
回复 楼主 lx5656
Sheets("总表").Select如何选择下面的表
Sheets("成绩表").Select这是VBA中的代码
改为
Sheets("总表").Activate
Sheets("成绩表").Activate
#3
lx56562015-05-20 17:32
Private Sub Command7_Click()
 Dim EXAPP As Excel.Application
 Dim WB As Excel.Workbook
 Dim sht As Excel.Worksheet
 Set EXAPP = CreateObject("excel.application")
 Set WB = EXAPP.Workbooks.Open("d:\成绩表.xls")
 Set sht = WB.Worksheets("总表")
    sht.Rows("2:2").Select
    sht.Range("C2").Activate
    sht.Range("C2").AutoFilter
   sht.Range("C2").AutoFilter Field:=5, Criteria1:="1"
  Sheets("成绩表").Activate[/color]
    Sheets.Add
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "1"
    Sheets("总表").Select
    Cells.Select
    Selection.Copy
    Sheets("1").Select
    Cells.Select
    ActiveSheet.Paste
    Cells.Select
    Sheets("总表").Select
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
红色部分出错!!,我也不知道,这里是选择成绩表,但是就是提示错误!就是成绩表那里出错了!

[ 本帖最后由 lx5656 于 2015-5-20 17:34 编辑 ]
#4
HVB62015-05-20 17:42
回复 3楼 lx5656
Private Sub Command7_Click()
Dim EXAPP As Excel.Application
Dim WB As Excel.Workbook
Dim sht As Excel.Worksheet
Set EXAPP = CreateObject("excel.application")
Set WB = EXAPP.Workbooks.Open("d:\成绩表.xls")
Set sht = WB.Worksheets("总表")
    sht.Rows("2:2").Select
    sht.Range("C2").Activate
    sht.Range("C2").AutoFilter
   sht.Range("C2").AutoFilter Field:=5, Criteria1:="1"
  sht.Sheets("成绩表").Activate
    Sheets.Add
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "1"
    Sheets("总表").Select
    Cells.Select
    Selection.Copy
    Sheets("1").Select
    Cells.Select
    ActiveSheet.Paste
    Cells.Select
    Sheets("总表").Select
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
#5
lx56562015-05-20 17:47
我试了,换是这句出错误,提示未找到方法或数据成员
#6
HVB62015-05-20 17:50
回复 5楼 lx5656
Private Sub Command7_Click()
Dim EXAPP As Excel.Application
Dim WB As Excel.Workbook
Dim sht As Excel.Worksheet
Set EXAPP = CreateObject("excel.application")
Set WB = EXAPP.Workbooks.Open("d:\成绩表.xls")
Set sht = WB.Worksheets("总表")
    sht.Rows("2:2").Select
    sht.Range("C2").Activate
    sht.Range("C2").AutoFilter
   sht.Range("C2").AutoFilter Field:=5, Criteria1:="1"
Set sht = WB.Worksheets("成绩表")
  sht.Activate
    Sheets.Add
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "1"
    Sheets("总表").Select
    Cells.Select
    Selection.Copy
    Sheets("1").Select
    Cells.Select
    ActiveSheet.Paste
    Cells.Select
    Sheets("总表").Select
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
#7
lx56562015-05-20 17:54
谢谢!这个语句对了,我抓紧时间改下面的语句,谢谢了
#8
lx56562015-05-20 18:02
Sheets.Add
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "1"
    Sheets("总表").Select
    Cells.Select
    Selection.Copy
    Sheets("1").Select
    Cells.Select
    ActiveSheet.Paste
    Cells.Select
    Sheets("总表").Select
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
为什么增加工作表会出错?
#9
HVB62015-05-20 18:31
回复 8楼 lx5656
WB.Sheets.Add
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "1"
    Sheets("总表").Select
    Cells.Select
    Selection.Copy
    Sheets("1").Select
    Cells.Select
    ActiveSheet.Paste
    Cells.Select
    Sheets("总表").Select
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
#10
lx56562015-05-20 19:53
谢谢高手,问题解决
#11
lx56562015-05-20 21:49
WB.Sheets.Add
    WB.Sheets("Sheet1").Activate
    WB.Sheets("Sheet1").Name = "1"
 Set sht = WB.Worksheets("总表")
    sht.Activate
    WB.Sheets("总表").Activate
    sht.Cells.Activate
  WB.Sheets("总表").Copy
Set sht = WB.Worksheets("1")
   WB.Sheets("1").Activate
  sht.Paste
这句错误,我用了很多方法都出错,我总感觉粘贴和复制都有错误,但是有不知道错误是什么。。。
#12
HVB62015-05-21 16:08
回复 11楼 lx5656
WB.Sheets.Add
    WB.Sheets("Sheet1").Activate
    WB.Sheets("Sheet1").Name = "1"
Set sht = WB.Worksheets("总表")
    sht.Activate
    WB.Sheets("1").Activate
    sht.Copy WB.Sheets("1")

1