首页 > 解决方案 > 如何复制vba单元格

问题描述

我需要在同一张纸上的同一张纸上复制单元格 E12,而不采用源单元格的格式,用与源不同的字体大小和颜色格式化目标,但我不明白如何给出命令。

Range("E12").Copy Range("P" & (Rows.Count)).End(xlUp).Offset(1, 0).Interior.Color = vbRed

标签: excelvba

解决方案


为了在不采用格式的情况下复制单元格,您也可以只写下所需单元格的值。然后 Excel 将只在一个单元格中获取“值”并将其写入另一个单元格,而不包括格式。

像这样的东西:

Sub Test1()
Dim Ws As Worksheet

Set Ws = ActiveSheet

Ws.Cells(7, 2).Value = Ws.Cells(6, 2).Value
End Sub

这里我指的是单元格本身而不是范围,但也可以使用范围来完成。

Sub Test1()
Dim Ws As Worksheet

Set Ws = ActiveSheet

Ws.Range("B7").Value = Ws.Range("B6").Value
End Sub

在此处输入图像描述

仅用值填充单元格后,您可以使用 With 语句更改您喜欢的格式。

Sub Test1()
Dim Ws As Worksheet

Set Ws = ActiveSheet

Ws.Range("B7").Value = Ws.Range("B6").Value

With Ws.Range("B7")
    .Font.Name = "Arial"    'Name of the font you want to use
    .Font.Color = vbYellow  'Color of the font you want to use
    .Font.Size = 22         'Size of your font
    .Interior.Color = vbRed 'Color of the cell
    .Font.Bold = True       'Making the text bold True/False
End With

End Sub

推荐阅读