MS-Office-Forum

MS-Office-Forum (https://www.ms-office-forum.net/forum/index.php)
-   Microsoft Excel (https://www.ms-office-forum.net/forum/forumdisplay.php?f=29)
-   -   Abfrage wenn ein Buchstabe eingetragen wird (https://www.ms-office-forum.net/forum/showthread.php?t=348483)

SARCux 03.01.2018 14:42

Abfrage wenn ein Buchstabe eingetragen wird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin und frohes Neues in die Runde.

Ist es machbar beim eintragen eines bestimmten Buchstabens, das eine Abfrage kommt ob eine Woche oder zwei Wochen und dann wie in der beigefügten Datei der Erste Tag mit E die darauffolgenden mit B und der letzte mit A gekennzeichnet werden?
Würde mir so das manuelle eintragen erleichtern.
Habe schon alles probiert, aber leider klappt es einfach nicht..
Würde mich über eine Hilfe eurerseits freuen.

Dank im Voraus

aloys78 03.01.2018 15:39

Hallo,
Zitat:

Ist es machbar beim eintragen eines bestimmten Buchstabens,
Was ist das für ein Buchstabe und wo wird er konkret eingetragen ?
Zitat:

das eine Abfrage kommt ob eine Woche oder zwei Wochen
Das geht mit VBA !
Startet E immer am Freitag ?

Wie kommen die F's in die Tabelle ?
Gilt es gleichermaßen für Sp C und D ?
Zitat:

Habe schon alles probiert
Interessehalber - was zum Beispiel ?

Gruß
Aloys

SARCux 03.01.2018 15:52

Zitat:

von aloys78 (Beitrag 1847254)
Was ist das für ein Buchstabe und wo wird er konkret eingetragen ?

So wie in der beigefügten Datei in der entsprechenden Zelle

Zitat:

von aloys78 (Beitrag 1847254)
Das geht mit VBA !
Startet E immer am Freitag ?

Ja, immer Freitags

Zitat:

von aloys78 (Beitrag 1847254)
Wie kommen die F's in die Tabelle ?
Gilt es gleichermaßen für Sp C und D ?

Die F´s werden manuell eingetragen

Zitat:

von aloys78 (Beitrag 1847254)
Interessehalber - was zum Beispiel ?

mit Makro aufzeichnen, aber das scheint nicht zu funktionieren, oder ich mache einen Fehler.

aloys78 03.01.2018 17:16

Hallo,

mein Vorschlag:
Code:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Long, c As Long
    Dim LRow As Long
    Dim n As Long
   
' check Eingabe
    LRow = Cells(Rows.Count, "A").End(xlUp).Row
    If Intersect(Target, Range("C3:D" & LRow)) Is Nothing Then Exit Sub
    If Target.CountLarge > 1 Then Exit Sub
    r = Target.Row
    c = Target.Column
    If Target <> "E" Then
        MsgBox "Falsches Startzeichen !", vbExclamation
        Exit Sub
    ElseIf Weekday(Range("B" & r), 2) <> 5 Then
        MsgBox "Wochenzyklus muss mit Freitag beginnen !", vbExclamation
        Exit Sub
    End If
   
' Anzahl Wochen erfassen
    Dim strMeldung As String, strTitel As Variant
    Dim swf As Boolean
    Dim strVorschlag As Variant, strAntwort As Variant
    strTitel = "Eingabe Wochenzahl"
    strMeldung = "Anzahl Wochen 1 oder 2 eingeben "
    strVorschlag = 1
    Do
        swf = False
        strAntwort = Application.InputBox(strMeldung, strTitel, strVorschlag, Type:=1)
        If VarType(strAntwort) = vbBoolean And strAntwort = False Then Exit Sub
        If Trim(strAntwort) = "" Or (strAntwort <> 1 And strAntwort <> 2) Then
            MsgBox "Bitte Anzahl Wochen 1 oder 2 eingeben !", vbExclamation
            swf = True
        End If
    Loop While swf = True
   
' Woche(n) füllen
    n = IIf(strAntwort = 1, 6, 13)
    Application.EnableEvents = False
    For r = Target.Row + 1 To Target.Row + n
        Cells(r, c) = "B"
    Next r
    Cells(r, c) = "A"
    Application.EnableEvents = True
End Sub

Gruß
Aloys

SARCux 03.01.2018 17:52

So hatte ich mir das vorgestellt.

Super, vielen vielen Dank


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.