复制& 在纸张之间粘贴

我努力做到以下几点:

  • 我在一个工作表中有一个主表
  • 而在另一个工作表中也有相同的表格
  • 如果主表中的一个单元格为空,代码应检查其他工作表中的相应单元格。
  • 如果对应的单元格中包含一个值,则应将此值复制到主表的空单元格中。
    • 对主表中的所有单元格都应重复上述操作。

到目前为止,我只找到了一个有用的代码,可以根据我的目的进行调整。遗憾的是,下面的代码现在将所有的值从其他工作表复制到主表中,而没有检查主表是否已经在相应的单元格中包含了值,所以它覆盖了主表中所有的值,这是我不希望看到的。因此,它覆盖了主表中的所有给定值,这是我不希望看到的。这段代码有一些德语的信息框。请忽略这些,因为它们不相关。非常感谢!。

Sub VorDatenKopieren()

    asi = ActiveSheet.Index
    nasi = Sheets(asi).Name

    If asi = 1 Then
        MsgBox "Zu " & nasi & " gibt es keine vorherige Tabelle!", _
               48, Environ("UserName")
        Exit Sub
    End If

    asiv = ActiveSheet.Index - 1
    nasiv = Sheets(asiv).Name
    mgb = MsgBox("Daten werden kopiert von " & nasiv & " nach " & nasi & Chr(13) & _
                 "Ist das OK?", 36, Environ("UserName"))
    If mgb = 7 Then Exit Sub                     ' 7 = nein
    Sheets(asiv).Select
    Range("c3:g17").Copy
    Sheets(asi).Select
    Range("c3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                             :=False, Transpose:=False
End Sub

解决方案:

达伦,有一个选项,粘贴值没有空白,使用 SkipBlanks = True:

Range("c3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                             :=True, Transpose:=False

因此,也许您应该将主表中的表格复制到另一个没有空白的工作表中,然后将整个表格从另一个表中复制到主表?这应该能解决你的问题。

Sheets(asi).Select
Range("c3:g17").Copy
Sheets(asiv).Select
Range("c3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                             :=True, Transpose:=False

给TA打赏
共{{data.count}}人
人已打赏
未分类

\B), this captures till end of word

2022-9-8 23:39:42

未分类

树形ort dart - 根据父子关系对列表进行重新排序。

2022-9-8 23:50:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索