返回列表 上一主題 發帖

sheet name 問題

sheet name 問題

本帖最後由 basarasy 於 2010-7-27 17:15 編輯

我在book1 打vba  open book2   

  MyName=sheet1.name 有問題.
我是想要book2的sheet1.name
50 字節以內
不支持自定義 Discuz! 代碼

回復 3# kimbal
不可以這樣嗎?
MyName = Workbooks("book2.xls").Sheet1.Name
不想每次sheet改了名 都要到vba 改.
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 5# kimbal
因為我想要 sheet1.name   用這個sheet改名了都可以run到
eg.  sheet1(sheet1)>sheet1(人名)
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 7# luhpro

問題是這個有錯,不能用.
    MyName = Workbooks("book2.xls").Sheet1.Name
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 9# jackdream
Workbooks("book2.xls").Activate
MyName = Sheets(1).Name 這句是左邊到右第1個sheet
如果亂了  sheet3 sheet2 sheet1  就不能指定sheet1了.
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復  jackdream

很多地方明明直覺的應該這樣就對偏偏就是不能用.
With Workb ...
luhpro 發表於 2010-7-27 20:50


'很多地方明明直覺的應該這樣就對偏偏就是不能用. '
   me2
那麼有方法look了 sheet1至sheet3不能 移動?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 15# Hsieh

謝謝強大的Hsieh 大大.
如果用3個sheet name 這樣寫對嗎

Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim sh3 As Worksheet
With Workbooks.Open(ThisWorkbook.Path & "\book2.xls")
For Each sh1,sh2,sh3 In .Sheets
   If sh1.CodeName = "Sheet1" Then MyName1 = sh.Name
  If sh2.CodeName = "Sheet1" Then MyName2 = sh.Name
  If sh3.CodeName = "Sheet1" Then MyName3 = sh.Name
Next
End With
50 字節以內
不支持自定義 Discuz! 代碼

TOP

本帖最後由 basarasy 於 2010-7-29 17:34 編輯

回復 17# Hsieh

這個可以run了^^
Dim sh As Worksheet
With Workbooks.Open(ThisWorkbook.Path & "\book2.xlsx")
For Each sh In .Sheets
   If sh.CodeName = "Sheet1" Then MyName1 = sh.Name
   If sh.CodeName = "Sheet2" Then MyName2 = sh.Name
   If sh.CodeName = "Sheet3" Then MyName3 = sh.Name
   
Next
End With
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題