如何解决如何使用用户表单创建超链接? VBA
我在许多帮助下创建了一个代码,该代码与用户一起创建了一个包含客户名称和许多其他信息的新工作表。在恢复所有名称客户端的第一页中,我制作了一个发送到客户端队列名称的超链接(C 列)。但是用户表单会出现错误 424。
Private Sub btnajoutclient_Click()
Dim numFeuilClient As String
Dim prenomFeuilClient As String
Dim telFeuilClient As String
Dim mailFeuilClient As String
Dim AdresseFeuilClient As String
Dim cpFeuilClient As String
Dim villeFeuilClient As String
'RENDRE LES FEUILLES VISIBLES'
Worksheets(2).Visible = True
Worksheets(3).Visible = True
'CREER 2 BOITES POUR AVOIR LES INFOS : NOM ET TEL'
numFeuilClient = frmnouveauclient.TextBoxcasenom
prenomFeuilClient = frmnouveauclient.TextBoxprénom
telFeuilClient = frmnouveauclient.TextBoxcasenumérotel
mailFeuilClient = frmnouveauclient.TextBoxcasemail
AdresseFeuilClient = frmnouveauclient.TextBoxcaseadresse
cpFeuilClient = frmnouveauclient.TextBoxcasecodepostal
villeFeuilClient = frmnouveauclient.TextBoxcaseville
'freezer lécran
Application.ScreenUpdating = False
'SI PAS DE NOM SAISIE ALORS EXIT'
If numFeuilClient = "" Then
Worksheets(2).Visible = False
Worksheets(3).Visible = False
Exit Sub
End If
'ON SUPPRIME LA ZONE SELECTIONNER LA FEUILLE TYPE'
Sheets("FeuilClient").Range("_zonesuprfinal").ClearContents
Sheets("FeuilClient").copy after:=Sheets(Sheets.Count)
'RENOMMER LA FEUILLE
ActiveSheet.Name = numFeuilClient
'ON MET LE NOM ET LE TEL DANS LES CASES SELECTIONEE DE LA FEUILLE CLIENT'
ActiveSheet.Range("_nomclient").Value = numFeuilClient
ActiveSheet.Range("_telclient").Value = telFeuilClient
ActiveSheet.Range("_prenomclient").Value = prenomFeuilClient
ActiveSheet.Range("_mailclient").Value = mailFeuilClient
ActiveSheet.Range("_adresse").Value = AdresseFeuilClient
ActiveSheet.Range("_codepostal").Value = cpFeuilClient
ActiveSheet.Range("_ville").Value = villeFeuilClient
'Aller sur la feuille fichier client
Sheets(1).Activate
'On trouve une case vide et y met le nom sur le fichier client
Feuil3.Range("A1048000").Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1,0).Select
ActiveCell.Value = numFeuilClient
'On trouve une case vide et y met le nom sur le tel du client
Sheets("FichierClient").Range("B1048000").Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1,0).Select
ActiveCell.Value = telFeuilClient
'Mettre un hyperlien sur le fichierclient
Sheets("FichierClient").Range("C1048000").Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1,0).Select
Hyperlinks.Add Anchor:=ActiveCell,Address:="",_
SubAddress:="'" & numFeuilClient & "'!A1",TextTodisplay:="Voir Client"
'ON REND INSIVIBLE LES FEUILLES'
Worksheets(2).Visible = False
Worksheets(3).Visible = False
'défreezer l'écran
Application.ScreenUpdating = True
End Sub
解决方法
Hyperlinks
需要符合 Worksheet
简单的解决方法是将其更改为
ActiveSheet.HyperLinks.Add ...
也就是说,有很多机会可以改进此代码。考虑这个
Private Sub btnajoutclient_Click()
Dim numFeuilClient As String
Dim prenomFeuilClient As String
Dim telFeuilClient As String
Dim mailFeuilClient As String
Dim AdresseFeuilClient As String
Dim cpFeuilClient As String
Dim villeFeuilClient As String
Dim wsFeuilClient As Worksheet
With ThisWorkbook ' or ActiveWorkbook or specify a workbook
'RENDRE LES FEUILLES VISIBLES'
.Worksheets(2).Visible = True
.Worksheets(3).Visible = True
'CREER 2 BOITES POUR AVOIR LES INFOS : NOM ET TEL'
With frmnouveauclient
numFeuilClient = .TextBoxcasenom
'SI PAS DE NOM SAISIE ALORS EXIT'
If numFeuilClient = vbNullString Then
GoTo CleanUp
End If
prenomFeuilClient = .TextBoxprénom
telFeuilClient = .TextBoxcasenumérotel
mailFeuilClient = .TextBoxcasemail
AdresseFeuilClient = .TextBoxcaseadresse
cpFeuilClient = .TextBoxcasecodepostal
villeFeuilClient = .TextBoxcaseville
End With
'freezer lécran
Application.ScreenUpdating = False
'ON SUPPRIME LA ZONE SELECTIONNER LA FEUILLE TYPE'
.Worksheets("FeuilClient").Range("_zonesuprfinal").ClearContents
Set wsFeuilClient = .Worksheets("FeuilClient").Copy(after:=.Sheets(.Sheets.Count))
'RENOMMER LA FEUILLE
With wsFeuilClient
.Name = numFeuilClient
'ON MET LE NOM ET LE TEL DANS LES CASES SELECTIONEE DE LA FEUILLE CLIENT'
.Range("_nomclient").Value = numFeuilClient
.Range("_telclient").Value = telFeuilClient
.Range("_prenomclient").Value = prenomFeuilClient
.Range("_mailclient").Value = mailFeuilClient
.Range("_adresse").Value = AdresseFeuilClient
.Range("_codepostal").Value = cpFeuilClient
.Range("_ville").Value = villeFeuilClient
End With
'Aller sur la feuille fichier client
With .Sheets(1)
'On trouve une case vide et y met le nom sur le fichier client
.Cells(.Rows.Count,1).End(xlUp).Offset(1,0).Value = numFeuilClient
End With
With .Worksheets("FichierClient")
'On trouve une case vide et y met le nom sur le tel du client
.Cells(.Rows.Count,2).End(xlUp).Offset(1,0).Value = numFeuilClient
'Mettre un hyperlien sur le fichierclient
With .Cells(.Rows.Count,3).End(xlUp).Offset(1,0)
.Value = numFeuilClient
.Worksheet.Hyperlinks.Add Anchor:=.Cells,Address:=vbNullString,_
SubAddress:="'" & numFeuilClient & "'!A1",TextToDisplay:="Voir Client"
End With
End With
CleanUp:
'ON REND INSIVIBLE LES FEUILLES'
.Worksheets(2).Visible = False
.Worksheets(3).Visible = False
End With
'défreezer l'écran
Application.ScreenUpdating = True
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。