~工作簡化,不再是難事~

顯示具有 VBA 標籤的文章。 顯示所有文章
顯示具有 VBA 標籤的文章。 顯示所有文章

2016-06-07

〔VBA〕 取得Excel選取的範圍列(不需連續) / Seletion.Areas Rows

範例:依據目前工作表所選取的範圍,顯示所有列號

Private Sub PrintTSF(ByVal savePath As String)
    Dim FB As Workbook: Set FB = ActiveWorkbook     '目前活頁簿
    Dim FS As Worksheet: Set FS = ActiveSheet            '目前工作表

    Dim xArea As Range
    Dim i As Integer
    Dim iRow As Integer
    With FS
        For Each xArea In Selection.Areas
            For i = 1 To xArea.Rows.Count
                iRow = xArea.Rows(i).Row            '一筆筆取得選取的列號
                MsgBox iRow
            Next
        Next xArea
    End With
    Set FB = Nothing
    Set FS = Nothing

End Sub
Read More

2016-05-26

〔Excel-VBA〕在儲存格上按2下,直接跳到指定的工作表(Sheet)

我…是懶人…總是要找懶方法。
面對一個excel活頁簿有100張工作表(sheet)時,當需要"經常"切換工作表,總是讓我覺得很麻煩~~

因此我採取建立一張總表來管理~~將Sheet名填在A欄中…
然後寫VBA程式,讓我用滑鼠在儲存格上連按2下,就直接跳到指定的Sheet頁面中…
這樣是不是省事多了??



VBA CODE
請在該"工作表"的程式碼裡貼上以下內容即可

'本段在該工作表內的任何一個儲存格Double Click都會跳進來,所以要判斷行列的範圍喔!範圍內才進行跳轉的動作
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    On Error GoTo Err
    Select Case Target.Column                       'Target.column:取得目前儲存格的欄號(因為我只有A欄Double Click才需要跳轉)
        Case 1
            If Target.Text <> "" Then
                Dim strSheet As String
                strSheet = Range("A" & Selection.Row)
                If strSheet <> "" Then
                    Sheets(strSheet).Activate   '真正執行跳轉工作表的就這一行,其它的都是一些防止錯誤的條件,您可自行省略!
                End If
            End If
            Cancel = True
    End Select
    Exit Sub
Err:
    MsgBox "您選取的資料有誤,找不到對應Sheet!", "Error"
End Sub

這封郵件來自 Evernote。Evernote 是您專屬的工作空間,免費下載 Evernote
Read More

Popular Posts

Copyright © 2016 Scenic's BOX. 技術提供:Blogger.