下面是我刚刚在计算机里测试的代码,你自己对比一下,看看步骤是否一致!
操作系统WINDOWS XP,VB6,Excel2003,似乎你的问题与版本无关。
Option Explicit
Private Sub Command1_Click()
Dim xlsApp As Excel.Application '声明Excel对象变量
Dim xlsBook As Excel.Workbook '声明工作簿对象变量
Dim xlsSheet As Excel.Worksheet '声明工作表对象变量
'******************** 创建EXCEL对象实例、打开EXCEL文件,并创建工作簿实例的 方法一 ********************
Set xlsApp = CreateObject("Excel.Application") '创建EXCEL对象实例
Set xlsBook = xlsApp.Workbooks.Open(App.Path & "\实验1.xls") '设置工作簿对象并打开已经存在的工作簿EXCEL文件
'**********************************************************************************************************
xlsApp.Visible = False '设置EXCEL对象不可见(或True为可见)
Set xlsSheet = xlsBook.Worksheets("Sheet1") '设置工作表对象为打开的工作簿中的表“Sheet1”
'引用单元格方法1
xlsSheet.Cells(1, 1) = 999 '给“Sheet1”表的第1行第1格即“A1”单元格赋值999
xlsSheet.Cells(2, 1) = "你好!" '给“Sheet1”表的第1行第1格即“A2”单元格赋值"你好!"
xlsSheet.Cells(3, 2) = "EXCEL" '给“Sheet1”表的第1行第1格即“B3”单元格赋值"EXCEL"
'引用单元格方法2
Dim Str As String
Dim d As Date
Str = "欢迎使用EXCEL VBA"
d = #8/28/2012#
xlsSheet.Range("C1").Value = Str '用变量给“Sheet1”表的“C1”单元格赋值
xlsSheet.Range("C2").Value = d '用变量给“Sheet1”表的“C2”单元格赋值 日期类型
'读取单元格数据
Dim x As Integer
Dim s As String
Dim d1 As Date
x = xlsSheet.Cells(1, 1).Value
s = xlsSheet.Range("C1").Value
d1 = xlsSheet.Range("C2").Value
MsgBox x, , "VBA 实例"
MsgBox s, , "VBA 实例"
MsgBox d1, , "VBA 实例"
'单元格之间直接完成赋值
xlsSheet.Range("A5").Value = xlsSheet.Range("A1").Value
xlsSheet.Range("A10").Value = xlsSheet.Range("A1").Value + 200000
xlsBook.Close (True) '关闭工作簿并保存所做的修改 (False)则放弃修改,xlsBook.Close将会提问
xlsApp.Quit '关闭EXCEL对象
Set xlsApp = Nothing '释放xlApp对象
End Sub
代码貌似没错,有可能是其他打开的EXCEL