HF
Lv 6
HF asked in 電腦與網際網路軟體 · 1 decade ago

EXCEL所有SHEET快速分別存的方法

EXCEL所有SHEET快速分別存的方法

一個EXCEL檔內有 26個SHEET,

例如

A、B、C...Z共26個

以一個SHEET複製移動存成另一個EXCEL(只有A)、再重複作移動複製存成另一個EXCEL(只有B)...要作26次

有快速的方法??

第二個問題:

若要在某個SHEET (或新建) 作A~Z的目錄且有超連結

例 我點 F 就會跳到 F的SHEET

有快速的方法?

謝謝

Update:

Rich fox :

我用alt+f11

洲貼上你的程式

後執行巨集 是無效的

第二個問題:

你說的方法後知道,但是如何一次產生各sheet(如a~z sheet)名稱加上連結 在某個sheet上(如a~z 的sheet都產生在 sheet1 上)

謝謝

Update 2:

回答者: 因八 你好~~

問題二之二

(已執行過問題一的程式碼後的單一檔案連結表)

執行程式碼 無反應~~

怪怪的。

3 Answers

Rating
  • 1 decade ago
    Best Answer

    問題一

    執行前請先儲存原檔案

    請複製下列程式碼

    Sub test1()

    Dim I As Long

    Dim SN As String

    I = 1

    For I = 1 To Sheets.Count

    SN = Sheets(I).Name

    Sheets(I).Copy

    ActiveWorkbook.SaveAs Path & SN & ".xls"

    ActiveWorkbook.Close

    Next I

    End Sub

    問題二之一(在原檔案內的SHEET連結表)

    請複製下列程式碼

    Sub test2()

    Dim I As Long

    Dim SN, NSN As String

    Sheets.Add

    NSN = ActiveSheet.Name

    I = 1

    For I = 1 To Sheets.Count

    If NSN <> Sheets(I).Name Then

    Sheets(NSN).Hyperlinks.Add _

    Anchor:=Sheets(NSN).Cells(I, 1), _

    Address:="", _

    SubAddress:=Sheets(I).Name, _

    TextToDisplay:=Sheets(I).Name

    End If

    Next I

    End Sub

    問題二之二

    (已執行過問題一的程式碼後的單一檔案連結表)

    請複製下列程式碼

    Sub test3()

    Dim I As Long

    Dim SN, NSN As String

    Sheets.Add

    NSN = ActiveSheet.Name

    I = 1

    For I = 1 To Sheets.Count

    If NSN <> Sheets(I).Name Then

    Sheets(NSN).Hyperlinks.Add _

    Anchor:=Sheets(NSN).Cells(I, 1), _

    Address:=Sheets(I).Name & ".xls", _

    TextToDisplay:=Sheets(I).Name & ".xls"

    End If

    Next I

    End Sub

    2008-01-26 01:36:25 補充:

    更正

    請把Sub test2()中的

    SubAddress:=Sheets(I).Name, _

    換成

    SubAddress:=Sheets(I).Name & "!A1", _

    Source(s): 自己多年的煎熬及(Rich fox)的程式碼修正
  • Trump
    Lv 7
    1 decade ago

    Good job.

    Perfect ~

  • CYCU
    Lv 5
    1 decade ago

    使用 Excel VBA 可以做到 .

Still have questions? Get your answers by asking now.