Anzeige
Archiv - Navigation
1188to1192
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

Abfragen, ob String eine Zahl ist

Abfragen, ob String eine Zahl ist
Peter
Guten Tag
Mit meinem Code will ich sicherstellen, dass der Code nur abläuft, wenn die aktive Tabelle ein Name wie "0101" oder "0313" etc. hat (sobald der Tabellenname ein Buchstabe oder ein anderes Zeichen enthält, resp. die Zahlenfolge "0000" oder "0100", darf der Code nicht weiterlaufen).
"0101" oder "0313" sind wohl Zahlenstrings und sind daher nicht numerisch, können also nicht mit IsNumeric abgefragt werden. Ich sah erst kürzlich in einem Beitrag, dass geprüft werden kann, ob der String auch eine Zahl ist, habe das jedoch nicht mehr gefunden. Wer kann mir weiterhelfen?
Gruss, Peter
Sub Check()
Dim Ash as String
ASh = ActiveSheet.Name
Select Case ASh
Case IsNumeric(ASh) And ASh  "0000" And ASh  "0100"
Case Else
MsgBox "Aktion in Tabelle " & ASh & " nicht durchführbar."
End
End Select
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
IsNumeric
10.12.2010 09:09:26
Rudi
Hallo,
können also nicht mit IsNumeric abgefragt werden

IsNumeric fragt nicht ab, ob es sich um eine Zahl handelt, sondern ob der Ausdruck in eine Zahl umgewandelt werden kann.
Case IsNumeric(ASh) And ASh  "0000" And ASh  "0100"

Das geht so nicht.
Sub Check()
Dim Ash As String
Ash = ActiveSheet.Name
Select Case Ash
If IsNumeric(Ash) Then
Select Case Ash
Case "0000", "0100"
MsgBox "Aktion in Tabelle " & Ash & " nicht durchführbar."
End
Case Else
'mach was
End Select
End If
End Sub

Gruß
Rudi
Anzeige
AW: ok - vielen Dank! owT
10.12.2010 09:52:05
Peter
AW: Abfragen, ob String eine Zahl ist
11.12.2010 03:50:36
dan
Hallo Peter,
hier eine Function, die 'checkt' ob der Name des aktiven Blattes den Kriterien entschpricht.
Mfg dan, cz.
Option Explicit
Public Function Check(activeSheetName As String) As Boolean
Check = False
' sobald der Tabellenname ein Buchstabe oder ein anderes Zeichen enthält,
' darf der Code nicht weiterlaufen
Dim character As String
Dim i As Integer
Dim code As Integer
For i = 1 To Strings.Len(activeSheetName)
character = Strings.Mid(activeSheetName, i, 1)
code = Asc(character)
' nur Zahlen sind gueltig
If (Not (48  1) Then
Check = True
End If
End Function

Und der test-code:
Public Sub CheckTest()
Dim testResult As Boolean
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Activate
testResult = Check(ws.Name)
MsgBox "Check result: " & testResult & "." & vbCrLf & "Active sheet name: " & ws.Name &  _
Next ws
End Sub

Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige