Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Len(Text) Problematisch?

Len(Text) Problematisch?
24.06.2021 12:31:44
Seb
Hallo,
ich möchte die Inhalte zweier Zellen miteinander vergleichen, allerdings sollen bei einer der Zellen die ersten 12 Zeichen (jeweils ein Datum) vernachlässigt werden. Der gesamte Code sieht so aus, relevant sind glaube ich nur die Zeilen 25 ff., vorher läuft's. Den Fehler bekomme ich bei s = Right(Text, Len(Text) - 12): "ungültiger Prozeduraufruf oder ungültiges Argument". Kann jemand von euch auf Anhieb erkennen, was in der Zeile nicht stimmt oder wo das Problem liegt? Die Mappe enthält sensible Daten, daher wenn möglich erst mal ohne.

Sub Historie()
Dim Name As String
Dim Bereich As String
Dim Text As String
Dim s As String
Name = "='Projektplan MS'!$A"
Bereich = "='Projektplan MS'!$B"
i = 5 'Beginnzeile in Historie
x = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile in Projektplan
For n = 9 To x Step 4 'Beginnzeile in Projektplan
y = Sheets(2).Cells(i, Columns.Count).End(xlToLeft).Column 'letzte Spalte in Historie
Sheets(2).Cells(i, 1).Value = Name & n
Sheets(2).Cells(i, 2).Value = Bereich & n
If IsEmpty(Sheets(1).Cells(n, 5)) = False Then
Text = Sheets(2).Cells(i, y).Value2
s = Right(Text, Len(Text) - 12)
Cells(2, 5).Value = s
If Sheets(1).Cells(n, 5).Value2  Sheets(2).Cells(2, 5).Value2 Then
Sheets(2).Cells(i, y + 1).Value = Date & vbCrLf & Sheets(1).Cells(n, 5).Value
Sheets(2).Cells(i, 3).EntireRow.AutoFit
i = i + 1
End If
End If
Next n
'On Error GoTo ErrorHandle
Cells(2, 5).Delete
'ErrorHandle:
'MsgBox Err.Description
'Exit Sub
End Sub
Vielen, vielen Dank im Voraus!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Len(Text) Problematisch?
24.06.2021 12:42:43
Werner
Hallo,
der Fehler tritt dann auf, wenn dein Text-String "Text" kürzer als 12 Zeichen ist.
Bei einer Länge von exakt 12 Zeichen bekommst du als Ergebnis einen Leerstring.
Übrigens ist bei mir ein normales Datum aus 10 Zeichen und nicht aus 12.
Gruß Werner
AW: Len(Text) Problematisch?
24.06.2021 13:17:35
Yal
Hallo zusammen,
in VBA, um den Text ab der 13te Stelle zu haben:

s = Mid (Text, 13)
Ist Text kürzer als 13 Zeichen wird "" geliefert
VG
Yal
AW: Len(Text) Problematisch?
24.06.2021 13:49:25
Daniel
Hi
das Problem ist, dass der 2. Parameter für Right (oder auch Left), also die Anzahl Zeichen, keine Negative Zahl sein darf.
ist die Textlänge kleiner 12, dann bekommst du aber bei deiner Berechnung negative Werte und das ist dann das ungültige Argument.
du müssest also, wenn Texte mit weniger als 12 Zeichen vorkommen können eines dieser Dinge tun:
a) vorher abfragen (hat den Vorteil, dass du differenziert reagieren kannst):

if Len(Text) >= 12 Then
b) den unzulässigen Wert vermeiden:

s = Right(Text, Worksheetfunction.Max(0, Len(Text) - 12))
c) wie schon von anderen vorgeschlagen, den Text mit MID ermitteln und damit das Problem umgehen:

s = Mid(Text, 13)
Gruß Daniel
Anzeige
AW: Len(Text) Problematisch?
24.06.2021 15:49:47
Seb
Vielen Dank für die hilfreichen Tipps, konnte das Problem dank euch finden!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige