Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro: Jahr plus 1

Makro: Jahr plus 1
13.01.2015 15:48:01
Dieter(Drummer)
Guten Tag, Spezialisten.
Im aktiven Sheet steht in A4 eine Jahreszahl (nur das Jahr, 4stellig). Diese Jahreszahl soll per Makro um ein Jahr erhöht werden.
Ich bekomme es mit meinem Makro nicht hin:
  • Sub JahrPlus() Dim year As Date year = Range("A4").Value Range("A4").Value = year + 1 End Sub

  • Freue mich, wenn ich Hilfe bekomme.
    Gruß, Dieter(Drummer

    28
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Makro: Jahr plus 1
    13.01.2015 15:53:55
    UweD
    Hallo
    in deinem Code
    Dim year As Integer
    
    oder so.
    Range("A4").Value = Range("A4").Value + 1
    
    Gruß UweD

    AW: Danke UweD. Klappt prima
    13.01.2015 15:59:45
    Dieer(Drummer)
    Hi UweD,
    habe mich für diese Variante entschieden: Range("A4").Value = Range("A4").Value + 1.
    Es klappt prima.
    Danke und Gruß,
    Dieter(Drummer)

    AW:Änderung in nicht aktivierter Tabelle
    13.01.2015 17:08:01
    Dieter(Drummer)
    Hi UweD,
    kannst Du mir auch noch den Hinweis geben, wie dieses Makro sein muss, dammit die Änderung in der ncht aktiven Tabelle gemacht wird. Die Tabelle soll dabei NICHT aktiviert werden. So geht es bei mir nicht:
    
    Sub JahrPlus()
    Range("A4").Value = Range("Stammdaten!A4").Value + 1
    End Sub
    


    Würde mich auf eine Lösung freuen.
    Gruß, Dieter(Drummer)

    Anzeige
    Worksheets("Stammdaten").Range("A4").value
    13.01.2015 17:18:36
    Matthias
    Hallo Dieter
    damit die Änderung in der nicht aktiven Tabelle gemacht wird
    Worksheets("Stammdaten").Range("A4").Value=Range("A4").Value + 1
    
    Ich bin mir nicht sicher ob Du das richtig beschrieben hast und es evtl andersrum willst
    Gruß Matthias

    AW: Nicht ganz, Matthias ...
    13.01.2015 17:33:06
    Dieter(Drummer)
    erstmal Danek für's drum kümmern.
    Das klappt schon ganz gut, NUR in der Zelle szeht eine Jahreszahl (NUR Jahreszahl) und jtzt wird dann nur eine 1 eingetragen. Es soll aber eien Jahr hochgesetzt werden, also wen doer 2013 steht, soll dann 2014 drin sein.
    Geht das noch?
    Gruß, Dieter(Drummer)

    Anzeige
    was steht denn wirklich in der Zelle?
    13.01.2015 17:40:17
    Matthias
    Hallo
    Steht ein Datum in der Zelle das so formatiert ist, das nur die Jahreszahl zu sehen ist
    oder steht da nur z.B. 2013 in der Zelle?
    Das mach nämlich einen Unterschied, Dieter!
    Gruß Matthias

    AW: In der Zelle steht, z.B. 2014
    13.01.2015 17:42:42
    Dieter(Drummer)
    und ist mit JJJJ formatiert.
    Gruß, Dieter(Drummer)

    dann steht nicht 2014 drin! Du siehst nur 2014
    13.01.2015 17:54:05
    Matthias
    Hallo
    Schau mal in die Bearbeitungsleiste, da steht garantiert ein Datum drin das nur mit "JJJJ" formatiert ist
    ist.
    Rechnest Du diese Datum +1 wird der nächste Tag ausgegeben!
    Du musst also das Jahr der in der Zelle stehende Daten um 1 addieren.
    Beispiel:
    In C5 steht der 14.01.2015 formatiert mit "JJJJ". Also sichtbar nur 2015
    Du musst also das Jahr um eins erhöhen.
     CD
    520152016

    Formeln der Tabelle
    ZelleFormel
    D5=DATUM(JAHR(C5)+1;MONAT(C5);TAG(C5))


    Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
    Gruß Matthias

    Anzeige
    AW: Es steht nur 2014 drin!
    13.01.2015 18:05:15
    Dieter(Drummer)
    ... und es habe nur das Jahr 2014 drin, als Datum mit Benutzer definiert, JJJJ formatiert. Dieses Jahr will ich per Makro um ein Jahr erhöhen, also 2014 auf 2015. Per Formel kriege ich das nich in VBA. und immer, wenn ich das Makro auslöse, soll das die Jahreszahl um ein Jahr erhöht werden.
    Kannst Du das noch machen?
    Gruß, Dieter(Drummer)

    AW: Es steht nur 2014 drin!
    13.01.2015 18:14:44
    Matthias
    Hallo
    Verstehe ich nicht!
    habe nur das Jahr 2014 drin, als Datum mit Benutzer definiert, JJJJ formatiert.
    Warum wenn da nur 2014 drin steht? Es steht die Ganzzahl(2014) in der Zelle?
    Wenn Du nur die Jahreszahl in der Zelle hast dann lass das Format auf Standard
    Dann reicht doch auch Range("C4")+1
    Gruß Matthias

    Anzeige
    AW: Das verstehe ich, aber
    13.01.2015 18:18:57
    Dieter(Drummer)
    wie bekomme ich das jetzt in mein Makro eingesetzt?
    So habe ich's probiertund geht aber nicht:
    
    Sub JahrPlus()
    Worksheets("Stammdaten").Range("A4").Value = year(CDate(Range("A4"))) + 1
    End Sub
    

    Danke für Deine Geduld, evtl. kannst Du das ja noch hinkriegen.
    Gruß, Dieter(Drummer)

    schau meine Frage von 18:14:44
    13.01.2015 18:39:30
    18:14:44
    Hallo
    Schau meine Frage von 18:14:44
    Ich erwarte dort noch eine Antwort, sonst hat es keinen Sinn weiter zu machen.
    Wenn Du dort antwortest, brauchst Du hier nicht mehr zu antworten.
    Gruß Matthias

    Anzeige
    AW: Antwort
    13.01.2015 18:56:06
    Dieter(Drummer)
    Hi Matthias L,
    da hatte ich wohl Deine Frage übersehen. Sorry.
    Ich habe die Zelle jetzt auf Standard gesetzt und es isr nur die Zahl 2013 drin.
    Wenn ich jetzt mein Makro aktiviere, bricht es ab:
    
    Sub JahrPlus()
    Worksheets("Stammdaten").Range ("A4") + 1
    End Sub
    

    Da ist wohl in der Schreibweise etwas falsch und ich bekomme es nicht hin.
    Wäre nett, wenn Du noch weiter hilfst.
    Gruß, Dieter(Drummer)

    AW: Antwort
    13.01.2015 19:07:08
    Matthias
    Hallo
    Option Explicit
    Sub JahrPlus()
    If IsNumeric(Range("A4")) Then
    Worksheets("Stammdaten").Range("A4") = Range("A4") + 1
    End If
    End Sub
    
    Gruß Matthias

    Anzeige
    AW: Nun schreibt das Makro eine 1
    13.01.2015 19:15:33
    Dieter(Drummer)
    Tut mir Leid, Matthias, dass es nicht klappt.
    Bei Makroaufruf wird nun eine 1 in die Zelle gechrieben, obwohl 2013 drin steht, müsset jtzt 2014 sein und das Format auf Standard steht. Ich verstehe es nicht.
    Ich kann verstehen, wenn Du nicht weiter helfen möchtest. Danke für Deine bisherige Hilfe.
    Gruß, Dieter(Drummer)

    lad die 2 Blätter aus der Mappe als Datei hoch
    13.01.2015 19:21:10
    Matthias
    Hallo
    Du machst sicher irgendwo einen Fehler, wahrscheinlich in Deiner Beschreibung.
    Lösch also bitte alle Blätter , bis auf Stammdaten und die Tabelle in der 2013 drinsteht.
    Lass aber die Formate so wie sie sind!
    Alle anderen Daten kannst Du löschen.
    Gruß Matthias

    Anzeige
    VBA - Projekt ist geschützt !
    13.01.2015 19:42:46
    Matthias
    Hallo
    Das VBA - Projekt ist geschützt!
    So kann ich Dir aber nicht helfen.
    Gruß Matthias

    nicht neu hochladen, nur PW mitteilen ! owT
    13.01.2015 19:45:38
    Matthias

    AW: Habe PW entfernt und ist jetzt frei
    13.01.2015 19:52:02
    Dieter(Drummer)
    PW konnte ich nicht angeben, da es noch anderweitig benutzt wird.
    https://www.herber.de/bbs/user/94977.xlsm
    Gruß, Dieter(Drummer)

    A4 ist aber leer, also 0 das heißt 0 +1 = 1
    13.01.2015 20:11:17
    Matthias
    Hallo
    Was soll das?
    A4 ist leer, also 0 das heißt 0 + 1
    Das ist nun mal 1
    Also korrekt.
    Wenn Du in A4 2013 schreibst, dann das Makro startest steht dannach in "Stammdaten!A4" 2014
    Es klappt doch alles, ich verstehe nun Dein Problem wirklich nicht mehr.
    Gruß Matthias

    Anzeige
    AW: NEIN, ist nicht leer!
    13.01.2015 20:19:13
    Dieter(Drummer)
    Hi Matthias,
    in der Tabelle "Stammdaten", in A4 steht 2013 und wenn das makro läuft, muss in der Tabelle "Stammdaten" 2014 stehen!
    So muss es sein. Da liegt wohl das Problem.
    Geht das noch?
    Gruß, Dieter(Drummer)

    ok, dann so ...
    13.01.2015 20:43:18
    Matthias
    Hallo
    Option Explicit
    Sub JahrPlus()
    With Worksheets("Stammdaten")
    If IsNumeric(.Range("A4")) Then
    .Range("A4") = .Range("A4") + 1
    End If
    End With
    End Sub
    
    Gruß Matthias

    AW:Tausend Dank für Deine Geduld. Jetzt OK!
    13.01.2015 20:53:42
    DieterDrummer)
    Danke Matthias L,
    ich hatte mich wohl undeutliche Angaben gemacht.
    Jetzt klappt es prima!
    Noch einen schöen Abend und nochmal Danke.
    Gruß, Dieter(Drummer)

    Anzeige
    Gerne ;-) owT
    13.01.2015 20:58:10
    Matthias

    OT: VBA-Passwort
    14.01.2015 10:24:08
    Klaus
    Hallo Dieter,
    zu deiner Info: ein versierter Benutzer bekommt das VBA-Passwort aus deiner Datei innerhalb von wenigen Minuten im Klartext ausgelesen. Das bedeutet: ein VBA-geschütztes Excelsheet hochzuladen ist - aus Sicherheitssicht gesehen - gleichbedeutend mit dem veröffentlichen des Passwortes selbst.
    Je nachdem wie sensibel deine sonstigen Daten sind, müsstest du jetzt alle anderen Passwörter ändern.
    Grüße,
    Klaus M.vdT.

    AW: OT: VBA-Passwort
    14.01.2015 10:32:47
    Dieter(Drummer)
    Guten Morgen, Klaus M.vdT,
    Danke für den Hinweis und das war mir bekannt. Meine sensiblen Daten sind mit einem anderen PW geschützt.
    Gruß und einen schönen Tag,
    Dieter(Drummer)

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige