簡體   English   中英

宏將合並的單元格復制到另一個合並的單元格,同時保持格式

[英]Macro to copy merged cell to another merged cell whilst keeping the formatting

在下面的協助下,我目前正在使用

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim src as Range, dest as Range
Dim mergeAddress as String
Set src = Range("C9")
Set dest = Worksheets("FRONT").Range("G7")
mergeAddress = dest.MergeArea.Address
If Not Intersect(Target,src) Is Nothing Then
dest.MergeArea.Cells(1).Value = src.Value
src.Copy
dest.PasteSpecial xlPasteFormats
dest.Parent.Range(mergeAddress).Merge
End If
End Sub

我仍然會丟失此代碼的格式,例如粗體,顏色等。

任何幫助,將不勝感激。 謝謝。

這有點棘手,也許會有所幫助。 合並的細胞是一個痛苦的工作。 在這種情況下,我認為您可以通過以下方法解決問題:

  1. 獲取合並區域的地址
  2. 復制/粘貼格式(這將取消合並單元格)
  3. 根據以上(1)中獲得的地址重新合並單元格

從一個單元格復制到合並區域

這是我測試的示例,其中[A1]的MergeArea由[A1:C3]組成。 本示例假定您要將一個單元格復制到合並的單元格中(例如,“ H1”被復制到“ A1:C3”中)

Sub foo()
Dim src As Range, dest As Range
Dim mergeAddress As String

Set src = [H3]
Set dest = [A1]

'First, put the value in the merged cells:
dest.MergeArea.Cells(1).Value = src.Value = src.Value

'Then, the formatting:
'1. Get the mergeArea.Address
mergeAddress = dest.MergeArea.Address
'2. Copy & paste formatting (this unmerges the cells)
src.Copy
dest.PasteSpecial (xlPasteFormats)
'3. Re-merge the cells:
Range(mergeAddress).Merge

End Sub

更新代碼:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim src as Range, dest as Range
Dim mergeAddress as String
Set src = Range("C9")
Set dest = Worksheets("FRONT").Range("G7")
mergeAddress = dest.MergeArea.Address
If Not Intersect(Target,src) Is Nothing Then
    dest.MergeArea.Cells(1).Value = src.Value
    src.Copy
    dest.PasteSpecial xlPasteFormats
    dest.Parent.Range(mergeAddress).Merge
End If
End Sub

從合並區域復制(完整副本)

合並的單元格復制要容易一些,您可以執行以下操作,以復制整個合並的區域,然后粘貼到目標位置:

src.MergeArea.Copy dest

我找到了解決方案:

第一:編寫代碼以在合並的單元格中選擇一個單元格(它應選擇整個合並的單元格)

第二:編寫代碼以復制選定的單元格。

示例:我有連續一周中的每一天的電子表格,但一周中的每一天都與“ A”和“ B”列合並。 下面的代碼將選擇並復制所有數據,包括其余合並的單元格。

Range(Cells.Find("Monday").Address, Cells.Find("Sunday").Address).Select
Selection.copy

要粘貼數據,請遵循以下步驟:

Range("A30").PasteSpecial xlPasteAll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM