Hier im Beispiel sollen deutsche Dezimalzeichen ins englische „0.5“ Format gebracht werden
dim variable as string
variable="0,5"
variable = Replace(variable, ",", ".") // Ergebnis: variable="0.5"
Für den Alltag mit VBA-Programmen benötigt man oft Basis-Funktionen, wie das Zählen der beschriebenen Zellen eines Blattes. Solche Codeteile werden in dieser Kategorie vorgestellt.
Hier im Beispiel sollen deutsche Dezimalzeichen ins englische „0.5“ Format gebracht werden
dim variable as string
variable="0,5"
variable = Replace(variable, ",", ".") // Ergebnis: variable="0.5"
vorhandene Dateien mit dem gewählten Namen werden überschrieben
Dim pfad As String
pfad = ActiveWorkbook.Path & "" & "datensatz.txt" '<- Pfad der geöffneten Exceldatei
Open pfad For Output As #1
zeile = "Text in der Datei"
Print #1, zeile
zeile = "// noch mehr text" & vbCrLF '<- Zeilenumbruch
Print #1, zeile
Close #1
Anzahl Zeilen und Spalten einer Exceltabelle zählen
anzahlzeilen = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
anzahlSpalten = Worksheets(1).Cells(1, Worksheets(1).Columns.Count).End(xlToLeft).Column
'[Worksheets(1)=Worksheets("Tabelle1")= Tabelle in der gezählt werden soll]
Diese Funktion kann in ein beliebiges Modul in VBA eingefügt werden. In der Zelle steht dann z.B. die Formel =verketten2(A1:A100;“,“)
Public Function verketten2(ByRef rngBereich As Range, strTrennzeichen As String) As Variant
Dim rng As Range
Dim strTextkette As String
For Each rng In rngBereich
If rng <> "" Then
strTextkette = strTextkette & rng & strTrennzeichen
End If
Next
If Len(strTextkette) > 0 Then
strTextkette = Left(strTextkette, Len(strTextkette) - Len(strTrennzeichen))
Verketten2 = strTextkette
End If
End Function
Der folgende VBA-Code gibt alle numerischen Zeichen einer Zelle zurück.
Der Code kann in ein beliebiges Modul geschrieben und im Sheet als Zellfunktion aufgerufen werden.
Zellfunktion Beispiel: =getzahl(A1)
Function getzahl(zelle As Range) As String
Text = zelle.Value
Dim zahl As String
zahl = ""
For i = 1 To Len(Text)
If IsNumeric(Mid(Text, i, 1)) = True Then
zahl = zahl & Mid(Text, i, 1)
End If
Next i
getzahl = zahl
End Function