Die aktuelle Funktion, die ich zum Sammeln von Text InputBox verwende, kann anscheinend nicht mehr als 255 Zeichen akzeptieren, und ich muss in der Lage sein, mehr als das zu sammeln? Gibt es einen Parameter oder eine andere Funktion, die ich verwenden kann, um dieses Limit zu erhöhen?VBA InputBox-Zeichenlimit überwinden
Antwort
Um pedantisch zu sein, können Sie in der Inputbox bis zu 255 Zeichen eingeben, es werden jedoch nur 254 Zeichen zurückgegeben.
Darüber hinaus ja, Sie müssen ein einfaches Formular mit einem Textfeld erstellen. Dann machen Sie einfach ein wenig „Hilfsfunktion“ so etwas wie:
Function getBigInput(prompt As String) As String
frmBigInputBox.Caption = prompt
frmBigInputBox.Show
getBigInput = frmBigInputBox.txtStuff.Text
End Function
oder so ähnlich ...
sollte dies nicht in einer Bezeichnung wie diese 'frmBigInputBox.myLabel.caption = prompt sein sonst ist alles in der oberen Leiste des Formulars/Fensters. – mountainclimber
Dank BradC für die Info, dass. Mein endgültiger Code war ungefähr wie folgt, ich habe einen Knopf, der das Formular anruft, das ich erstellt habe, und positioniere es ein bisschen, da ich einige Probleme mit dem Formular hatte, das an der falschen Stelle war, jedes Mal nach dem ersten Mal.
Sub InsertNotesAttempt()
NoteEntryForm.Show
With NoteEntryForm
.Top = 125
.Left = 125
End With
End Sub
Das Benutzerformular war eine TextBox und zwei CommandButtons (Abbrechen und Ok). Der Code für die Schaltflächen wie folgt:
Private Sub CancelButton_Click()
Unload NoteEntryForm
End Sub
Private Sub OkButton_Click()
Dim UserNotes As String
UserNotes = NotesInput.Text
Application.ScreenUpdating = False
If UserNotes = "" Then
NoteEntryForm.Hide
Exit Sub
End If
Worksheets("Notes").ListObjects("Notes").ListRows.Add (1)
Worksheets("Notes").Range("Notes").Cells(1, 1) = Date
Worksheets("Notes").Range("Notes").Cells(1, 2) = UserNotes
Worksheets("Notes").Range("Notes").Cells(1, 2).WrapText = True
' Crap fix to get the wrap to work. I noticed that after I inserted another row the previous rows
' word wrap property would kick in. So I just add in and delete a row to force that behaviour.
Worksheets("Notes").ListObjects("Notes").ListRows.Add (1)
Worksheets("Notes").Range("Notes").Item(1).Delete
NotesInput.Text = vbNullString
NotesInput.SetFocus ' Retains focus on text entry box instead of command button.
NoteEntryForm.Hide
Application.ScreenUpdating = True
End Sub
ich nicht kommentieren genug rep müssen, aber in der Unter form_load für die Helfer können Sie hinzufügen:
me.AutoCenter = True
Außerhalb dieser Form, Sie können es wie folgt tun:
NoteEntryForm.Show
Forms("NoteEntryForm").AutoCenter = True
My Access-Formulare alle verwirren, wenn ich von meinen zwei zusätzlichen Monitore bei der Arbeit an meinen einem zusätzlichen Monitor zu Hause gehen, und werden manchmal in der Ecke verloren. Dieses AutoCenter hat es in die Formulareigenschaften jedes meiner Formulare geschafft.
Willkommen auf der Website! Dies versucht nicht, wie du weißt, die Frage zu beantworten und sollte ein Kommentar sein. [Bitte verwenden Sie ausschließlich Antworten, um die Frage zu beantworten] (// meta.stackoverflow.com/q/92107). Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlasse einen Kommentar unter seinem Beitrag - du kannst deine eigenen Beiträge jederzeit kommentieren, und sobald du [ausreichende Reputation] hast (// stackoverflow.com/help/whats-reputation) wirst du in der Lage sein [jeden Beitrag kommentieren] (// stackoverflow.com/help/privileges/comment). In der Zwischenzeit verwenden Sie bitte keine Antworten zum Posten von Kommentaren. – Mogsdad
- 1. Wie kafka.consumer.ConsumerTimeoutException zu überwinden?
- 2. java.util.zip.ZipException: Doppeleintrag: Wie zu überwinden
- 3. wie ConcurrentModificationException Fehler zu überwinden
- 4. wie zu überwinden make_shared conness
- 5. Kann die javax.crypto.BadPaddingException nicht überwinden
- 6. So überwinden Sie den Effekt der Navigationsleiste
- 7. Wie kann ich diesen Kompilierungsfehler überwinden?
- 8. Pythons Einschränkungen in Bezug auf Instanzmethoden überwinden
- 9. Wie Webserver begrenzte Socket-Port-Nummer überwinden
- 10. Wie kann ich diesen Schlüsselwortfehler überwinden?
- 11. Ein Weg, um Objekt Slicing zu überwinden
- 12. Seitenumbruch mehrere Seiten drucken vba
- 13. Kann die Null-Zeiger-Ausnahme in exam.jsp nicht überwinden
- 14. IsValidLocale gibt FALSE zurück - wie kann man das überwinden?
- 15. Lösungen zu überwinden "Website geht offline wegen mysql 'max_user_connections' Fehler."
- 16. Wie kann ich späte Bindung in Active Directory-Suche überwinden
- 17. wie Leistungsprobleme zu überwinden, wenn virtuelle Android-Gerät über RDP
- 18. Wie überwinden 255 Zeichen Grenze für bedingte definiert?
- 19. Wie vs_needsnewmetadata Fehler in Datenfluss-Task zu überwinden?
- 20. Überwinden Typ Löschung in Scala in Fällen von unterschiedlichen Rückgabetypen
- 21. Template Haskell: GHC Stufe Einschränkung und wie zu überwinden
- 22. Excel VBA - Liste aller VBA Umgebungsvariablen
- 23. Excel VBA Zeile löschen nicht VBA-Skript
- 24. VBA Laufzeitfehler
- 25. VBA-Formatierungsnummer
- 26. VBA Datumsformat
- 27. VBA Datenbanksuchcode
- 28. VBA Aktualisierungsabfrage
- 29. VBA-Syntaxfehler
- 30. VBA-Vergleichscode
Warum eine InputBox? Eine kleine Form und ein Textfeld ist fast immer eine bessere Idee. – Fionnuala
@Remou ~ weil das viel mehr Code erfordert und nicht immer einfach für den neuen Entwickler ist, während InputBox sehr zugänglich ist. Sonst +1 – jcolebrand
~ Ich denke nicht, dass es eine längere Zeichenfolge dauern wird, SOL ... Folgen Sie @ Remou's Rat. – jcolebrand