各位老師,目前excel vba中有3-4個宏,能夠正常運行,想移植到vb6中
在vb6中,第一個按鈕為啟動excel,目前正常,第二個按鈕準備在已經啟動的excel中進行讀寫操作,總是出錯,代碼如下
第一個按鈕
Private Sub Command1_Click()
Dim ex As Object
Dim exwbook As Object
Set ex = CreateObject("Excel.Application")
Set exwbook = ex.Workbooks().Add
ex.Visible = True
ex.Worksheets("Sheet1").Range("a1") = "a"
ex.Worksheets("Sheet2").Range("a1") = "b"
ex.Worksheets("Sheet3").Range("a1") = "c"
ex.Sheets("Sheet2").Name = "提取結果" 'Rename Sheet
End Sub
第二個按鈕
‘清除第一個作業表第一列資料
Private Sub Command2_Click()
Dim ex As Object
Dim exwbook As Object
Set ex = CreateObject("Excel.Application") 'Create file
ex.Workbooks.Open FileName:="D:\vvv6\c.xlsx" 'Open file
ex.Visible = True 'show
ex.Sheets("Sheet1").Range("a65536").Clear '本行出問題
End Sub
uj5u.com熱心網友回復:
報錯資訊是什么?uj5u.com熱心網友回復:
老師,您好,上個問題已經解決,能不能幫忙看下為什么msgbox輸出的不是sheet3 的b1,而是excel當前sheet的b1Set Xlsheet = Xlbook.Worksheets("Sheet3") '指定具體的sheet這句話是不是哪里有問題
多謝了
Private Sub Command1_Click()
Dim Xlapp As Excel.Application
Dim Xlbook As Excel.Workbook
Dim Xlsheet As Excel.Worksheet
On Error Resume Next
Set Xlapp = GetObject(, "excel.application") '打開已有的物件,這里假定只有一個excel檔案
If Xlapp Is Nothing Then '如果打開不成功,即excel檔案沒有打開
Set Xlapp = CreateObject("excel.application") '建立excel物件
Set Xlbook = Xlapp.Workbooks.Open(App.Path & "\test.xlsx")
Xlapp.Visible = True '顯示excel
End If
Set Xlsheet = Xlbook.Worksheets("Sheet3") '指定具體的sheet
'Xlsheet.Activate
'Set Xlsheet = Xlbook.ActiveSheet
If Val(Xlapp.Application.Version) >= 8 Then
Set Xlsheet = Xlapp.ActiveSheet
Else
Set Xlsheet = Xlapp
End If
Debug.Print Xlsheet.Cells(1, 2)
MsgBox Xlsheet.Range("B1").Value
End Sub
uj5u.com熱心網友回復:
因為你下面這句,給Xlsheet 重新賦值了,指定為當前活動sheet了If Val(Xlapp.Application.Version) >= 8 Then
Set Xlsheet = Xlapp.ActiveSheet
Else
Set Xlsheet = Xlapp
End If
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/7324.html
標籤:VBA
下一篇:請問為什么會有數值沒被運算?
