Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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

Text in ASCII Code

Text in ASCII Code
amintire
Hallo alle zusammen,
habe eine Excel Mappe vorbereitet und benötige dringend eure Hilfe.
UserForm wurde vorbereitet und beschrieben, manche Buttons habe ich selber schon gemacht Texte löschen in allen TextBoxen.
bei den anderen Funktionen weiß ich im Code nicht weiter.
Das ganze soll als VBA Code geschrieben werden.
https://www.herber.de/bbs/user/74502.xlsm
So wie in den Textfeldern vorbereitet müsste das Ergebnis aussehen wenn auf die Buttons geklickt wird.
Der Beispieltext wird in ASCII umgewandelt, dieser ASCII Text wird in 3er Gruppen gebildet,
das ganze muss dann auch wieder umgewandelt werden sodass zum Schluss wieder der Beispieltext erscheint.
Lieben Gruß
Amina

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Text in ASCII Code
22.04.2011 16:45:32
ransi
HAllo
Wie kommst du darauf ?
BeispielText = 651011151121051011088410112011620 ?
ransi
AW: Beispiel...
22.04.2011 16:53:46
amintire
Hallo Ransi,
also in der Tabelle zb. wäre die Formel =code()
Also jeder Buchstabe in eine Zelle,
und die Formel =code() bezieht sich auf jeden Buchstaben, da kommen dann die Zahlen raus.
Das ganze halt irgendwie in VBA Code.
Beispiel:
https://www.herber.de/bbs/user/74503.xlsm
Lieben Gruß
Amina
strConv(StrText, vbFromUnicode)
22.04.2011 17:23:50
ransi
Hallo
Als Ansatz:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public Sub machs()
    MsgBox String_To_Ascii("BeispielText")
    MsgBox mach_Dreier("BeispielText")
End Sub


Public Function String_To_Ascii(strText As String)
    Dim I As Integer
    Dim B() As Byte
    B = StrConv(strText, vbFromUnicode)
    Redim out(UBound(B))
    For I = LBound(B) To UBound(B)
        out(I) = B(I)
    Next
    String_To_Ascii = Join(out, "")
End Function



Public Function mach_Dreier(strText As String)
    Dim I As Integer
    Dim Z As Long
    Dim B() As Byte
    Dim counter As Integer
    B = StrConv(strText, vbFromUnicode)
    Redim out(UBound(B) + Len(strText) / 3)
    For I = LBound(B) To UBound(B)
        If counter = 3 Then
            out(Z) = "#"
            counter = 1
            Z = Z + 1
            out(Z) = B(I)
            Z = Z + 1
            Else:
            counter = counter + 1
            out(Z) = B(I)
            Z = Z + 1
        End If
    Next
    mach_Dreier = Join(out, "")
End Function


ransi
Anzeige
AW: umkehren ?
22.04.2011 19:31:18
amintire
Hallo Ransi,
funktioniert wunderbar,
wie kann ich aber die zwei folgenden Code umkehren ? Also von mach dreier zurück auf ACSII Text und von dem Text auf dem Beispieltext ?
Public Function String_To_Ascii(strText As String)
Dim I As Integer
Dim B() As Byte
B = StrConv(strText, vbFromUnicode)
Redim out(UBound(B))
For I = LBound(B) To UBound(B)
out(I) = B(I)
Next
String_To_Ascii = Join(out, "")
End Function

Public Function mach_Dreier(strText As String)
Dim I As Integer
Dim Z As Long
Dim B() As Byte
Dim counter As Integer
B = StrConv(strText, vbFromUnicode)
Redim out(UBound(B) + Len(strText) / 3)
For I = LBound(B) To UBound(B)
If counter = 3 Then
out(Z) = "#"
counter = 1
Z = Z + 1
out(Z) = B(I)
Z = Z + 1
Else:
counter = counter + 1
out(Z) = B(I)
Z = Z + 1
End If
Next
mach_Dreier = Join(out, "")
End Function
Gruß Amina
Anzeige
AW: umkehren ?
22.04.2011 20:07:41
ransi
HAllo
Hm..
Option Explicit


Public Sub machs()
    Dim s As String
    MsgBox String_To_Ascii("BeispielText")
    s = mach_Dreier("BeispielText")
    MsgBox s
    MsgBox mach_dreier_zurück(s)
End Sub



Public Function String_To_Ascii(strText As String)
    Dim I As Integer
    Dim B() As Byte
    B = StrConv(strText, vbFromUnicode)
    Redim out(UBound(B))
    For I = LBound(B) To UBound(B)
        out(I) = B(I)
    Next
    String_To_Ascii = Join(out, "")
End Function




Public Function mach_Dreier(strText As String)
    Dim I As Integer
    Dim Z As Long
    Dim B() As Byte
    Dim counter As Integer
    B = StrConv(strText, vbFromUnicode)
    Redim out(UBound(B) + Len(strText) / 3)
    For I = LBound(B) To UBound(B)
        If counter = 3 Then
            out(Z) = "#"
            counter = 1
            Z = Z + 1
            out(Z) = B(I)
            Z = Z + 1
            Else:
            counter = counter + 1
            out(Z) = B(I)
            Z = Z + 1
        End If
    Next
    mach_Dreier = Join(out, "")
End Function




Public Function mach_dreier_zurück(strText As String)
    mach_dreier_zurück = Replace(strText, "#", "")
End Function


Aus dem Ascii wieder einen Text machen kann ich nicht.
Wie soll man das unterscheiden ?
6510111
KAnn sein :
6
5
101
11
oder
65
10
11
1
oder, oder, oder.....
ransi
Anzeige
Das könnte nur mit Trennzeichen oder fester...
22.04.2011 20:12:05
Luc:-?
…Codelänge (also mit Vornullen) klappen, Amina.
Gruß + FrOst an alle, Luc :-?
AW: mit Formel geht es aber...
22.04.2011 20:21:57
amintire
Die Formel um den Buchstaben in eine Zahl zu machen
=code(A1)
und umgekehrt wäre es, also die Zahl in einen Buchstaben umwandeln
=ZEICHEN(A1)
Hmm... wie wäre denn eine andere Lösung ?
Gruß Amina
AW: vielleicht mit einer Überprüfung ?
22.04.2011 20:25:38
amintire
Buchstaben beginnen ab 65, alles davor sind Sonderzeichen und Zahlen, von dem Zahlcode her.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
0 1 2 3 4 5 6 7 8 9 : ; ? @ A B C D
Lieben Gruß
Amina
Natürlich geht das prinzipiell, aber nicht, wenn..
22.04.2011 20:28:39
Luc:-?
…man nicht weiß, wo der eine Code aufhört und der nächste beginnt, Amina,
nichts anderes wollten wir dir mitteilen.
Luc :-?
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige