如何修改以下代码,以便不仅复制值,还复制字体样式,例如粗体或非粗体.谢谢
Private Sub CommandButton1_Click()
Dim i As Integer
Dim a As Integer
a = 15
For i = 11 To 32
If Worksheets(1).Cells(i, 3) <> "" Then
Worksheets(2).Cells(a, 15) = Worksheets(1).Cells(i, 3).Value
Worksheets(2).Cells(a, 17) = Worksheets(1).Cells(i, 5).Value
Worksheets(2).Cells(a, 18) = Worksheets(1).Cells(i, 6).Value
Worksheets(2).Cells(a, 19) = Worksheets(1).Cells(i, 7).Value
Worksheets(2).Cells(a, 20) = Worksheets(1).Cells(i, 8).Value
Worksheets(2).Cells(a, 21) = Worksheets(1).Cells(i, 9).Value
a = a + 1
End If
Next i
Run Code Online (Sandbox Code Playgroud)
jpw*_*jpw 27
您可以尝试使用复制/粘贴,而不是直接设置值,而不是:
Worksheets(2).Cells(a, 15) = Worksheets(1).Cells(i, 3).Value
Run Code Online (Sandbox Code Playgroud)
试试这个:
Worksheets(1).Cells(i, 3).Copy
Worksheets(2).Cells(a, 15).PasteSpecial Paste:=xlPasteFormats
Worksheets(2).Cells(a, 15).PasteSpecial Paste:=xlPasteValues
Run Code Online (Sandbox Code Playgroud)
要将字体设置为粗体,您可以保留现有的分配并添加以下内容:
If Worksheets(1).Cells(i, 3).Font.Bold = True Then
Worksheets(2).Cells(a, 15).Font.Bold = True
End If
Run Code Online (Sandbox Code Playgroud)
Microsoft Excel VBA 文档中的此页面帮助了我:https://learn.microsoft.com/en-us/office/vba/api/excel.xlpastetype
它提供了一系列选项来自定义粘贴方式。例如,您可以xlPasteAll(可能是您正在寻找的),或xlPasteAllUsingSourceTheme,甚至xlPasteAllExceptBorders。
| 归档时间: |
|
| 查看次数: |
121696 次 |
| 最近记录: |