0

「結果」シートのように見えるように、2 つのシート「開始」のテーブルをフォーマットする必要があります。

サンプル ファイルには、「start_1」、「start_2」、「result」の 3 つのシートが含まれています。
「start_1」と「start_2」は同一です。
http://www.mediafire.com/download/n8dwli8v55lw9gl/add_a_blank_column_before_each_table.xls

上部に空白行を 1 つ追加し、タイトル行を固定します。

タスクは次のとおりです。

  • 各テーブルの前に空白の列を 1 つ追加します。追加された列には、塗りつぶしの色と境界線を指定しないでください。(ここの各表は、一番上のタイトル行の結合されたセルによって識別されます)
  • 空白の外側のスペースが隠されるように、データのある最後の列とデータのある最後の行を決定します。

ThisWorkbook モジュールのコード:

Option Explicit
    
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim bScrUpdate As Boolean
    Dim ws As Worksheet
    Dim rng As Range
    
    Application.EnableCancelKey = xlDisabled 'disable ESC key
    bScrUpdate = Application.ScreenUpdating
    If bScrUpdate = True Then Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> "result" Then
            ws.Select
            Rows("1:1").Insert Shift:=xlDown
    
            Range("A4").Select
            ActiveWindow.FreezePanes = True
    
            For Each rng In Rows("2:2").Cells
                If rng.MergeCells Then
                    rng.MergeArea.Cells(1, 1).Select
                    Selection.Offset(-1, 1).EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
                End If
            Next rng
        End If
    Next ws
    
    Application.DisplayAlerts = True
    If Not Application.ScreenUpdating = bScrUpdate _
      Then Application.ScreenUpdating = bScrUpdate

    Application.EnableCancelKey = xlInterrupt 'enable ESC key

End Sub
4

1 に答える 1

0

列を追加してその書式設定をすべてクリアするには、次のようにします。

Sub InsertCol()
    Columns(1).Insert
    Columns(1).ClearFormats ' might be unnecessary
End Sub

最後の行/列を確認したい場合は、この質問を見てください。

于 2013-07-02T07:23:22.020 に答える