我正在尝试制作一个应用程序,当我点击按钮'添加供应商时,您可以将新供应商(Fournisseurs in French)添加到工作表(" Fournisseurs") #39;'在工作表中(" Accueil")
我想在不打开工作表的情况下添加新供应商(" Fournisseurs")。选择并留在工作表中(" Accueil")
有什么想法吗?
Sub NouveauFournisseur() 'OK
Dim i As Integer
Worksheets("Fournisseurs").Select 'sélection de la feuille
creation_fournisseur.Show 'affichage de l'userform
If OK Then
i = 0 'boucle pr trouver la ligne vide où copier les données dans le formulaire
Do
i = i + 1
Loop Until Cells(i, 1) = "" 'jusqu'à ce qu'une ligne soit vide
Cells(i, 1) = creation_fournisseur.zt_nom
Cells(i, 2) = creation_fournisseur.zt_adresse
Cells(i, 3) = Val(creation_fournisseur.zt_tel)
Cells(i, 4) = Val(creation_fournisseur.zt_fax)
End If
Unload creation_fournisseur 'fermer l'userform
Worksheets("Accueil").Select 'retour page d'acceuil après avoir rentré le fournisseur
End Sub
答案 0 :(得分:0)
像这样的东西
{{1}}
答案 1 :(得分:0)
您还可以添加: Sub NouveauFournisseur()'确定
Dim i As Integer, shtF As WorkSheet
Set shtF = ThisWorkbook.Worksheets("Fournisseurs")
Worksheets("Accueil").activate
Worksheets("Accueil").Select
call moduleX.creation_fournisseur.Show
call formY.creation_fournisseur.Show
'creation_fournisseur.Show 'affichage de l'userform
If OK Then
i = 0 'boucle pr trouver la ligne vide où copier les données dans le formulaire
Do
i = i + 1
Loop Until shtF.Cells(i, 1) = "" 'jusqu'à ce qu'une ligne soit vide
shtF.Cells(i, 1) = creation_fournisseur.zt_nom
shtF.Cells(i, 2) = creation_fournisseur.zt_adresse
shtF.Cells(i, 3) = Val(creation_fournisseur.zt_tel)
shtF.Cells(i, 4) = Val(creation_fournisseur.zt_fax)
End If
Worksheets("Accueil").activate
Worksheets("Accueil").Select
Unload creation_fournisseur 'fermer l'userform
Worksheets("Accueil").activate
Worksheets("Accueil").Select
End Sub
其中ModuleX或FormY分别包含creation_fournisseur的子。
因此,您只需直接调用表单而无需打开其他工作表,就像他们在此处建议的那样:Call a Subroutine from a different Module in VBA
(所有激活和选择都有点过分,但你明白了)