Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ROT13 und Excel ?!

Forumthread: ROT13 und Excel ?!

ROT13 und Excel ?!
12.10.2006 21:09:46
Clemens
Hallo,
habe ein problem bei dem ich nicht weiter komme:
Ich möchte gerne in Excel ein kleines "Programm" schreiben mit dem man Texte in, - und aus ROT13 Ver, - bzw. entschlüsseln kann.
Zur erklärung, ROT13 (Rotation 13) ist eine einfache Verschlüsselung bei der die Buchstaben des Alphabetes um 13 Rotiert werde. Will heißen:
a = n
b = o
...
n = a
Usw. Zahlen und Satzszeichen, sowie Leerzeichen werden wie gewohnt geschrieben.
Nun wieder zurück zu Excel.
Wie kann ich es in Excel umsetzen, dass Excel einen Text den ich eingebe, Entschlüsselt, bzw. Verschlüsselt
Hat Irgendjemand eine Idee?
Bin offen und dankbar für alles.....
MfG,
Clemens
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ROT13 und Excel ?!
12.10.2006 21:33:12
mumpel
Hallo!
Schau Dir das mal an. Ist zwar für VB geschrieben, aber vielleicht läßt sich dies ja für VBA umschreiben. Möglicherweise findet sich ja hier ein Spezialist, der das machen könnte. http://vb-tec.de/rot13.htm
Gruss Rene
AW: ROT13 und Excel ?!
12.10.2006 21:42:35
Clemens
Ja so etwas in der Art hatte ich mir vorgestellt.
Gibt es hier im Forum jemanden, der das umschreiben kann? Wäre sehr Dankbar.
Weil ich sehe, dass ich ohne VBA Kentnisse hier zum Scheitern verdammt bin.
Kann zwar eine MsgBox mit VBA erzeugen, aber da hört es dann auch auf. :-)
Gruß,
Clemens
Anzeige
AW: ROT13 - Cäsar-Code
12.10.2006 22:16:50
Sigi
Hallo Clemens,
das nennt man in der Kryptographie einen Cäsar-Code. Der ist relativ einfach und total unsicher. Hier ein Beispiel als VBA-Funktion:

Function Caesar(Text As String, Key As Long) As String
Dim i As Long
Dim j As Long
Dim X As String
Dim Tx As String
Dim ABC As Variant
If Key > -59 And Key < 59 Then
ABC = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", _
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", _
"U", "V", "W", "X", "Y", "Z", "Ä", "Ö", "Ü", _
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", _
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", _
"u", "v", "w", "x", "y", "z", "ä", "ö", "ü", "ß")
For i = 1 To Len(Text)
X = Mid(Text, i, 1)
For j = 0 To 58
If ABC(j) = X Then
j = j + 590 + Key
j = j Mod 59
X = ABC(j)
Exit For
End If
Next j
Tx = Tx & X
Next i
Else
Tx = ""
End If
Caesar = Tx
End Function

Bei Key gibst du an, um wieviele Zeichen verschoben werden soll. Zum zurückübersetzen verwendest du den negativen Key. Viel Spaß!
Gruß
Sigi
Anzeige
AW: ROT13 - Cäsar-Code
12.10.2006 22:29:15
Clemens
Ah Danke dir... ja ich weis sicher ist das nicht... will aber auch nur, dass nicht jeder sofort lesen kann, was ich schreibe... das das einem Kryptographen keine 3 Minuten Standhält ist klar..
Gruß,
Clemens
AW: ROT13 - Cäsar-Code
12.10.2006 22:39:26
Clemens
So,
dank Sigi haben wir jetzt einen VBA-Code.
Wenn mir jetzt noch jemand helfen könnte, das ganze sinnvoll in ein Arbeitsmappe einzuarbeiten wäre ich glücklich.
Meine Vorstellung:
Eine Arbeitsmappe - leer
Ein großes Feld, in dem man den Text eigeben kann. Hier wäre zu beachten, dass beim Cäser-Code Satzzeichen, Leerzeichen und Zahlen normal dargestellt werden. d.H. ein Cäser-Code könnte z.B. so aussehen:
sdfjo kjk sdfsdf 19.02.2006, 18:00hrt sdfsdaf. (ergibt keinen Sinn der Text)
D.H. Excel müsste Satzzeichen und Zahlen sowie auch Leerzeichen aus der ver, -bzw. entschlüsselung ausschließen.
Unter dem Eingabefeld noch zwei Buttons. "Verschlüsseln", "Entschlüsseln"
Und dann ein Feld, in dem Excel den Text ausgibt.
Gruß,
Clemens
Anzeige
AW: ROT13 - Cäsar-Code
12.10.2006 22:53:09
ingUR
Hallo, Clemens,
da es wohl Deine ersten Einstiegsarbeiten in VBA zu sein scheinen, hier die fertige Arbeitmappe mit den Benutzerfunktionen und dem Tabellenblat Tabelle1, wo diese Eingesetz werden:
https://www.herber.de/bbs/user/37357.xls
Denbar wäre beim Caesar-Code auch eine mehrfache Anwendung, wobei die Rückführung in umgedrehter Folge mit den entsprechend negativen Werten durchzuführen ist.
Gruß,
Uwe
Anzeige
AW: ROT13 - Cäsar-Code
12.10.2006 22:55:26
Clemens
Danke IngUR,
ja an eine merfache Anwendung dachte ich auch schon.
Werde man schauen.
Danke noch mal an Alle,
Ein tolles Excel Forum.
Gruß,
Clemens
AW: ROT13 - Cäsar-Code
14.10.2006 23:58:14
Clemens
Ja, ist perfekt. Habe deinen Post erst gerade entdeckt. Danke dir.
Gruß,
Clemens
AW: ROT13 und Excel ?!
12.10.2006 22:30:17
ingUR
Hallo, Clemens,
die vereinfachte Funktion kannst Du ohne besondere Änderung in ein Standardmodul der Arbeitsmappe übernehmen (in der Arbeitmappe mit [ALT][F11] den VBA-Editot aufrufen, ggf. Modulornder für die Arbeitsmappe einfügen; Code in das Code-Fenster einfügen):
Public Function Rot13(ByRef Text As String) As String
Dim i As Long
Rot13 = Text
For i = 1 To Len(Text)
Select Case UCase$(Mid$(Text, i, 1))
Case "A" To "M"
Mid$(Rot13, i) = Chr$(Asc(Mid$(Text, i, 1)) + 13)
Case "N" To "Z"
Mid$(Rot13, i) = Chr$(Asc(Mid$(Text, i, 1)) - 13)
End Select
Next i
End Function
Public Function reRot13(ByRef Text As String) As String
Dim i As Long
reRot13 = Text
For i = 1 To Len(Text)
Select Case Asc(UCase$(Mid$(Text, i, 1)))
Case Asc("A") + 13 To Asc("M") + 13
Mid$(reRot13, i) = Chr$(Asc(Mid$(Text, i, 1)) - 13)
Case Asc("N") - 13 To Asc("Z") - 13
Mid$(reRot13, i) = Chr$(Asc(Mid$(Text, i, 1)) + 13)
End Select
Next i
End Function

Die Funktion reRot13(...) liefert die Rückwandlung.
Anwendung:
  • zu Verschlüsselnder Text in Zelle A1
  • Zellenformel =Rot13(A1) in der Zelle A2
  • Zellenformel =reRot13(A2) in der Zelle A3
    Gruß,
    Uwe
  • Anzeige
    ;
    Anzeige

    Infobox / Tutorial

    ROT13 Verschlüsselung in Excel umsetzen


    Schritt-für-Schritt-Anleitung

    Um Texte in Excel mit der ROT13 Verschlüsselung zu verschlüsseln oder zu entschlüsseln, kannst Du die folgenden Schritte ausführen:

    1. Öffne Excel und erstelle eine neue Arbeitsmappe.

    2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

    3. Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle Einfügen -> Modul.

    4. Code einfügen: Kopiere den folgenden ROT13 Code und füge ihn in das Modul ein:

      Public Function Rot13(ByRef Text As String) As String
         Dim i As Long
         Rot13 = Text
         For i = 1 To Len(Text)
             Select Case UCase$(Mid$(Text, i, 1))
                 Case "A" To "M"
                     Mid$(Rot13, i) = Chr$(Asc(Mid$(Text, i, 1)) + 13)
                 Case "N" To "Z"
                     Mid$(Rot13, i) = Chr$(Asc(Mid$(Text, i, 1)) - 13)
             End Select
         Next i
      End Function
      
      Public Function reRot13(ByRef Text As String) As String
         Dim i As Long
         reRot13 = Text
         For i = 1 To Len(Text)
             Select Case Asc(UCase$(Mid$(Text, i, 1)))
                 Case Asc("A") + 13 To Asc("M") + 13
                     Mid$(reRot13, i) = Chr$(Asc(Mid$(Text, i, 1)) - 13)
                 Case Asc("N") - 13 To Asc("Z") - 13
                     Mid$(reRot13, i) = Chr$(Asc(Mid$(Text, i, 1)) + 13)
             End Select
         Next i
      End Function
    5. Speichern: Schließe den VBA-Editor und speichere die Arbeitsmappe als Excel-Makro-aktivierte Arbeitsmappe (.xlsm).

    6. Anwendung: Trage den zu verschlüsselnden Text in Zelle A1 ein. In Zelle A2 kannst Du die Formel =Rot13(A1) verwenden, um den Text zu verschlüsseln. Für die Rückwandlung kannst Du in Zelle A3 die Formel =reRot13(A2) verwenden.


    Häufige Fehler und Lösungen

    • Fehler 1004: "Anwendungs- oder objektdefinierter Fehler"

      • Lösung: Stelle sicher, dass Du in einer Makro-fähigen Arbeitsmappe arbeitest und dass der Code korrekt eingefügt ist.
    • Funktion wird nicht erkannt:

      • Lösung: Überprüfe, ob der Code im richtigen Modul ist und dass Du die richtige Syntax verwendest.
    • Text wird nicht korrekt verschlüsselt:

      • Lösung: Vergewissere Dich, dass der eingegebene Text nur Buchstaben enthält, da Zahlen und Satzzeichen nicht verändert werden.

    Alternative Methoden

    Falls Du keine VBA-Kenntnisse hast, könntest Du stattdessen folgende Alternativen in Betracht ziehen:

    • Online ROT13-Generatoren: Es gibt verschiedene Websites, die ROT13-verschlüsselte Texte generieren können. Du kannst den Text einfach kopieren und in Excel einfügen.
    • Excel-Formeln: Du könntest auch eine komplexe Formel erstellen, um ROT13 direkt in Excel zu implementieren, aber das ist weniger effizient als die oben beschriebene VBA-Lösung.

    Praktische Beispiele

    • Beispiel 1: Eingabe in Zelle A1: Hallo Welt!

      • Verschlüsselung: =Rot13(A1) gibt Uryyb Jryy! zurück.
      • Entschlüsselung: =reRot13(A2) gibt zurück Hallo Welt!.
    • Beispiel 2: Eingabe in Zelle A1: 1234

      • Verschlüsselung: =Rot13(A1) bleibt 1234, da Zahlen nicht verändert werden.

    Tipps für Profis

    • Benutzeroberfläche verbessern: Füge Schaltflächen für "Verschlüsseln" und "Entschlüsseln" hinzu, um die Anwendung benutzerfreundlicher zu gestalten.
    • Erweiterte Funktionen: Du kannst die ROT13-Verschlüsselung in eine größere Anwendung integrieren, die auch andere Verschlüsselungsmethoden wie die Cäsar-Verschlüsselung berücksichtigt.
    • Datenüberprüfung: Implementiere eine Funktion, die den eingegebenen Text auf ungültige Zeichen überprüft, um Fehler zu minimieren.

    FAQ: Häufige Fragen

    1. Was ist ROT13?
    ROT13 ist eine einfache Methode zur Verschlüsselung von Text, bei der jeder Buchstabe um 13 Positionen im Alphabet verschoben wird.

    2. Kann ich ROT13 in Excel ohne VBA verwenden?
    Ja, jedoch ist es mit VBA einfacher und effizienter, da Du damit benutzerdefinierte Funktionen erstellen kannst.

    3. Welche Excel-Version benötige ich?
    Die beschriebenen Schritte sind für Excel 2010 und neuere Versionen geeignet, die VBA unterstützen.

    4. Was passiert mit Zahlen und Satzzeichen?
    Zahlen und Satzzeichen bleiben unverändert, wenn Du die ROT13-Verschlüsselung anwendest.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige