代码之家  ›  专栏  ›  技术社区  ›  PWJP

我正在尝试将行高从一张图纸复制到另一张图纸

  •  0
  • PWJP  · 技术社区  · 6 年前

    我正在尝试将行高从一张图纸1复制到图纸2。但以下代码不起作用。请注意,两张表上的表也位于不同的行号上。

    Call Unhide
    
    With Sheet1
    
        Dim LastRowC23 As Integer
        LastRowC23 = Application.WorksheetFunction.Match("CYCLE 1", 
        .Range("A:A"), 0) - 1
    
        Dim LastRow As Integer
        LastRow = .Cells(.Rows.count, "B").End(xlUp).Row
    
        .Range("A3:BD3"), 0)
    
        Dim C1StartCol As Integer
        C1StartCol = Application.WorksheetFunction.Match("CYCLE 1", 
        .Range("A1:BD1"), 0)
    
        Dim C2StartCol As Integer
        C2StartCol = Application.WorksheetFunction.Match("CYCLE 2", .Range("A1:BD1"), 0)
    
        Dim LastCol As Integer
        LastCol = .Cells(3, .Columns.count).End(xlToLeft).Column
    
        Sheet2.Range("A1:CZ200").Clear
    
        .Range("A1", .Cells(3, C2StartCol - 1)).Copy
        Sheet2.Range("A1").PasteSpecial xlPasteAllUsingSourceTheme
        Sheet2.Range("A1").PasteSpecial xlPasteColumnWidths
        .Range(.Cells(LastRowC23 + 1, 1), .Cells(LastRow - 1, C2StartCol - 1)).Copy
        Sheet2.Range("A4").PasteSpecial xlPasteAllUsingSourceTheme
        Sheet2.Range("A4").PasteSpecial xlPasteColumnWidths
    
        Dim i As Integer
        Dim count As Integer
    
        count = 4
    
        For i = LastRowC23 + 1 To LastRow
            .Rows(count).RowHeight = Sheet2.Rows(i).RowHeight
            count = count + 1
        Next i
    
    
    
        Sheet2.Outline.ShowLevels ColumnLevels:=1
    
    End With
    

    以下是特定于行高的零件。在这里,我将遍历表1部分中的每一行,并使表2的行高度等于表1的行高度。

        Dim i As Integer
        Dim count As Integer
    
        count = 4
    
        For i = LastRowC23 + 1 To LastRow
            .Rows(count).RowHeight = Sheet2.Rows(i).RowHeight
            count = count + 1
        Next i
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   user4039065 user4039065    6 年前

    你在一个。。。以引用sheet1作为父工作表的块结束。LastRowC23和LastRow由表1上的行位置定义。Count被任意指定为值4。

    如果你是 '使图纸2行高度等于图纸1行高度' ,那么你似乎在倒退使用所有东西。

    For i = LastRowC23 + 1 To LastRow
        Sheet2.Rows(count).RowHeight = .Rows(i).RowHeight
        count = count + 1
    Next i