Excel 如何";“转让”;是否将行格式设置为新添加的行?
我正在做一个“价格估算”Excel VBA项目 页面的基本布局为:Excel 如何";“转让”;是否将行格式设置为新添加的行?,excel,vba,Excel,Vba,我正在做一个“价格估算”Excel VBA项目 页面的基本布局为: (顶部)账单信息、日期、公司信息,。。。[第1-13行]-固定 (中)-->BOM表在excel的CELLS()函数中有一个OK。单元格可以有值、公式和格式。这可以复制。欢迎使用SO!一个好问题。。。向上投票!关于你的问题。可以复制上一个单元格中的公式。如果你上传一个样本,我会转发给你。一个好的起点是使用宏记录器,将第14行上的公式复制并粘贴到其余行。停止录音,你就会得到代码。关于第二个问题,你得到了一个额外的行,因为你正在“
- (顶部)账单信息、日期、公司信息,。。。[第1-13行]-固定
- (中)-->BOM表在excel的CELLS()函数中有一个OK。单元格可以有值、公式和格式。这可以复制。欢迎使用SO!一个好问题。。。向上投票!关于你的问题。可以复制上一个单元格中的公式。如果你上传一个样本,我会转发给你。一个好的起点是使用宏记录器,将第14行上的公式复制并粘贴到其余行。停止录音,你就会得到代码。关于第二个问题,你得到了一个额外的行,因为你正在“推”第15行,所以你应该减少一行,以免得到额外的行。
Private Sub cmdAddBOM_Click() Dim wkbCrntWorkBook As Workbook Dim wkbSourceBook As Workbook Dim rngSourceRange As Range Dim rngDestination As Range Dim iAreaCount As Integer 'row count variable Set wkbCrntWorkBook = ActiveWorkbook With Application.FileDialog(msoFileDialogOpen) .Filters.Clear .Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa" .AllowMultiSelect = False .Show If .SelectedItems.Count > 0 Then Workbooks.Open .SelectedItems(1) Set wkbSourceBook = ActiveWorkbook Set rngSourceRange = Application.InputBox(prompt:="Select source range", Title:="Source Range", Default:="A1", Type:=8) wkbCrntWorkBook.Activate rngSourceRange.ClearFormats iAreaCount = rngSourceRange.Rows.Count ' MsgBox "The selection contains " & iAreaCount & " rows." Range("A14").EntireRow.Offset(0).Resize(iAreaCount).Insert Shift:=xlDown Set rngDestination = Application.InputBox(prompt:="Select destination cell", Title:="Select Destination", Default:="A14", Type:=8) rngSourceRange.Copy rngDestination wkbSourceBook.Close True End If End With End Sub
Range("A14").EntireRow.Offset(0).Resize(iAreaCount).Insert Shift:=xlDown
Range("A14").EntireRow.Offset(1).Resize(iAreaCount).Insert Shift:=xlDown