首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我试图自动适应行时,我得到了一条400错误消息。(冻结单元格(& F))

当我试图自动适应行时,我得到了一条400错误消息。(冻结单元格(& F))
EN

Stack Overflow用户
提问于 2019-09-06 16:55:28
回答 1查看 83关注 0票数 0
代码语言:javascript
复制
Sub addinfo()

If Range("FH17") = "Unlocked" Then


    Result = MsgBox("Are you sure you want to add information for a new year? (This is only to be done after you have created a new workbook for a new year)", vbYesNo + vbQuestion)

    If Result = vbYes Then
    Range("FH17").Value = "Locked"

    'creating template
    Set wk = ThisWorkbook
    Dim template As String

    template = Sheets("Data").Range("EW12").Value


    'add template
    wk.Sheets("Data").Range("A1:BC1000").Copy wk.Sheets(template).Range("A1")
    'add old info
    wk.Sheets("Data").Range("IE5:IK1000").Copy wk.Sheets(template).Range("A5")
    wk.Sheets("Data").Range("IL5:IM1000").Copy wk.Sheets(template).Range("J5")
    wk.Sheets("Data").Range("IN5:IW1000").Copy wk.Sheets(template).Range("O5")
    'change date
    wk.Sheets("Data").Range("EX12").Copy wk.Sheets(template).Range("E1")


    'copy format to template
    wk.Sheets("Data").Range("A:BC").Copy
    wk.Sheets(template).Range("A1").Parent.Activate
    wk.Sheets(template).Range("A1").PasteSpecial xlPasteColumnWidths
    wk.Sheets(template).Range("A1").PasteSpecial xlPasteFormats
    Application.CutCopyMode = False

    'unhide columns
    wk.Sheets(template).Range("A:BC").Select
    Selection.EntireColumn.Hidden = False

    'Hide columns
    wk.Sheets(template).Range("AC:AD").Select
    Selection.EntireColumn.Hidden = True
    wk.Sheets(template).Range("AM:AN").Select
    Selection.EntireColumn.Hidden = True
    wk.Sheets(template).Range("AR:AT").Select
    Selection.EntireColumn.Hidden = True

    wk.Sheets(template).Range("A1").Select
    Call rows_freeze

    'Protect the sheet
    ActiveSheet.Protect
    MsgBox "Done."
    Else
    Range("FH17").Value = "Locked"

    End If

End If


End Sub

这是我的代码,它工作得很好。除了调用"row_freeze“的部分。我试着不让它作为两个宏,但这也不起作用。我收到一条400错误消息。有谁有什么想法吗?唯一需要修复的部分是下面的代码,我正在尝试自动调整第三行,然后冻结单元格A4上的所有内容。(我尝试跳过"Rows("3:3").Select“,但没有任何效果)(如果我在新的空工作簿中执行此操作,代码将正常工作)

代码语言:javascript
复制
Sub rows_freeze()

Rows("3:3").Select
Rows("3:3").EntireRow.AutoFit
Range("A4").Select
ActiveWindow.FreezePanes = True

End Sub

编辑:我格式化列的宽度,我相信有时它“有时间”使列足够大,以适应文本。但有时并非如此,“换行文本”会导致行变得非常长(高度)。我删除了两行代码( rows和freeze),并且没有收到任何错误消息(这一次,行实际上不需要自适应,但有时需要)。

编辑2:

代码语言:javascript
复制
'copy sheet to new workbook
        sheettocopy = Range("EW10").Value
        Worksheets(sheettocopy).Copy


        Dim wb As Workbook

        'Store new workbook into a variable
          Set wb = ActiveWorkbook

        'Fix any macro assigned buttons
          Call FixMacroLinks(wb)



        'adding sheet and renaming
        Sheets.Add After:=ActiveSheet
        ActiveSheet.Name = Sheets("Data").Range("EW12").Value

        ActiveWorkbook.Sheets("Data").Activate
        MsgBox "Done."
        Else
        MsgBox "You do not have a december month"
        Range("FF17").Value = "Locked"

这是创建新工作簿时的代码。完成此操作后,我要做的第一件事是启动"Addinfo“sub

EN

回答 1

Stack Overflow用户

发布于 2020-04-29 00:01:17

我以前没有使用过您的工作表,但我发现在尝试自动调整列时遇到了相同的问题,即400错误。当我将用于自动调整列的代码放在用于保护单元格的代码之前时,我能够解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57818810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档