J'ai créé un nouveau projet Userform dans un nouveau classeur et copié le code ci-dessous d'un autre projet, qui fonctionne parfaitement avec ce code. J'ai copié le code dans ce nouveau projet de classeur, mais je continue d'obtenir l'erreur d'exécution, même après avoir modifié le nom de la zone de texte.Excel VBA 2016 32bit - Userform - Erreur d'exécution 9 - Message d'erreur "Script out of range"
Le but du code est de générer automatiquement un travail Numéro de commande dans la zone de texte txt_Work_Order_No préfixé par « SWC », puis par année, le mois et le format numérique. La sortie finale devrait ressembler à ceci SWC201706-00001 (incrémentant chaque fois que le formulaire est ouvert).
Private Sub UserForm_Initialize()
'** WORK ORDER NUMBER IN TEXTBOX
Me.txt_Work_Order_No.Enabled = True
Dim irow As Long
Dim ws As cnServiceLog
Set ws = cnServiceLog
'find last data row from database'
irow = ws.Cells(Rows.Count, 1).End(xlUp).Row
Me.txt_Work_Order_No = "SWC" & Year(Date) & Format(Month(Date), "00") & "-" & Format(Split(ws.Cells(irow, 1).Value, "-")(1) + 1, "00000")
je suis entré dans le code, et est tombé en panne à la ligne de code qui me donne la douleur et je commentais le reste dehors et tout allait bien, mais il est évident qu'il ne ne veux que je le voudrais faire.
La zone qui provoque l'erreur d'exécution est juste après le double zéro (mois (date, "00")
Me.txt_Work_Order_No = "SWC" & Année (Date) & Format (Mois (date), "00") & "-" & format (split (ws.Cells (IRow, 1) .Value, "-") (1) + 1, "00000")
J'espère que quelqu'un serait être capable de m'aider ... J'ai cherché sur Internet pendant des jours et je n'ai toujours pas été capable de résoudre tout problème qu'il semble avoir.Avec gratitude, TheShyButterfly
Juste une vérification rapide - si vous le faites comme ça, cela fonctionnerait-il? 'Me.txt_Work_Order_No =" SWC "& Année (Date) & Format (Mois (Date)," 00 ") &" - "& Format (Split (ws.Cells (irow, 1) .Value," - ") (0) + 1, "00000") ' – Vityata
Nous vous remercions de votre réponse rapide. Ce que vous avez suggéré est exactement ce que j'ai, mais ça ne marche pas. Le code est sur sa propre ligne complète (pas enveloppé comme il semble être ici) Je ne peux pas comprendre pourquoi cela me cause du chagrin. Cela fonctionne parfaitement dans l'autre projet. Au début, je pensais que c'était parce que j'étais sur Excel 2016 64 bits (ce qui m'a donné du chagrin parce que le projet a été initialement développé sur 32bit 2013), donc j'ai désinstallé 64bit et installé Excel 32bit .. mais le problème reste – TheShyButterfly
Ce n'est pas ce que vous J'ai changé '(1)' '(0)' dans votre code. Utilisez ceci pour voir les différences http://www.textdiff.com/ – Vityata