这是我的问题。 我有一张名为A的表1,我有一些数据。 我有一张名为Macro的表2,我有一个按钮。 我想用这个按钮在表1(A)上使用我的代码。 但我不能使用模块,我必须使用sheet1到我的代码... Here what I must use
但是当我在归因于我的代码后点击按钮时,它不起作用,它告诉我: Error message
它说: "工作表范围或表中的数据必须在同一工作表上#34;
应用程序或objectSo定义的错误,我的问题是:如何在sheet2上的sheet1上使用按钮和代码?
如果可以帮助您,我的代码的开头就是:
Sub LinkToImage()
Sheets("A").ListObjects.Add(xlSrcRange, Range("$B$1:$K$300"), , xlYes).Name = _
"Tableau1"
Range("Tableau1[#All]").Select
Sheets("A").ListObjects("Tableau1").TableStyle = "TableStyleLight9"
'Créé le tableau avec un style prédéfini.
For Each cel In Range("k2", Range("k200").End(xlUp))
cel.Offset(0, 1).Select
cel.Offset(0, 1).RowHeight = 100 'Fixe la hauteur des cellules à 100
cel.Offset(0, 1).ColumnWidth = 70 'Fixe la taille de la colonne à 40
If IsFile(cel.Value) = 0 Then
cel.Offset(0, 1).Value = "Photo non dispo" 'Si la photo n'est pas disponible, on affiche "Photo non dispo"
Else
Set image = Sheets("A").Pictures.Insert(cel.Value)
With image
.ShapeRange.LockAspectRatio = msoTrue
.Width = cel.Offset(0, 1).Width
.Height = cel.Offset(0, 1).Height
.Left = cel.Offset(0, 1).Left + 5 'Laisse une marge à gauche de 5px
.Top = cel.Offset(0, 1).Top + 5 'Laisse une marge en haut de 5px
.Height = 90 'Fixe la hauteur de l'image à 90
'.Height = 0.9 * cel.Offset(0, 1).Height
'.Width = 0.5 * cel.Offset(0, 1).Width
'.Right = cel.Offset(0, 1).Right +5
错误在第一行,我认为是因为Sheets("A")
,但我不知道如何解决此问题...
提前感谢,对不起我的英语......
答案 0 :(得分:0)
添加一个检查" Tableau1"存在如下
Sub LinkToImage()
Dim table As ListObject
On Error Resume Next
Set table = Sheets("A").ListObjects("Tableau1")
On Error Resume Next
If table Is Nothing Then Set table = Sheets("A").ListObjects.Add(xlSrcRange, Range("$B$1:$K$300"), , xlYes).Name = "Tableau1"
Range("Tableau1[#All]").Select
...