Office: (Office 2007) Text per VBA in bestimmter Zelle erweitern

Helfe beim Thema Text per VBA in bestimmter Zelle erweitern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe folgendes vor: Alle Eingaben in den Zellen B3, B5, B8 und B13 sollen, falls klein geschrieben, nach Eingabe automatisch gross... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von WeT-Klb, 4. November 2017.

  1. WeT-Klb Erfahrener User

    Text per VBA in bestimmter Zelle erweitern


    Hallo,

    ich habe folgendes vor:

    Alle Eingaben in den Zellen B3, B5, B8 und B13 sollen, falls klein geschrieben, nach Eingabe automatisch gross geschrieben werden - das habe ich geschafft.

    Was ich aber ich hinbekomme:
    In Zelle C17 steht der Text "Verzögert auf: ". Ich will erreichen, daß wenn ein Datum entweder in die Zelle direkt oder über die Eingabeleiste oben eingetragen wird, der Text "Verzögert auf: 04.11.2017" erscheint.
    Wenn ich über die Leiste oben die Eintragung vornehme, wird ja automatisch das Datum hinter dem Text eingetragen.
    Bei Eingabe über die Zelle wird der Text jedoch überschrieben.

    Gibt es hierfür eine Lösung?

    Die entsprechende Datei habe ich angefügt.

    Gruß
    Werner
     
    WeT-Klb, 4. November 2017
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Werner,

    eine Möglichkeit:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Quelle: Frank Kabel; umgeschrieben und ergänzt 05.11.17
        If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Me.Range("B3:B9,B11:B14")) Is Nothing Then
            On Error GoTo CleanUp:
            With Target
                If .Value <> "" Then
                    Application.EnableEvents = False
                    .Value = UCase(.Value)
                End If
            End With
        End If
        If Target.Cells(1).Address(False, False) = "C17" Then
            On Error GoTo CleanUp:
            If IsDate(Target.Value) Then
                Application.EnableEvents = False
                Target = "Verzögert auf: " & Target
            End If
        End If
    CleanUp:
        Application.EnableEvents = True
    End Sub
    
    
    Bis später,
    Karin
     
    Beverly, 5. November 2017
    #2
  3. WeT-Klb Erfahrener User
    Super! Genauso hab ich mir das vorgestellt. Auch wenn ich das ganze Script nicht ganz verstehe, bin ich happy, daß Du mir geholfen hast.

    LG
    Werner
     
    WeT-Klb, 5. November 2017
    #3
  4. Beverly
    Beverly Erfahrener User

    Text per VBA in bestimmter Zelle erweitern

    Hi Werner,

    ich habe den Code mal mit ein paar Kommentaren versehen - vielleicht helfen sie dir ihn besser zu verstehen:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    'Quelle: Frank Kabel; umgeschrieben und ergänzt 05.11.17
        ' wenn mehrere Zellen selektiert dann beenden
        If Target.Cells.Count > 1 Then Exit Sub
        ' Eingabe erfolgte im Berich B3:B9 oder B11:B14
        If Not Intersect(Target, Me.Range("B3:B9,B11:B14")) Is Nothing Then
            ' Falls ein Fehler auftritt direkt zu CleanUp springen um Reaktion auf Eingabe wieder einzuschalten
            On Error GoTo CleanUp:
            ' bezogen auf die Eingabe
            With Target
                ' Eingabe ist nicht leer
                If .Value <> "" Then
                    ' Reaktion auf Eingabe abschalten
                    Application.EnableEvents = False
                    ' eingegebenen Inhalt in Großbuchstaben umwandeln
                    .Value = UCase(.Value)
                End If
            End With
        End If
        ' Eingabe erfolgte in C17
        If Target.Cells(1).Address(False, False) = "C17" Then
            ' Falls ein Fehler auftritt direkt zu CleanUp springen um Reaktion auf Eingabe wieder einzuschalten
            On Error GoTo CleanUp:
            ' Eingabe ist ein Datum
            If IsDate(Target.Value) Then
                ' Reaktion auf Eingabe abschalten
                Application.EnableEvents = False
                ' Zellinhalt ersetzen durch Text + Eingabe
                Target = "Verzögert auf: " & Target
            End If
        End If
    CleanUp:
        ' Reaktion auf Eingabe einschalten
        Application.EnableEvents = True
    End Sub
    
    
    Bis später,
    Karin
     
    Beverly, 5. November 2017
    #4
  5. WeT-Klb Erfahrener User
    Danke für deine Mühe. Ich hatte von der Überlegung her diesen Ansatz gedacht:

    "Wenn Länge von Zelle C17" <= "10" (05.11.2017 gleich 10 Stellen), dann C17 = "Verzögert auf: " & Zellinhalt von C17.
    Ansonsten C17 = "Verzögert auf: "

    Aber dein Ansatz ist noch besser.

    Gruß
    Werner
     
    Zuletzt bearbeitet: 5. November 2017
    WeT-Klb, 5. November 2017
    #5
Thema:

Text per VBA in bestimmter Zelle erweitern

Die Seite wird geladen...
  1. Text per VBA in bestimmter Zelle erweitern - Similar Threads - Text VBA bestimmter

  2. Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen

    in Microsoft Excel Hilfe
    Pluszeichen bei pos. Werten mit benutzerdef. Formaten in markiertem Bereich voranstellen: Hallo zusammen, ich habe folgendes Problem: Ich möchte in hunderten Tabellen bzw. tausenden Zellen positiven Werten ein "+"-Zeichen voranstellen (also z.B. "+0,4" statt "0,4") und würde das...
  3. Makro/VBA Text in Zahl umwandeln

    in Microsoft Excel Hilfe
    Makro/VBA Text in Zahl umwandeln: Hallo liebes Forum, ich habe eine Frage und bin bisher leider nicht so wirklich fündig geworden :oops: Aber ich bin mir sicher, dass ich hier Hilfe bekomme *;)* In meiner Arbeitsdatei sind...
  4. Zeile bei Bedingung in anderen Reiter kopieren

    in Microsoft Excel Hilfe
    Zeile bei Bedingung in anderen Reiter kopieren: Hallo zusammen, ich habe eine Excel Tabelle mit verschiedenen To Dos für mich. Jedes Mal, wenn ich eine Zeile in Spalte G als "done" markiere möchte ich, dass die komplette Zeile in einen anderen...
  5. verschiedenen Text in einer Zelle mit VBA darstellen

    in Microsoft Excel Hilfe
    verschiedenen Text in einer Zelle mit VBA darstellen: Hallo zusammen, ich bin blutiger VBA Anfänger und verzweifele gerade an folgender Problematik. Über eine UserForm möchte ich auswählen welchem Geschlecht die Mitarbeiter angehören. Ich habe also...
  6. TXT-Import brauchbar machen

    in Microsoft Excel Hilfe
    TXT-Import brauchbar machen: Hallo zusammen, mein Problem sieht wie folgt aus. In regelmäßigen Abständen erhalte ich Daten als txt, die in Excel importiert werden müssen. Das importierte Format kann nur mit sehr viel...
  7. Word Text Inhaltssteuerelement mit Excel VBA füllen

    in Microsoft Excel Hilfe
    Word Text Inhaltssteuerelement mit Excel VBA füllen: Hallo zusammen, ich möchte gerne in Word Inhaltsteuerelemente mit Excel VBA füllen. Leider erhalte ich immer die Fehlermeldung: Laufzeitfehler '5941' Das angeforderte Element ist nicht in der...
  8. VBA: Text in Aktiver Zelle finden

    in Microsoft Excel Hilfe
    VBA: Text in Aktiver Zelle finden: Hallo, ich suche nach einer einfachen Textzeile, die überprüft, ob ein bestimmtes Wort in der aktiven Zelle hinterlegt ist. Wie folgt geht das schon: If ActiveCell = "Textbeispiel" Then...
  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