Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

mit Makro Wert in neues Feld eintragen
#1
Hallo liebe Excel Experten,

folgendes Problem:
Ich habe ein wenig rumgebastelt und möchte das Excel zu einem Wert aus einem Feld bei jedem klick eins addiert und das ganze dann in ein anderes Feld schreibt.
Und beim nächsten klick auf das entsprechende Symbol das gleiche nur halt eine Zeile darunter.

Range("B3").Value = Range("B3").Value + 1      'zu Feld B3 eins addieren
Range("V1").Value = Range("B5").Value            'Wert aus B5 in V1 schreiben
Range("U1").Value = Range("B3").Value            'Wert aus B3 in U1 schreiben
Selection.Offset(1, 1).Select                                'eins nach unten und eins nach rechts


Er addiert und schreibt wie gewünscht, jedoch immer in das gleiche Feld. Die letzte Zeile das gewünschte Ziel eigtl bringen, aber dabei wird nur das markierte Feld verschoben.

Ich hoffe ich habe mich verständlich ausgedrückt und ihr könnt mir helfen
Antworten Top
#2
Hallo Patrik,

zu:
Zitat:Er addiert und schreibt wie gewünscht, jedoch immer in das gleiche Feld.

Ich hoffe, dass das Programm drei verschiedene Felder beschreibt.


zu:
Zitat:Und beim nächsten klick auf das entsprechende Symbol das gleiche nur halt eine Zeile darunter.
Warum schreibst du "Range("V1") =" wenn du doch eine Zeile tiefer schreiben willst?



Woran kann/soll das Programm erkennen, welche Zeile zuletzt beschrieben wurde?


Lade doch bitte zum besseren Verständnis eine Beispieldatei mit mindestens zwei Ergebniszeilen hoch.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#3
Hallöchen,

um zu erkennen, welche Zeile einer Spalte die letzte gefüllte Zeile ist, kann man z.B. für Spalte A (=1) folgenden Code benutzen:

Cells(Rows.Count, 1).End(xlUp).Row

Der Code hat lediglich mit Zeile 1 das Problem, dass er diese auch ausgibt, wenn sie leer ist. In der Regel stehen dort aber die Überschriften, deswegen funktioniert das auch meist.


In Deinem Beispiel angewendet würde das so aussehen:

Range("U" & Cells(Rows.Count, 21).End(xlUp).Row + 1).Value = Range("B3").Value

oder anders geschrieben

Cells(Cells(Rows.Count, 21).End(xlUp).Row, 21).Offset(1,).Value = ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Guten Morgen,

danke schauan genauso habe ich mir das vorgestellt.
Jetzt bin ich beruhigt... ;)
Eine schöne Woche wünsche ich euch
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste