excel 如何自动填充指定区域旁边的单元格

enxuqcxy  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(321)

我下面的代码做了一些事情,要求一个新工作表的名称,创建它,并将名称输入到下一个空白的C单元格。
旁边的单元格D、E、F和G具有相关数据,这些数据是在创建EG时从新工作表中调用的。项目经理、开始日期等
我认为最好是在创建新项目时这样做,而不是将这些都填充进去,并在每个地方都有一个丑陋的“#Ref!”表。
基本上,根据下面使用的“EMRange”,例如下一个空的是C6,我想D 6,E6,F6和G6自动填充上面单元格的公式。
我想我需要使用selection.autofill,但是我不确定如何将目标设置为这些特定的单元格,这取决于前面脚本部分中的EMRange。

Public Sub CopySheetAndRenameByCell()
    Dim newName As String, Emrange As Range, wsNew As Worksheet, wb As Workbook
    Dim wsIndex As Worksheet
    
    newName = InputBox("Enter the name of the new project", _
                       "Copy worksheet", ActiveCell.Value)
    
    If newName <> "" Then
        Set wb = ThisWorkbook
        wb.Worksheets("Project Sheet BLANK").Copy _
                      After:=wb.Worksheets(wb.Worksheets.Count)
        Set wsNew = wb.Worksheets(wb.Worksheets.Count)
        On Error Resume Next 'ignore error on rename
        wsNew.Name = newName
        On Error GoTo 0     'stop ignoring errors
        
        Set wsIndex = wb.Worksheets("Client Projects Overview")
        Set Emrange = wsIndex.Range("C" & Rows.Count).End(xlUp).Offset(1)
        wsIndex.Hyperlinks.Add Anchor:=Emrange, _
                           Address:="", SubAddress:="'" & wsNew.Name & "'!A1", _
                           TextToDisplay:=wsNew.Name
        'reset font style
        Emrange.Font.Underline = xlUnderlineStyleNone
        Emrange.Font.ColorIndex = xlAutomatic
        Emrange.Font.Name = "Century Gothic"
        Emrange.Font.Size = "10"
        

        If wsNew.Name <> newName Then 'in case sheet could not be renamed....
            MsgBox "Name provided '" & newName & _
                    "' is not valid as a worksheet name!", vbExclamation
        End If
    End If
End Sub
rkkpypqq

rkkpypqq1#

只是在我的公式中添加了一个if语句,并自动填充到所有单元格中,而不是在vba中逐个进行填充。
最后变成这样:

=IF(C5<>"",INDIRECT("'"&C5&"'"&"!"&"D3"),"")

相关问题