代码之家  ›  专栏  ›  技术社区  ›  jkp

在不同的纸张中循环复制粘贴和特殊粘贴

  •  -1
  • jkp  · 技术社区  · 5 年前

    我是vba新手,我尽量不使用“Select”,但我不知道没有它如何编写代码。我有三张表(数据表、发电机表和图片表)。我需要循环浏览数据表,并将单元格/值复制到生成器表中的单元格。从这里,复制一个范围,并将special as picture粘贴到图片页(带有名称、宽度和操作)中,然后进行下一个循环。 我试着在这个链接中这样做( VBA Copy paste columns in different sheet )与命名的工作表。问题在于粘贴的特殊性——在这里,如果不选择图片页和单元格,我无法使其正常工作:-(

    For y = 1 To 1
    For x = 1 To lastrow
        If Cells(x, y).Value >= 0 Then
    
            IDnr = wsDAT.Cells(x, y).Value
            wsDAT.Cells(x, y).Copy
                række = wsDAT.Cells(x, y).Row + 3
                'Sheets("Listegenerator").Select
                ' Sætter IDnr
                'Range("A1").Value = IDnr
                wsGEN.Range("A1").Value = IDnr
    
                ' Justerer højden for problemtype
                wsGEN.Range("H10").Rows.AutoFit
                rowH = wsGEN.Range("H10").RowHeight
    
                If rowH > 30 Then
                    wsGEN.Range("A1:A2").RowHeight = rowH / 2
                    Else: wsGEN.Range("A1:A2").RowHeight = 15
                End If
    
                ' Kopierer område
                wsGEN.Range("A1:E2").Copy
                ' Indsætter som billede
                Sheets("Indholdsfortegnelse").Select
                Cells(række, y).Select
                ' Billedenavn = IDnr
                With ActiveSheet.Pictures.Paste
                    .Name = IDnr
                    .ShapeRange.Width = 425
                    .Application.CutCopyMode = False
                    ' Tildeler makro
                    .OnAction = "Rediger_side"
                End With
    
                ' Indsætter link
                wsPIC.Hyperlinks.Add Anchor:=Selection, Address:= _
                    "X:\Globale Dokumenter\Arbejdsmiljø\APV'er\" & IDnr & _
                    ".pdf", TextToDisplay:="Vis APV nr. " & IDnr
    
    
            'Sheets("Filtreret_data").Select
            'Cells(x + 1, y).Select
    
        End If
    Next x
    Next y
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   00253    5 年前

    是的 工作表。选择 范围选择 ,则将该选择称为 活动表 活性细胞 .

    您可以直接引用这些相同的对象 没有选择 使用 工作表(1) 工作表(“工作表名称”) 范围(“A5”) 细胞(1,5) .

    在使用范围对象(单元格)时,必须按以下方式说明单元格所在的工作表: 这本手册。工作表(1)。范围(“A5”) .

    代码到底在哪里不起作用?


    在评论后编辑:

     wsGEN.Range("A1:E2").CopyPicture
     With ActiveSheet.Pictures.Paste
                .Name = IDnr
                .ShapeRange.Width = 425
                .Application.CutCopyMode = False
                ' Tildeler makro
                .OnAction = "Rediger_side"
     End With
    

    我希望它能起作用。对不起,我没注意到你在粘贴图片。