我是vba的新手,我试图不使用'Select',但我不知道如何在没有它的情况下执行代码。我有三张纸(数据纸,发生器纸和图片纸)。我需要遍历数据表并将一个单元格/值复制到生成器表中的一个单元格。从这里复制一个范围,然后将特殊的图片作为图片粘贴到图片表中(带有名称,宽度和OnAction)-然后进行下一个循环。 我尝试使用命名工作表在此链接(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 :(得分:0)
您执行 Worksheets.Select 和 Range.Select ,然后将所选内容称为 ActiveSheet 和 ActiveCell 。
您可以使用 worksheets(1)或 worksheets(“ sheet name”)和直接直接选择这些相同的对象 > range(“ A5”)或 cells(1,5)。
使用范围对象(单元格)时,至关重要的是要声明单元格位于哪个工作表中: ThisWorkbook.Worksheets(1).Range(“ 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
我希望它能起作用。对不起,我没有注意到您要粘贴图片。