萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 辦公室軟體 >  >> Excel 教學 >> Excel 綜合

Excel VBA 一鍵插入斜線表頭:命令按鈕 + InputBox 互動式巨集

需求

Excel 無內建斜線表頭功能,手工繪製斜線、輸入雙行標題極繁瑣。利用 VBA + 表單按鈕,實現「選取儲存格 → 點按鈕 → 輸入行/列標題 → 自動生成斜線表頭」。

實作步驟

  1. 開發工具 > 控制項 > 插入 > 命令按鈕 (ActiveX),在工作表繪製一個按鈕。
  2. 右鍵按鈕 > 屬性,將 Caption 改為「一鍵插入斜線表頭」。
  3. 雙擊按鈕進入 VBE,在 Click 事件撰寫程式碼:
Private Sub CommandButton1_Click()
    Dim rowTitle As String, colTitle As String
    Dim target As Range
    
    ' 1. 互動輸入行/列標題
    rowTitle = InputBox("請輸入斜線儲存格的列標題(如:週別)", "列標題")
    colTitle = InputBox("請輸入斜線儲存格的行標題(如:班級)", "行標題")
    
    ' 2. 驗證輸入
    If Len(rowTitle) = 0 Or Len(colTitle) = 0 Then
        MsgBox "標題不可為空!", vbExclamation
        Exit Sub
    End If
    
    ' 3. 確認僅選取單一儲存格
    Set target = Selection
    If target.CountLarge <> 1 Then
        MsgBox "請僅選取一個儲存格後再執行!", vbExclamation
        Exit Sub
    End If
    
    ' 4. 寫入合併標題(以空格或換行分隔)
    target.Value = rowTitle & " " & colTitle
    
    ' 5. 繪製左上到右下斜線
    With target.Borders(xlDiagonalDown)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    
    ' 6. 設定文字對齊(可選:分散對齊模擬雙行效果)
    With target
        .HorizontalAlignment = xlDistributed
        .VerticalAlignment = xlCenter
        .Orientation = 0
        .WrapText = True
    End With
End Sub
  1. 回到 Excel,關閉設計模式(開發工具 > 設計模式 取消按下)。
  2. 使用方式:選取目標儲存格(如 A1)→ 點擊按鈕 → 依序輸入「週別」「班級」 → 完成斜線表頭。
斜線表頭成品

進階優化建議

  • 改用 rowTitle & Chr(10) & colTitle 並設定 .WrapText = True + .Orientation = 45(或 -45),配合欄寬/列高手動調整,視覺更接近傳統斜線表頭。
  • 加入錯誤處理 On Error GoTo ErrHandler,防止非預期中斷。
  • 將巨集存於「個人巨集活頁簿」,所有檔案通用。
copyright © 萬盛學電腦網 all rights reserved