Office: Adressierungsschlüssel

Helfe beim Thema Adressierungsschlüssel in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo erstmal, hab mich hir im Forum gerade erst registriert. Ich hab mal eine Frage an euch, und hoffe auch auf eine Antwort :P Ich habe folgende... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von dani89, 27. Oktober 2009.

  1. dani89 Neuer User

    Adressierungsschlüssel


    Hallo erstmal,
    hab mich hir im Forum gerade erst registriert.
    Ich hab mal eine Frage an euch, und hoffe auch auf eine Antwort :P

    Ich habe folgende Tabelle:
    Adressierungsschlüssel [​IMG]
    In den Spalten A- AD gebe ich einzelne Zeichen ein (Teils Zahlen Teils Buchstaben), und in den Zeilen AE und AF wird dann daraus ein Adressierungsschlüssel erstellt.
    Ich hab nun die Fragen:

    - Ist es möglich das man die Zellen der Spalten A-AD so Formatiert das nur EIN Zeichen in jede Zelle Passt, und sollte ich ein Zeichen einfügen Excell automatisch in die nächste Zelle springt (ohne das ich Tab drücken muss.) ?

    - Ist es auch möglich die Zellen so zu Formatieren das jeder Buchstabe nur in den Spalten A- AD groß Geschrieben wird ? (Umschalttaste geht nicht da ich ja auch Zahlen einfügen muss)

    Ich hoffe jemand von Euch kann mir die zwei Fragen beantworten, und ich würde mich über eine Antwort sehr freuen. :)

    MfG Daniela @-->---
     
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo daniela,

    benutze Daten, Gültigkeit, das wird aber erst nach Enter geprüft.

    Gruß Hajo
     
    Hajo_Zi, 27. Oktober 2009
    #2
  3. dani89 Neuer User
    Hallo Hajo,
    danke für die schnelle Antwort (sehr sehr schnelle Antwort :) ),
    aber ich bin wie mein Status zeigt eine Excell neuling(in).
    Und mit Daten, Gültigkeit kann ich leider nichts anfangen :P.
    Für welches meiner Probleme wäre das denn die Lösung ?

    Gruß Daniela
     
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Adressierungsschlüssel

    Hallo Daniela,

    für die Zeichenlänge.
    Es gibt ein Register Daten, da die Befehlsgruppe Datentolls und dort den Schalter Datenüberprüfung.

    Gruß hajo
     
    Hajo_Zi, 27. Oktober 2009
    #4
  5. miriki Erfahrener User
    Das geht, wie Hajo ja schon schrieb, über die Gültigkeitsüberprüfung von Excel, allerdings erst nach der Eingabe, also wenn man die Zelle verläßt und zur nächsten wechselt.
    Das wiederum gestaltet sich eine ganze Ecke schwieriger. Dafür müßte es per VBA (also das "Visual Basic for Applications", die Programmiersprache hinter Excel) die Möglichkeit geben, einen Tastendruck abzufangen, zu analysieren und entsprechende Aktionen auszuführen.

    Leider fehlt in der normalen Arbeitsmappe und auch dem einzelnen Arbeitsblatt ein Ereignis, was sich dazu verwenden läßt. (Für Steuerelemente gibt es Ereignisse wie z.B. "KeyDown", "KeyPress" und "KeyUp").
    Das andererseits geht, wenn man das Ereignis "Change" benutzt, um nach der Eingabe den Zellinhalt von Klein- auf Groß-Buchstaben zu wechseln.

    In dem Moment könnte man dort auch eine entsprechende Überprüfung der Gültigkeit machen, wenn man das nicht eh schon über "Daten - Gültugkeit" gemacht hat.

    Aber vielleicht ein anderer Ansatz: Werden die Zeichen in A..AD in einer Folge eingegeben, oder stückchenweise, mal hier einer, mal dort?

    Wenn es in einem Stück wäre und kein Return notwendig sein soll, dann vielleicht:

    Füge vor Spalte A noch eine Spalte ein und laß dort die komplette Sequenz in einer Zelle eingeben. In den Spalten B..AE könntest Du dann mit der TEIL()-Funktion die einzelnen Zeichen aus der Gesamt-Eingabe herausschneiden und dann je nach Gusto weiter damit arbeiten.

    Dann ließe sich über das "Change"-Ereignis recht simpel die Eingabe in Spalte A überprüfen und anpassen (z.B. Großbuchstaben).

    Code:
    B1: =wenn(länge($a1)=30;teil($a1;spalte()-1;1);"-")
    Diese Formel dann von B1 bis AE1 kopieren (ziehen).

    Wenn die komplette 30-Zeichen-Sequenz aber nicht "am Stück" eingegeben wird, dann ist's damit auch Essig...

    Gruß, Michael
     
  6. Exl121150 Erfahrener User
    Hallo Daniela,

    nachfolgendes VBA-Makro macht Folgendes im Zellbereich A:AD:
    In eine Zelle können zwar mehrere Zeichen eingegeben werden; wird jedoch die Eingabe-Taste gedrückt, bleibt nur das 1. dieser Zeichen in der Zelle erhalten. Falls es ein Kleinbuchstabe a..z ist, wird dieser in einen Großbuchstaben A..Z umgewandelt.
    Handelt es sich bei diesem 1. Zeichen um eine Buchstaben A..Z oder eine Ziffer 0..9, springt die aktive Zelle um eine Spalte nach rechts, sonst bleibt die aktive Zelle dort, wo sie gerade steht.

    außerhalb des Bereiches A:AD verhält sich die Arbeitsblatt-Eingabe ganz normal.


    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
      Dim Zl%, Sp%, Ch$
      With Target
        Zl = .Row: Sp = .Column
        If Zl > 9 And Sp < 31 Then 'Spalten A:AD ab Zeile 10
          On Error GoTo Err_WS_Change
          Application.EnableEvents = False
          Ch$ = UCase(Left(.Value, 1))
          .Value = Ch$
          If Ch$ Like "[A-Za-z0-9]" Then
            .Offset(0, 1).Select
          Else
            .Select
          End If
    Err_WS_Change:
          Application.EnableEvents = True
        Else 'Spalten AE:...
          Application.EnableEvents = True
        End If
      End With
    End Sub
    
    Zur Installation des Makros:
    1) Markiere obiges Makro mit der Maus, drücke die Tastenkombination Strg+C, um es in die Zwischenablage zu kopieren.
    2) Wechsle zurück in Dein Excel-Arbeitsblatt
    3) Drücke die Tastenkombination Alt+F11, sodass sich der VBA-Editor öffnet.
    4) Drücke die Tastenkombination Strg+R, damit sich der Projekt-Explorer öffnet (falls er nicht schon geöffnet ist).
    5) Im Projekt-Explorer ist eine Liste zu sehen mit einem fetten Eintrag "VBAProject (....)", in der nächsten Zeile gibt es den Eintrag "Microsoft Excel Objekte", darunter "DieseArbeitsmappe" und dann folgen je 1 Eintrag für jedes Arbeitsblatt, zB. "Tabelle1 (....)" usw.
    Auf dasjenige Arbeitsblatt, in dem Du Deine Spezialfunktionalität haben willst, machst Du einen Doppelklick, sodass sich ein großes Fenster öffnet für den VBA-Code dieses Arbeitsblattes.
    6) In diesem Fenster drückst Du die Tastenkombination Strg+V, um das Makro dort aus der Zwischenablage einzufügen.
    7) Wechsle wieder zurück in Dein Excel-Arbeitsblatt - und damit ist die Spezialfunktionalität installiert und zwar nur in diesem Blatt.

    EDIT:
    Ich habe an Deinem Minibild des Arbeitsblattes gesehen, dass das Ganze erst ab Zeile 10 funktionieren soll. Diese Änderung habe ich jetzt noch nachträglich in der obigen Makrovariante eingebaut.
     
    Exl121150, 30. Oktober 2009
    #6
Thema:

Adressierungsschlüssel

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden