我想要单元格的复制内容并围绕它们制作边框。这是一个简单的例子:
我尝试编写宏,复制顶部值,制作较低的单元格并制作边框:
For i = 0 To M_NAME.find(What:="*", After:=M_NAME, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
M_NAME.Offset(1, i) = M_NAME.Offset(0, i)
M_NAME.Offset(1, i).HorizontalAlignment = xlCenter
M_NAME.Offset(1, i).Font.Color = rgbWhite
With M_NAME.Offset(1, i).Borders
.LineStyle = xlContinuous
.Color = rgbWhite
.Weight = 3
End With
Next i
M_NAME是第一个顶级单元格。
答案 0 :(得分:1)
您的源单元似乎已经有边框,因此无需再次创建它们。 您还需要考虑使用合并单元格所涉及的问题。 Find方法只会找到合并区域的左上角单元格,因此会导致代码出现问题。
无需逐个单元格复制。
如果要复制第一行,边框,合并单元格以及所有内容,可以使用以下内容:
Option Explicit
Sub CopyRow()
Dim rToCopy As Range, rDest As Range
Dim M_NAME As Range
Set M_NAME = Range("M_NAME")
Set rToCopy = Range(M_NAME, Cells.Rows(M_NAME.Row).Find(what:="*", after:=M_NAME, _
LookIn:=xlValues, searchdirection:=xlPrevious).MergeArea)
Set rDest = rToCopy.Offset(rowoffset:=1)
rToCopy.Copy rDest
End Sub