excel - VBA复制单元格值和格式

标签 excel vba

如何修改以下代码以便不仅复制值而且复制字体样式,例如大胆或不大胆。谢谢

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

最佳答案

您可以尝试使用复制/粘贴,而不是直接设置值,因此:

Worksheets(2).Cells(a, 15) = Worksheets(1).Cells(i, 3).Value

试试这个:

Worksheets(1).Cells(i, 3).Copy
Worksheets(2).Cells(a, 15).PasteSpecial Paste:=xlPasteFormats
Worksheets(2).Cells(a, 15).PasteSpecial Paste:=xlPasteValues

要将字体设置为粗体,您可以保留现有的作业并添加以下内容:

If Worksheets(1).Cells(i, 3).Font.Bold = True Then
  Worksheets(2).Cells(a, 15).Font.Bold = True
End If

关于excel - VBA复制单元格值和格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25461314/

相关文章:

excel - 分钟到小时

java - 我使用的是 POI 4.1.0 版本。使用shiftRows()时,Excel文件被损坏

excel - 使用 importrange 函数下载文件失败 - 认为这是一个错误

python - 遍历 Excel 文件并捕获每个文件中的特定单元格值

Excel:如果满足条件,则对列和行求和

arrays - 修改现有函数以处理不同维度/结构的数组

javascript - 使用 excel.js 模块 + Node 在列标题前添加行

vba - 如何根据工作表的代号设置工作表对象?

vba - 无法从 .vbs 文件执行宏

excel - 合并列 VBA 时不会粘贴前导零