<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Wikipedia%3ATechnik%2FText%2FBasic%2FExcel2Wiki</id>
	<title>Wikipedia:Technik/Text/Basic/Excel2Wiki - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Wikipedia%3ATechnik%2FText%2FBasic%2FExcel2Wiki"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Technik/Text/Basic/Excel2Wiki&amp;action=history"/>
	<updated>2026-05-26T07:48:27Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Technik/Text/Basic/Excel2Wiki&amp;diff=237553&amp;oldid=prev</id>
		<title>imported&gt;Xf01213: Abarbeitung Wikipedia:WikiProjekt Begriffsklärungsseiten/Arbeitslisten/Top-BKS für Visual Basic</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Technik/Text/Basic/Excel2Wiki&amp;diff=237553&amp;oldid=prev"/>
		<updated>2019-05-24T18:44:03Z</updated>

		<summary type="html">&lt;p&gt;Abarbeitung &lt;a href=&quot;/index.php/Wikipedia:WikiProjekt_Begriffskl%C3%A4rungsseiten/Arbeitslisten/Top-BKS&quot; title=&quot;Wikipedia:WikiProjekt Begriffsklärungsseiten/Arbeitslisten/Top-BKS&quot;&gt;Wikipedia:WikiProjekt Begriffsklärungsseiten/Arbeitslisten/Top-BKS&lt;/a&gt; für &lt;a href=&quot;/index.php?title=Visual_Basic&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Visual Basic (Seite nicht vorhanden)&quot;&gt;Visual Basic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Hilfreiches|1=&lt;br /&gt;
* [[../EXCEL-Tabellenumwandlung|EXCEL-Tabellenumwandlung]]&lt;br /&gt;
 |2=Ähnliche Programme&lt;br /&gt;
}}&lt;br /&gt;
[[Visual Basic for Applications|VBA]]-Code für [[Microsoft Excel]]. Damit kann jede Excel-Tabelle sofort ohne Umwege in eine Textdatei geschrieben werden, welche dann im Wiki einfach nur eingefügt werden muss.&lt;br /&gt;
&lt;br /&gt;
Vorversion; funktioniert nur bis Excel 2003. Excel 2007 und höher werden nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Funktionsumfang&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* ...&lt;br /&gt;
* Berücksichtigung von verbundenen Zellen&lt;br /&gt;
* Möglichkeit der Drehung einer Tabelle und der Zeilenumkehr. – Auch möglich durch: BEARBEITEN &amp;gt; INHALT EINFÜGEN (Option TRANSPONIEREN), sofern diese Funktion zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
== Anleitung zum VBA-Makro ==&lt;br /&gt;
&amp;#039;&amp;#039;Im Prinzip:&amp;#039;&amp;#039; Einfach in einem Modul im VBA-Editor einfügen und starten.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die folgende Anleitung kann für andere Excel-Versionen leicht abweichen:&lt;br /&gt;
# Mit Excel die Datei öffnen, die umgewandelt werden soll&lt;br /&gt;
# Den VBA-Editor öffnen (Menü: Extras/Makro/Visual-Basic-Editor) oder &amp;#039;Alt-F11&amp;#039;&lt;br /&gt;
# In der linken Spalte sind die geöffneten Dokumente angezeigt&lt;br /&gt;
# Dort auf &amp;#039;VBA-Projekt’ (mit dem Namen des aktuellen Dokuments, also nicht bei Eurotools!) mit der rechten Maustaste hinklicken&lt;br /&gt;
# Im Kontextmenü Einfügen/Modul wählen&lt;br /&gt;
# Im rechten großen Fenster erscheint eine leere weiße Seite (evtl. steht oben &amp;#039;&amp;#039;Option Explicit&amp;#039;&amp;#039;)&lt;br /&gt;
# Den gesamten Quelltext unten kopieren und auf diese leere weisse Seite einfügen&lt;br /&gt;
# Das Makro ausführen (Die Variablen Startspalte, Startzeile, Endspalte, Endzeile und Dateiname werden automatisch bei jedem Start abgefragt)&lt;br /&gt;
&lt;br /&gt;
Könnte mal jemand hiereinschreiben, wie man das Makro in Excel 2003 ausführt?&lt;br /&gt;
--&amp;gt; ist ein hässlicher Hack, aber funktioniert auf die Schnelle:&lt;br /&gt;
Ersetze&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;VB&amp;quot;&amp;gt;&lt;br /&gt;
Sub Excel2Wiki(Blatt, Kopf As String)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
durch&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;VB&amp;quot;&amp;gt;&lt;br /&gt;
Sub Excel2Wiki()&lt;br /&gt;
   Dim Blatt, Kopf As String&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und füge vor &amp;lt;code&amp;gt;StartZelle = InputBox(&amp;quot;Ab ...&amp;lt;/code&amp;gt; folgendes ein:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;VB&amp;quot;&amp;gt;&lt;br /&gt;
   Blatt = InputBox(&amp;quot;Welches Tabellenblatt soll umgewandelt werden ?&amp;quot;, _&lt;br /&gt;
                           &amp;quot;Tabellenblatt - Schritt 0 von 4&amp;quot;, &amp;quot;Tabelle1&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach lässt sich das Makro mit Alt-F8 aufrufen.&lt;br /&gt;
&lt;br /&gt;
== VBA-Makro zum Kopieren ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;VB&amp;quot;&amp;gt;&lt;br /&gt;
 Option Explicit&lt;br /&gt;
 &amp;#039;Hier sind 3 Programme:&lt;br /&gt;
 &amp;#039;Erstens die Umwandlung Excel-Tabelle in wiki-Format&lt;br /&gt;
 &amp;#039;Zweitens die Drehung einer Tabelle Zeilen in Spalten und umgekehrt (Zelle A1 bleibt Zelle A1)&lt;br /&gt;
 &amp;#039;Drittens die Reihenfolge der Zeilen umzudrehen (erste Zeile wird letzte)&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;Schritte zum Einbinden am Beginn der Unterprogramme&lt;br /&gt;
 Const maxa = 100     &amp;#039;maximale Zahl der Tabellen&lt;br /&gt;
 Global Numm As Integer&lt;br /&gt;
 Global switch, schon As Integer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Sub Excel2Wiki(Blatt, Kopf As String)&lt;br /&gt;
    Dim fHandle, i, j, k, pos, mehr As Integer&lt;br /&gt;
    Dim StartZeile, EndZeile As Integer&lt;br /&gt;
    Dim StartSpalte, EndSpalte As Integer&lt;br /&gt;
    Dim ZeilenText, ZellInhalt, DateiName, Formatierungstags As String&lt;br /&gt;
    Dim StartZelle, EndZelle, DateiPfad, typf, hilf As String&lt;br /&gt;
    Dim mzeil, mspal, mzahl, mmzeil As Integer&lt;br /&gt;
    Dim inhalt As Object&lt;br /&gt;
&lt;br /&gt;
    fHandle = FreeFile()&lt;br /&gt;
    Formatierungstags = &amp;quot;&amp;quot; &amp;#039;bisher noch nicht eingebaut&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Hinweise zur Nutzung: Aus dem Excel-Blatt mit [Alt] + [F11] Visual Basic aufrufen.&lt;br /&gt;
    &amp;#039;Ggf. mit Einfügen einen Modul einfügen.&lt;br /&gt;
    &amp;#039;Dieses VBA-Programm in einen Modul kopieren und&lt;br /&gt;
    &amp;#039;die nachfolgende Zeile in die Zwischenablage übernehmen:&lt;br /&gt;
    &amp;#039;  Call Excel2Wiki(CommandButton1.Parent.Name, CommandButton1.Parent.Name)  &amp;#039;Blattname, Tabellenkopf&lt;br /&gt;
    &amp;#039;Danach auf dem Excel-Tabellenblatt im Pull-down-Menü Ansicht den&lt;br /&gt;
    &amp;#039;Punkt &amp;quot;Symbolleisten&amp;quot; anklicken und dann &amp;quot;Steuerelement Toolbox&amp;quot; anklicken&lt;br /&gt;
    &amp;#039;Anschließend auf der Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; den&lt;br /&gt;
    &amp;#039;Button &amp;quot;Befehlsschaltfläche&amp;quot; (linke Spalte, 4.Element von oben) anklicken&lt;br /&gt;
    &amp;#039;Mit der Maus an die geünschte Stelle gehen und das bei der Mausbewegung&lt;br /&gt;
    &amp;#039;entstehende Rechteck auf die&lt;br /&gt;
    &amp;#039;gewünschte Größe ziehen und die Maustaste loslassen.&lt;br /&gt;
    &amp;#039;Anschließend auf der Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; den&lt;br /&gt;
    &amp;#039;Button &amp;quot;Code anzeigen&amp;quot; (linke Spalte, 2.Element von oben) anklicken und&lt;br /&gt;
    &amp;#039;anschließend in den erscheinenden Code zwischen &amp;quot;Private Sub ...&amp;quot; und &amp;quot;End Sub&amp;quot; die&lt;br /&gt;
    &amp;#039;Zeile der Zwischenablage übernehmen (bei der kopierten Zeile erstes &amp;quot;&amp;#039;&amp;quot; löschen.&lt;br /&gt;
    &amp;#039;Ggf. diesen Stand schon speichern.&lt;br /&gt;
    &amp;#039;Wenn gewünscht Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; schließen&lt;br /&gt;
    &amp;#039;Anschließend die Zahlen in der Zeile 2 entsprechend Ihrer Tabelle anpassen. Die&lt;br /&gt;
    &amp;#039;Bedeutung steht in Zeile 1 in der Reihenfolge (Spaltenbuchstaben in Anführungszeichen einschließen).&lt;br /&gt;
    &amp;#039;Beim Drücken der neuen Befehlsschaltfläche wird die Excel-Tabelle im wiki-Format&lt;br /&gt;
    &amp;#039;ausgegeben und zwar auf der nachfolgenden Datei - ggf. anpassen.&lt;br /&gt;
    &amp;#039;Danach ist ggf. noch ein Feinschliff der Tabelle notwendig.&lt;br /&gt;
    &amp;#039;Als Hilfsmittel für den Feinschliff sind noch colspan und rowspan&lt;br /&gt;
    &amp;#039;als Kommentar angegeben:&lt;br /&gt;
    &amp;#039;Die Zahlenwerte müssen angepaßt werden und die Zeile an die entsprechende Stelle kopiert werden&lt;br /&gt;
    &amp;#039;(entsprechend Felder löschen)&lt;br /&gt;
&lt;br /&gt;
    StartZelle = InputBox(&amp;quot;Ab welcher Zelle (links oben) soll umgewandelt werden ?&amp;quot;, _&lt;br /&gt;
                            &amp;quot;Startzeile - Schritt 1 von 4&amp;quot;, &amp;quot;A1&amp;quot;)&lt;br /&gt;
    EndZelle = InputBox(&amp;quot;Bis zu welcher Zelle (rechts unten) soll umgewandelt werden ?&amp;quot;, _&lt;br /&gt;
                            &amp;quot;Endzeile - Schritt 2 von 4&amp;quot;, &amp;quot;N24&amp;quot;)&lt;br /&gt;
    DateiPfad = InputBox(&amp;quot;Wie soll die Ausgabepfad heissen?&amp;quot;, _&lt;br /&gt;
                            &amp;quot;Dateiname - Schritt 3 von 4&amp;quot;, &amp;quot;C:\&amp;quot;)&lt;br /&gt;
    Kopf = InputBox(&amp;quot;Text Tabellenkopf&amp;quot;, _&lt;br /&gt;
                            &amp;quot;Kopf - Schritt 3 von 4&amp;quot;, Kopf)&lt;br /&gt;
&lt;br /&gt;
    DateiName = DateiPfad &amp;amp; Blatt &amp;amp; &amp;quot;.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    StartSpalte = adre(CStr(StartZelle))&lt;br /&gt;
    StartZeile = Numm&lt;br /&gt;
    EndSpalte = adre(CStr(EndZelle))&lt;br /&gt;
    EndZeile = Numm&lt;br /&gt;
&lt;br /&gt;
    Open DateiName For Output As #fHandle&lt;br /&gt;
    ZeilenText = Str(EndSpalte + 1 - StartSpalte)&lt;br /&gt;
    Print #fHandle, &amp;quot;&amp;lt;!-- |colspan=&amp;quot;&amp;quot;&amp;quot; &amp;amp; ZeilenText &amp;amp; &amp;quot;&amp;quot;&amp;quot; align=&amp;quot;&amp;quot;center&amp;quot;&amp;quot; --&amp;gt;&amp;quot;&lt;br /&gt;
    ZeilenText = Str(EndZeile + 1 - StartZeile)&lt;br /&gt;
    Print #fHandle, &amp;quot;&amp;lt;!-- |rowspan=&amp;quot;&amp;quot;&amp;quot; &amp;amp; ZeilenText &amp;amp; &amp;quot;&amp;quot;&amp;quot; align=&amp;quot;&amp;quot;center&amp;quot;&amp;quot; --&amp;gt;&amp;quot;&lt;br /&gt;
    Print #fHandle, &amp;quot;{| {{prettytable-R}}&amp;quot;&lt;br /&gt;
    Print #fHandle, &amp;quot;|+ &amp;quot; &amp;amp; Kopf&lt;br /&gt;
&lt;br /&gt;
    switch = 0&lt;br /&gt;
    schon = 0&lt;br /&gt;
    For i = StartZeile To EndZeile&lt;br /&gt;
        ZeilenText = &amp;quot;|&amp;quot;&lt;br /&gt;
        mehr = 0&lt;br /&gt;
&lt;br /&gt;
        For j = StartSpalte To EndSpalte&lt;br /&gt;
            If mehr = 1 Then ZeilenText = ZeilenText &amp;amp; &amp;quot;||&amp;quot;&lt;br /&gt;
            mehr = 1&lt;br /&gt;
            typf = Worksheets(Blatt).Cells(i, j).NumberFormat&lt;br /&gt;
            ZellInhalt = Worksheets(Blatt).Cells(i, j)&lt;br /&gt;
            If ZellInhalt = Empty Then ZellInhalt = &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            If Worksheets(Blatt).Cells(i, j).MergeCells = &amp;quot;Wahr&amp;quot; Then&lt;br /&gt;
                mzeil = Worksheets(Blatt).Cells(i, j).MergeArea.Row&lt;br /&gt;
                mspal = Worksheets(Blatt).Cells(i, j).MergeArea.Column&lt;br /&gt;
                mzahl = Worksheets(Blatt).Cells(i, j).MergeArea.Count&lt;br /&gt;
                If mspal = j Then&lt;br /&gt;
                    k = 1&lt;br /&gt;
                    While ((j + k) &amp;lt;= EndSpalte) And (Worksheets(Blatt).Cells(i, j + k).MergeArea.Column = j)&lt;br /&gt;
                        k = k + 1 &amp;#039; Zähler hochzählen.&lt;br /&gt;
                    Wend    &amp;#039;While-Schleife beenden&lt;br /&gt;
                    If j + k = EndSpalte Then If Worksheets(Blatt).Cells(i, j + k).MergeArea.Column = j Then k = k + 1&lt;br /&gt;
                    j = j + k - 1&lt;br /&gt;
                    If mzeil = i Then&lt;br /&gt;
                        hilf = CStr(k)&lt;br /&gt;
                        ZeilenText = ZeilenText &amp;amp; &amp;quot;colspan=&amp;quot;&amp;quot;&amp;quot; &amp;amp; hilf &amp;amp; &amp;quot;&amp;quot;&amp;quot; align=&amp;quot;&amp;quot;center&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
                        mmzeil = CInt(mzahl / k)&lt;br /&gt;
                        If mmzeil &amp;gt; 1 Then&lt;br /&gt;
                            hilf = CStr(mmzeil)&lt;br /&gt;
                            ZeilenText = ZeilenText &amp;amp; &amp;quot; rowspan=&amp;quot;&amp;quot;&amp;quot; &amp;amp; hilf &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
                        End If&lt;br /&gt;
                        ZeilenText = ZeilenText &amp;amp; &amp;quot;|&amp;quot; &amp;amp; ZellInhalt&lt;br /&gt;
                    Else&lt;br /&gt;
                        mehr = 0&lt;br /&gt;
                    End If&lt;br /&gt;
                Else&lt;br /&gt;
                    GoTo nichts2&lt;br /&gt;
                End If&lt;br /&gt;
            Else&lt;br /&gt;
                Select Case typf&lt;br /&gt;
                    Case &amp;quot;@&amp;quot;&lt;br /&gt;
                    Case Else: ZellInhalt = wandeln(CStr(ZellInhalt))&lt;br /&gt;
                End Select&lt;br /&gt;
                ZeilenText = ZeilenText &amp;amp; Formatierungstags &amp;amp; ZellInhalt&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            If 1 = 2 Then&lt;br /&gt;
            If 1 = 2 Then&lt;br /&gt;
 nichts2:&lt;br /&gt;
            End If&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
        Next j&lt;br /&gt;
&lt;br /&gt;
        Print #fHandle, ZeilenText&lt;br /&gt;
        Print #fHandle, &amp;quot;|-&amp;quot;&lt;br /&gt;
        ZeilenText = &amp;quot;&amp;quot;&lt;br /&gt;
        If schon = 0 Then&lt;br /&gt;
            switch = 0&lt;br /&gt;
        Else&lt;br /&gt;
            i = i - 1&lt;br /&gt;
            switch = switch + 1&lt;br /&gt;
            schon = 0&lt;br /&gt;
        End If&lt;br /&gt;
    Next i&lt;br /&gt;
&lt;br /&gt;
    ZeilenText = Str(EndSpalte + 1 - StartSpalte)&lt;br /&gt;
    Print #fHandle, &amp;quot;|colspan=&amp;quot;&amp;quot;&amp;quot; &amp;amp; ZeilenText &amp;amp; &amp;quot;&amp;quot;&amp;quot;|&amp;lt;small&amp;gt;Anmerkung: &amp;lt;/small&amp;gt;&amp;quot;&lt;br /&gt;
    Print #fHandle, &amp;quot;|}&amp;quot;&lt;br /&gt;
    Close #fHandle&lt;br /&gt;
&lt;br /&gt;
 End Sub&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 Sub drehen(Blatt As String)&lt;br /&gt;
    Dim Blatt1, nam(maxa), meld, EndZelle As String&lt;br /&gt;
    Dim spal, hn, i, j, naz(maxa), EndZeile As Integer&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Hinweise zur Nutzung: Aus dem Excel-Blatt mit [Alt] + [F11] Visual Basic aufrufen.&lt;br /&gt;
    &amp;#039;Ggf. mit Einfügen einen Modul einfügen.&lt;br /&gt;
    &amp;#039;Dieses VBA-Programm in einen Modul kopieren und&lt;br /&gt;
    &amp;#039;die nachfolgende Zeile in die Zwischenablage übernehmen:&lt;br /&gt;
    &amp;#039;   Call drehen(CommandButton1.Parent.Name) &amp;#039;Blattname, Zelle A1 bleibt Zelle A1&lt;br /&gt;
    &amp;#039;Danach auf dem Excel-Tabellenblatt im Pull-down-Menü Ansicht den&lt;br /&gt;
    &amp;#039;Punkt &amp;quot;Symbolleisten&amp;quot; anklicken und dann &amp;quot;Steuerelement Toolbox&amp;quot; anklicken&lt;br /&gt;
    &amp;#039;Anschließend auf der Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; den&lt;br /&gt;
    &amp;#039;Button &amp;quot;Befehlsschaltfläche&amp;quot; (linke Spalte, 4.Element von oben) anklicken&lt;br /&gt;
    &amp;#039;Mit der Maus an die geünschte Stelle gehen und das bei der Mausbewegung&lt;br /&gt;
    &amp;#039;entstehende Rechteck auf die&lt;br /&gt;
    &amp;#039;gewünschte Größe ziehen und die Maustaste loslassen.&lt;br /&gt;
    &amp;#039;Anschließend auf der Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; den&lt;br /&gt;
    &amp;#039;Button &amp;quot;Code anzeigen&amp;quot; (linke Spalte, 2.Element von oben) anklicken und&lt;br /&gt;
    &amp;#039;anschließend in den erscheinenden Code zwischen &amp;quot;Private Sub ...&amp;quot; und &amp;quot;End Sub&amp;quot; die&lt;br /&gt;
    &amp;#039;Zeile der Zwischenablage übernehmen (bei der kopierten Zeile erstes &amp;quot;&amp;#039;&amp;quot; löschen.&lt;br /&gt;
    &amp;#039;Ggf. diesen Stand schon speichern.&lt;br /&gt;
    &amp;#039;Wenn gewünscht Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; schließen&lt;br /&gt;
    &amp;#039;Anschließend die Zahlen in der Zeile 2 entsprechend Ihrer Tabelle anpassen. Die&lt;br /&gt;
    &amp;#039;Bedeutung steht in Zeile 1 in der Reihenfolge (Spaltenbuchstaben in Anführungszeichen einschließen).&lt;br /&gt;
    &amp;#039;Beim Drücken der neuen Befehlsschaltfläche wird ein neues Tabellenblatt angelegt und&lt;br /&gt;
    &amp;#039;die Excel-Tabelle gedreht in die neue Tabelle kopiert&lt;br /&gt;
    &amp;#039;Danach ist ggf. noch ein Feinschliff der Tabelle notwendig.&lt;br /&gt;
&lt;br /&gt;
    Blatt1 = Left(Blatt, Len(Blatt) - 1) &amp;amp; &amp;quot;-dreh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    hn = Worksheets.Count&lt;br /&gt;
    If hn &amp;gt; maxa - 1 Then&lt;br /&gt;
        i = MsgBox(meld, , &amp;quot;zuviele Blätter - Abbruch&amp;quot;)&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    For i = 1 To hn&lt;br /&gt;
        If Worksheets(i).Name = Blatt1 Then&lt;br /&gt;
            i = MsgBox(meld, , &amp;quot;neues Blatt schon vorhanden - Abbruch&amp;quot;)&lt;br /&gt;
            Exit Sub&lt;br /&gt;
        End If&lt;br /&gt;
        nam(i) = Worksheets(i).Name&lt;br /&gt;
    Next i&lt;br /&gt;
    Worksheets.Add&lt;br /&gt;
    For i = 1 To hn + 1&lt;br /&gt;
        naz(i) = 0&lt;br /&gt;
    Next i&lt;br /&gt;
    For i = 1 To hn&lt;br /&gt;
        For j = 1 To hn + 1&lt;br /&gt;
            If Worksheets(j).Name = nam(i) Then naz(j) = i&lt;br /&gt;
        Next j&lt;br /&gt;
    Next i&lt;br /&gt;
    j = 0&lt;br /&gt;
    For i = 1 To hn + 1&lt;br /&gt;
        If naz(i) = 0 Then&lt;br /&gt;
            Worksheets(i).Name = Blatt1&lt;br /&gt;
            j = 1&lt;br /&gt;
            Exit For&lt;br /&gt;
        End If&lt;br /&gt;
    Next i&lt;br /&gt;
    If j = 0 Then&lt;br /&gt;
        i = MsgBox(meld, , &amp;quot;Blatt konnte nicht benannt werden - Abbruch&amp;quot;)&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
&lt;br /&gt;
    EndZelle = InputBox(&amp;quot;Bis zu welcher Zelle (rechts unten) soll gedreht werden ?&amp;quot;, _&lt;br /&gt;
                            &amp;quot;Endzelle: &amp;quot;, &amp;quot;N24&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    hn = adre(CStr(EndZelle))&lt;br /&gt;
    EndZeile = Numm&lt;br /&gt;
&lt;br /&gt;
    For i = 1 To EndZeile&lt;br /&gt;
        For j = 1 To hn&lt;br /&gt;
            Worksheets(Blatt1).Cells(j, i) = Worksheets(Blatt).Cells(i, j)&lt;br /&gt;
        Next j&lt;br /&gt;
    Next i&lt;br /&gt;
 End Sub&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 Sub kehrt(Blatt)&lt;br /&gt;
    Dim Blatt1, nam(maxa), meld, EndZelle As String&lt;br /&gt;
    Dim spal, hn, i, j, EZ, naz(maxa), EndZeile As Integer&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;Hinweise zur Nutzung: Aus dem Excel-Blatt mit [Alt] + [F11] Visual Basic aufrufen.&lt;br /&gt;
    &amp;#039;Ggf. mit Einfügen einen Modul einfügen.&lt;br /&gt;
    &amp;#039;Dieses VBA-Programm in einen Modul kopieren und&lt;br /&gt;
    &amp;#039;die nachfolgende Zeile in die Zwischenablage übernehmen:&lt;br /&gt;
    &amp;#039;   Call kehrt(CommandButton1.Parent.Name)  &amp;#039;Blattname&lt;br /&gt;
    &amp;#039;Danach auf dem Excel-Tabellenblatt im Pull-down-Menü Ansicht den&lt;br /&gt;
    &amp;#039;Punkt &amp;quot;Symbolleisten&amp;quot; anklicken und dann &amp;quot;Steuerelement Toolbox&amp;quot; anklicken&lt;br /&gt;
    &amp;#039;Anschließend auf der Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; den&lt;br /&gt;
    &amp;#039;Button &amp;quot;Befehlsschaltfläche&amp;quot; (linke Spalte, 4.Element von oben) anklicken&lt;br /&gt;
    &amp;#039;Mit der Maus an die geünschte Stelle gehen und das bei der Mausbewegung&lt;br /&gt;
    &amp;#039;entstehende Rechteck auf die&lt;br /&gt;
    &amp;#039;gewünschte Größe ziehen und die Maustaste loslassen.&lt;br /&gt;
    &amp;#039;Anschließend auf der Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; den&lt;br /&gt;
    &amp;#039;Button &amp;quot;Code anzeigen&amp;quot; (linke Spalte, 2.Element von oben) anklicken und&lt;br /&gt;
    &amp;#039;anschließend in den erscheinenden Code zwischen &amp;quot;Private Sub ...&amp;quot; und &amp;quot;End Sub&amp;quot; die&lt;br /&gt;
    &amp;#039;Zeile der Zwischenablage übernehmen (bei der kopierten Zeile erstes &amp;quot;&amp;#039;&amp;quot; löschen.&lt;br /&gt;
    &amp;#039;Ggf. diesen Stand schon speichern.&lt;br /&gt;
    &amp;#039;Wenn gewünscht Symbolleiste &amp;quot;Steuerelement Toolbox&amp;quot; schließen&lt;br /&gt;
    &amp;#039;Anschließend die Zahlen in der Zeile 2 entsprechend Ihrer Tabelle anpassen. Die&lt;br /&gt;
    &amp;#039;Bedeutung steht in Zeile 1 in der Reihenfolge (Spaltenbuchstaben in Anführungszeichen einschließen).&lt;br /&gt;
    &amp;#039;Beim Drücken der neuen Befehlsschaltfläche wird ein neues Tabellenblatt angelegt und&lt;br /&gt;
    &amp;#039;die Excel-Tabelle gedreht in die neue Tabelle kopiert&lt;br /&gt;
    &amp;#039;Danach ist ggf. noch ein Feinschliff der Tabelle notwendig.&lt;br /&gt;
&lt;br /&gt;
    Blatt1 = Left(Blatt, Len(Blatt) - 1) &amp;amp; &amp;quot;-kehr&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    hn = Worksheets.Count&lt;br /&gt;
    If hn &amp;gt; maxa - 1 Then&lt;br /&gt;
        i = MsgBox(meld, , &amp;quot;zuviele Blätter - Abbruch&amp;quot;)&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    For i = 1 To hn&lt;br /&gt;
        If Worksheets(i).Name = Blatt1 Then&lt;br /&gt;
            i = MsgBox(meld, , &amp;quot;neues Blatt schon vorhanden - Abbruch&amp;quot;)&lt;br /&gt;
            Exit Sub&lt;br /&gt;
        End If&lt;br /&gt;
        nam(i) = Worksheets(i).Name&lt;br /&gt;
    Next i&lt;br /&gt;
    Worksheets.Add&lt;br /&gt;
    For i = 1 To hn + 1&lt;br /&gt;
        naz(i) = 0&lt;br /&gt;
    Next i&lt;br /&gt;
&lt;br /&gt;
    EndZelle = InputBox(&amp;quot;Bis zu welcher Zelle (rechts unten) soll umgedreht werden ?&amp;quot;, _&lt;br /&gt;
                            &amp;quot;Endzelle: &amp;quot;, &amp;quot;N24&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    For i = 1 To hn&lt;br /&gt;
        For j = 1 To hn + 1&lt;br /&gt;
            If Worksheets(j).Name = nam(i) Then naz(j) = i&lt;br /&gt;
        Next j&lt;br /&gt;
    Next i&lt;br /&gt;
    j = 0&lt;br /&gt;
    For i = 1 To hn + 1&lt;br /&gt;
        If naz(i) = 0 Then&lt;br /&gt;
            Worksheets(i).Name = Blatt1&lt;br /&gt;
            j = 1&lt;br /&gt;
            Exit For&lt;br /&gt;
        End If&lt;br /&gt;
    Next i&lt;br /&gt;
    If j = 0 Then&lt;br /&gt;
        i = MsgBox(meld, , &amp;quot;Blatt konnte nicht benannt werden - Abbruch&amp;quot;)&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
&lt;br /&gt;
    hn = adre(CStr(EndZelle))&lt;br /&gt;
    EndZeile = Numm&lt;br /&gt;
&lt;br /&gt;
    EZ = EndZeile&lt;br /&gt;
    For i = 1 To EZ&lt;br /&gt;
        For j = 1 To EZ&lt;br /&gt;
            Worksheets(Blatt1).Cells(EZ + 1 - i, j) = Worksheets(Blatt).Cells(i, j)&lt;br /&gt;
        Next j&lt;br /&gt;
    Next i&lt;br /&gt;
 End Sub&lt;br /&gt;
 &amp;#039;&lt;br /&gt;
 Function adre(h0 As String) As Integer&lt;br /&gt;
    &amp;#039;Feldadresse in zwei Zahlen verwandeln&lt;br /&gt;
        &amp;#039;Eingabe:&lt;br /&gt;
            &amp;#039;hi: Feldadresse (Spalte als Buchstaben, Zeile als Zahl)&lt;br /&gt;
        &amp;#039;Ausgabe&lt;br /&gt;
            &amp;#039;adre: Spaltennummer als Zahl, Numm als Zeilenadresse&lt;br /&gt;
    On Error GoTo ErrorHandler  &amp;#039; Fehlerbehandlung aktivieren.&lt;br /&gt;
&lt;br /&gt;
    Dim meld, spa, spa1, spah, hi As String&lt;br /&gt;
    Dim hz, i, hh, hl As Integer&lt;br /&gt;
&lt;br /&gt;
    spa = Left(h0, 1)&lt;br /&gt;
    If IsNumeric(spa) Then&lt;br /&gt;
        meld = &amp;quot;erstes Zeichen von &amp;quot; &amp;amp; h0 &amp;amp; &amp;quot;ist kein Spaltenbuchstabe - Abbruch&amp;quot;&lt;br /&gt;
        hi = MsgBox(meld, , &amp;quot;Fehlermeldung&amp;quot;)&lt;br /&gt;
        End&lt;br /&gt;
    End If&lt;br /&gt;
    hi = Mid(h0, 2)&lt;br /&gt;
&lt;br /&gt;
    spa1 = Left(hi, 1)&lt;br /&gt;
    If IsNumeric(spa1) Then&lt;br /&gt;
        spa1 = &amp;quot;&amp;quot;&lt;br /&gt;
        If Not IsNumeric(hi) Then&lt;br /&gt;
            meld = h0 &amp;amp; &amp;quot;ist keine Zellenadresse - Abbruch&amp;quot;&lt;br /&gt;
            hi = MsgBox(meld, , &amp;quot;Fehlermeldung&amp;quot;)&lt;br /&gt;
            End&lt;br /&gt;
        End If&lt;br /&gt;
        Numm = CInt(hi)&lt;br /&gt;
    Else&lt;br /&gt;
        spa = spa &amp;amp; spa1&lt;br /&gt;
        spa1 = &amp;quot;&amp;quot;&lt;br /&gt;
        hi = Mid(hi, 2)&lt;br /&gt;
        If Not IsNumeric(hi) Then&lt;br /&gt;
            meld = h0 &amp;amp; &amp;quot;ist keine Zellenadresse - Abbruch&amp;quot;&lt;br /&gt;
            hi = MsgBox(meld, , &amp;quot;Fehlermeldung&amp;quot;)&lt;br /&gt;
            End&lt;br /&gt;
        End If&lt;br /&gt;
        Numm = CInt(hi)&lt;br /&gt;
    End If&lt;br /&gt;
&lt;br /&gt;
    hi = spa &amp;amp; spa1&lt;br /&gt;
    If IsNumeric(hi) And (Not IsEmpty(hi)) Then&lt;br /&gt;
        adre = CInt(hi)&lt;br /&gt;
    Else&lt;br /&gt;
        hz = Len(hi)&lt;br /&gt;
        hl = 0&lt;br /&gt;
        Select Case hz&lt;br /&gt;
        Case 1&lt;br /&gt;
            hh = Asc(hi) - 64&lt;br /&gt;
            If hh &amp;gt; 58 Then GoTo Falsch&lt;br /&gt;
            If hh &amp;gt; 26 Then hh = hh - 32&lt;br /&gt;
            If hh &amp;gt; 26 Then GoTo Falsch&lt;br /&gt;
        Case 2&lt;br /&gt;
            hl = Asc(Mid(hi, 2, 1)) - 64&lt;br /&gt;
            If hh &amp;gt; 58 Then GoTo Falsch&lt;br /&gt;
            If hh &amp;gt; 26 Then hh = hh - 32&lt;br /&gt;
            If hh &amp;gt; 26 Then GoTo Falsch&lt;br /&gt;
        Case Else&lt;br /&gt;
 Falsch:&lt;br /&gt;
            meld = h0 &amp;amp; &amp;quot;ist keine Zellenadresse&amp;quot;&lt;br /&gt;
            hi = MsgBox(meld, , &amp;quot;Fehlermeldung&amp;quot;)&lt;br /&gt;
            End&lt;br /&gt;
        End Select&lt;br /&gt;
        adre = hl * 26 + hh&lt;br /&gt;
    End If&lt;br /&gt;
 Exit Function&lt;br /&gt;
&lt;br /&gt;
 ErrorHandler:&lt;br /&gt;
    meld = &amp;quot;In Funktion adre&amp;quot;&lt;br /&gt;
    meld = meld &amp;amp; &amp;quot; ist Fehler &amp;quot; &amp;amp; Err.Number&lt;br /&gt;
    meld = meld &amp;amp; &amp;quot; aufgetreten. Deswegen Rechnungsabbruch&amp;quot;&lt;br /&gt;
    i = MsgBox(meld, , &amp;quot;Fehlermeldung&amp;quot;)&lt;br /&gt;
    End&lt;br /&gt;
&lt;br /&gt;
 End Function&lt;br /&gt;
&lt;br /&gt;
 Function wandeln(was As String) As String&lt;br /&gt;
    Dim pos, k As Integer&lt;br /&gt;
&lt;br /&gt;
    If (was = &amp;quot; &amp;quot;) Or (was = &amp;quot;&amp;quot;) Then was = &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
            If IsNumeric(was) Then&lt;br /&gt;
                was = Format(was)&lt;br /&gt;
                pos = InStr(was, &amp;quot;,&amp;quot;)&lt;br /&gt;
                If pos &amp;gt; 0 Then&lt;br /&gt;
                    was = Left(was, pos + 2)&lt;br /&gt;
                    If Len(was) = pos Then was = was &amp;amp; &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
                    If Len(was) = pos + 1 Then was = was &amp;amp; &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
                Else&lt;br /&gt;
                    was = was &amp;amp; &amp;quot;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
                End If&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
            If switch &amp;gt; 0 Then&lt;br /&gt;
                For k = 1 To switch&lt;br /&gt;
                    pos = InStr(was, Chr(10))&lt;br /&gt;
                    If pos &amp;gt; 0 Then&lt;br /&gt;
                        was = Mid(was, pos + 1)&lt;br /&gt;
                    Else&lt;br /&gt;
                        was = &amp;quot;&amp;quot;&lt;br /&gt;
                    End If&lt;br /&gt;
                Next k&lt;br /&gt;
            End If&lt;br /&gt;
            pos = InStr(was, Chr(10))&lt;br /&gt;
            If pos &amp;gt; 0 Then&lt;br /&gt;
                was = Left(was, pos - 1)&lt;br /&gt;
                schon = switch + 1&lt;br /&gt;
            End If&lt;br /&gt;
&lt;br /&gt;
            If was = &amp;quot;&amp;quot; Then was = &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    wandeln = was&lt;br /&gt;
&lt;br /&gt;
 End Function&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Wikipedia:Technik/Text|Excel2Wiki]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Xf01213</name></author>
	</entry>
</feed>