Excel vba粘贴sheet1值并保留原始源颜色,但不保留字体和其他格式。。。?

Excel vba粘贴sheet1值并保留原始源颜色,但不保留字体和其他格式。。。?,excel,vba,Excel,Vba,我有多达6个单元格,潜在数据来自6个不同的地方。我正在尝试仅获取前三个单元格,其中的数据传输到另一张具有原始SHEET1颜色但不具有格式的图纸 Sub Transfer_Data() Dim i As Long, j As Long j = 1 For i = 1 To 6 If Sheets("Sheet1").Cells(i, 1).Value <> "" Then Sheets("Sheet2").Cells(j, 1).Value = She

我有多达6个单元格,潜在数据来自6个不同的地方。我正在尝试仅获取前三个单元格,其中的数据传输到另一张具有原始SHEET1颜色但不具有格式的图纸

 Sub Transfer_Data()


Dim i As Long, j As Long

j = 1

For i = 1 To 6
    If Sheets("Sheet1").Cells(i, 1).Value <> "" Then
        Sheets("Sheet2").Cells(j, 1).Value = Sheets("Sheet1").Cells(i, 1).Value
        j = j + 1
    End If

If j > 3 Then Exit For
Next i

End Sub
子传输_数据()
我和我一样长,我和我一样长
j=1
对于i=1到6
如果表(“表1”)。单元格(i,1)。值为“”,则
板材(“板材2”).单元(j,1).值=板材(“板材1”).单元(i,1).值
j=j+1
如果结束
如果j>3,则退出以进行测试
接下来我
端接头
当我试图保存sheet1时,它会显示sheet2的格式和颜色。 我也试过了,但它保留了sheet1格式

Sub Transfer_Data()

Dim i As Long, j As Long

j = 1

For i = 1 To 6
    If Sheets("Sheet1").Cells(i, 1).Value <> "" Then
        Sheets("Sheet1").Cells(i, 1).Copy
        Sheets("Sheet2").Cells(j, 1).PasteSpecial xlPasteFormats
        Sheets("Sheet2").Cells(j, 1).PasteSpecial xlPasteValues
        j = j + 1
    End If

If j > 3 Then Exit For
Next i
Application.CutCopyMode = False
End Sub
子传输_数据()
我和我一样长,我和我一样长
j=1
对于i=1到6
如果表(“表1”)。单元格(i,1)。值为“”,则
表格(“表格1”)。单元格(i,1)。副本
纸张(“纸张2”)。单元格(j,1)。粘贴特殊XLPaste格式
表(“表2”)。单元格(j,1)。粘贴特殊值
j=j+1
如果结束
如果j>3,则退出以进行测试
接下来我
Application.CutCopyMode=False
端接头

您还可以让VBA将格式应用于单元格:

Sub Transfer_Data()


Dim i As Long, j As Long

j = 1

For i = 1 To 6
    If Sheets("Sheet1").Cells(i, 1).Value <> "" Then
        Sheets("Sheet2").Cells(j, 1).Value = Sheets("Sheet1").Cells(i, 1).Value
        Sheets("Sheet2").Cells(j, 1).Font.Color = Sheets("Sheet1").Cells(i, 1).Font.Color
        j = j + 1
    End If

If j > 3 Then Exit For
Next i

End Sub
子传输_数据()
我和我一样长,我和我一样长
j=1
对于i=1到6
如果表(“表1”)。单元格(i,1)。值为“”,则
板材(“板材2”).单元(j,1).值=板材(“板材1”).单元(i,1).值
纸张(“Sheet2”)。单元格(j,1)。Font.Color=纸张(“Sheet1”)。单元格(i,1)。Font.Color
j=j+1
如果结束
如果j>3,则退出以进行测试
接下来我
端接头

请注意,只有当给定单元格中的所有文本都具有相同的颜色时,此选项才会起作用。单元格(j,1)。Interior.Color=Sheets(“Sheet1”)。单元格(i,1)。Interior.Color?不起作用仍然显示为黑色。我误解了,我以为您希望保留单元格的颜色,而不是字体文本的颜色。请尝试:
Sheets(“Sheet2”).Cells(j,1).Font.Color=Sheets(“Sheet1”).Cells(i,1).Font.Color
(注意,只有当所有文本都具有相同的颜色时,此操作才有效)谢谢,如果所有文本都不是相同的颜色,则可能更容易获得Sheet2中的单元格格式,请将单元格从Sheet1复制到其中,然后将原始格式重新应用于它。