Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

convert to number

convert to number
14.08.2006 21:57:54
StefanB
Hallo zusammen,
habe mir ein kleines Macro geschrieben, welches mir die Spalte A in eine Zahl umwandelt. Jetzt gibt es aber ein Problem. Taucht zwischendrin eine Zahl auf so bricht das Macro mit einer Fehlermeldung (Typen unverträglich) ab. Was muß ich denn ändern, damit das Macro stur weiter läuft?

Sub convert()
Dim zei As Long, kurz As Long
kurz = 1
For zei = 1 To Range("A65536").End(xlUp).Row + 1
Range(Cells(kurz, 1), Cells(zei, 1)).Value = CDbl(Left(Range(Cells(kurz, 1), Cells(zei, 1)).Value, 9))
kurz = zei + 1
Next zei
End Sub

Thx
StefanB

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

Betreff
Datum
Anwender
Anzeige
AW: convert to number
14.08.2006 22:02:27
Oberschlumpf
Hi Stefan
Versuch es mal so (von mir nicht getestet):

Sub convert()
Dim zei As Long, kurz As Long
kurz = 1
For zei = 1 To Range("A65536").End(xlUp).Row + 1
If IsNumeric(Range(Cells(kurz, 1), Cells(zei, 1)).Value) = False Then
Range(Cells(kurz, 1), Cells(zei, 1)).Value = CDbl(Left(Range(Cells(kurz, 1), Cells(zei, 1)).Value, 9))
kurz = zei + 1
End If
Next zei
End Sub

Konnte ich helfen?
Ciao
Thorsten
AW: convert to number
14.08.2006 22:07:16
Josef
Hallo Stefan!
Probier mal.
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub convert()
Dim rng As Range
On Error GoTo ErrExit
GetMoreSpeed
For Each rng In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
  If Not IsNumeric(rng.Value) Then rng.Value = CDbl(Left(rng.Value, 9))
Next
ErrExit:
GetMoreSpeed 0
End Sub


Sub GetMoreSpeed(Optional ByVal Modus As Integer = 1)
Static lngCalc As Long

With Application
  If Modus = 1 Then
    lngCalc = .Calculation
    .ScreenUpdating = False
    .EnableEvents = False
    .DisplayAlerts = False
    .Calculation = -4135
    .Cursor = xlWait
  Else
    .ScreenUpdating = True
    .EnableEvents = True
    .DisplayAlerts = True
    .Calculation = IIf(lngCalc > 0, lngCalc, -4105)
    .Cursor = xlDefault
  End If
End With

End Sub


Gruß Sepp

Anzeige
AW: convert to number
14.08.2006 22:23:26
Erich
Hallo Stefan,
wenn nur die ersten 9 Stellen in Zahlen umgewandelt werden sollen, geht das so:
Sub convert()
Dim zei As Long, strZ As String
For zei = 1 To Range("A65536").End(xlUp).Row
strZ = Left(Cells(zei, 1), 9)
If IsNumeric(strZ) Then Cells(zei, 1) = 1 * strZ
Next zei
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Danke
14.08.2006 22:36:06
StefanB
Hallo Thorsten, Sepp und Erich.
Vielen Dank für die schnelle Hilfe *smile* Nun funktioniert es!
Thx
StefanB

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige