Autor
|
Thema: Zeichenbegrenzung in Zelle (4307 mal gelesen)
|
var Mitglied
Beiträge: 5 Registriert: 21.11.2003
|
erstellt am: 21. Nov. 2003 11:28 <-- editieren / zitieren --> Unities abgeben:
Hallo In einer Zelle sollen höchstens 40Zeichen eingegeben werden. Dazu habe ich folgendes Makro geschrieben: Sub GültigkeitHinzufügen() ThisWorkbook.Worksheets("Mappe1").Activate With ActiveSheet.Cells("W10").Validation .Add Type:=xlValidateTextLength, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=0, Formula2:=41 .InputTitle = "40 Zeichen" .ErrorTitle = "Benennung grösser als 40 Zeichen!" .InputMessage = _ "Geben Sie eine Benennung mit höchstens 40 Zeichen ein." .ErrorMessage = _ "Sie dürfen nur 40 Zeichen eingeben!" End With End Sub In der Zeile ".Add Type:=xlValidateTextLength,AlertStyle:=xlValidAlertStop," wird der "Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler" ausgegeben! Wo ist der Fehler? Gruss var Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 21. Nov. 2003 12:27 <-- editieren / zitieren --> Unities abgeben: Nur für var
Hallo, zeichne Dir das mal mit dem Makrorecorder auf und nimm den kompletten Code rein: Sub GültigkeitHinzufügen() ThisWorkbook.Worksheets("Mappe1").Activate With ActiveSheet.Cells(10, 23).Validation .Delete .Add Type:=xlValidateTextLength, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="1", Formula2:="40" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With End Sub BTW, arbeite entweder mit cells-Bezügen cells(10,23) oder mit Range-Bezügen Range("W10") Alternativ geht auch sowas ähnliches, Rechtsclick Blattregister > Code anzeigen: Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim i As String i = Range("A1").Value If Target = Range("A1") Then If Len(i) > 40 Then MsgBox "max. 40 zeichen erlaubt, wird gekürzt" Range("A1").Value = Mid(i, 1, 40) End If End If End Sub HTH Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 21. Nov. 2003 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für var
Hallo var, geht auch einfacher. Klicke auf die Zelle und gehe auf das Menü "Daten, Gültigkeit". Bei den Gültigkeitskriterien kannst du den Eintrag "Textlänge" auswählen, der Rest ist selbsterklärend. Im Register Fehlermeldung kannst du noch eine Meldung festlegen, wenn die Beschränkung nicht eingehalten wird. Ciao, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! [Diese Nachricht wurde von WolfgangE am 21. Nov. 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 21. Nov. 2003 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für var
|
var Mitglied
Beiträge: 5 Registriert: 21.11.2003
|
erstellt am: 21. Nov. 2003 13:42 <-- editieren / zitieren --> Unities abgeben:
|
WolfgangE Mitglied
Beiträge: 1006 Registriert: 29.01.2003 Compass2000 in (fast) allen Ausbaustufen: Jobserver, ACM, Replikator, DBQ-Programmierung. Programmierung, Wartung und Administration von MSSQL2000-Datenbanken. Grundlegende Kenntnisse in AutoLisp-Programmierung.
|
erstellt am: 21. Nov. 2003 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für var
Übrigens: es empfiehlt sich, solche Zellen mit Einschränkungen mit einem Kommentar zu versehen (Menü "Einfügen, Kommentar"). Dann sieht man sofort, wenn man die Zelle aktiviert, diesen Kommentar und weiß Bescheid (oder auch nicht, je nachdem, wer solche Kommentare schreibt). Der Vorteil gegenüber einer Dialogbox ist der, dass man den Kommentar nicht wieder extra wegklicken muss, und zu viele Dialog finde ich persönlich generell lästig (der Computer ist auch so schon voll genug damit). Schönes Wochende, WolfgangE ------------------ An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|