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.

Szenario Wegschreiben
#1
Liebe Community,

bräuchte mal wieder professionellen VBA-Support :)

Ich benötige einen VBA-Code, der bestimmte Werte aus einem Tabellenblatt in ein anderes Tabellenblatt wegschreibt. Der Code soll berücksichtigen, dass die Ergebnisse immer in eine neue Zeile auf dem Zielblatt geschrieben werden. Am Ende wäre noch eine MsgBox mit dem Hinweis "Szenario1 gespeichert" bzw. "Szenario2 gespeichert" etc. grandios.  Sicherlich für euch total einfach, für mich aber ein große Hürde. Hoffe die Datei ist selbst erklärend.

Danke vorab für den Support :)

Stefan


Angehängte Dateien
.xlsx   SzenarioWegschreiben.xlsx (Größe: 9,82 KB / Downloads: 6)
Antworten Top
#2
Hi Stefan,

wenn Du den Makrorekorder startest und die Aktion ein Mal ausführst, dann den Rekorder beendest, dann hast Du schon mal ein Basis-Makro:
Code:
Option Explicit

Sub Übertragung_Punktwerte()
'
' Übertragung_Punktwerte Makro
'

'
    Sheets("Punktwerte").Select
    Range("D7:D12").Select
    Selection.Copy
    Sheets("DokuSzenario").Select
    Range("B3").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Sheets("Punktwerte").Select
    Range("D17:D22").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("DokuSzenario").Select
    Range("H3").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("B7").Select
End Sub

Diesen Code bereinigt und noch mit dem Szenario-Übertrag, der letzten belegten Zeile und der Messagebox versehen, sieht das Makro dann so aus:
Code:
Option Explicit

Sub Übertragung_Punktwerte()
   '
   ' Übertragung_Punktwerte Makro
   '
   Dim loLetzte As Long
   Dim Zeile As Long
   '
   loLetzte = Sheets("DokuSzenario").Cells(Rows.Count, 1).End(xlUp).Row        ' letzte belegte in Spalte A (1)
   Zeile = loLetzte + 1
  
   Sheets("Punktwerte").Range("B2").Copy Sheets("DokuSzenario").Range("A" & Zeile)
   Sheets("Punktwerte").Range("D7:D12").Copy
   Sheets("DokuSzenario").Range("B" & Zeile).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
       False, Transpose:=True
   Sheets("Punktwerte").Range("D17:D22").Copy
   Sheets("DokuSzenario").Range("H" & Zeile).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
       False, Transpose:=True
   MsgBox (Cells(3, 1) & " gespeichert!")
End Sub

Diesen Code startest Du dann mit einem Button.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • StevenBig
Antworten Top
#3
Hallo Stefan, 

für solche Anforderungen hat Exel (gefühlt schon immer) den Scenariomanager. (Jetzt unter "Daten">"Was wäre wenn Analysen")

Ich habe ihn seit Jahrzehnten Blush  nicht mehr genutzt, damals war er aber schon ganz verständlich.

Vorteile hierbei sind unter anderen:

1. du benötigst keine VBA-Kenntnisse
2. du kannst die Scenarien nach Änderung der Berechnung automatisch durchlaufen lassen
3. du brauchst dich nach erneutem Berechnen der Scenarien nicht um Löschen oder Überschreiben der alten Werte zu kümmern.
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.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • StevenBig
Antworten Top
#4
(13.12.2017, 20:21)Ego schrieb: Hallo Stefan, 

für solche Anforderungen hat Exel (gefühlt schon immer) den Scenariomanager. (Jetzt unter "Daten">"Was wäre wenn Analysen")

Ich habe ihn seit Jahrzehnten Blush  nicht mehr genutzt, damals war er aber schon ganz verständlich.

Vorteile hierbei sind unter anderen:

1. du benötigst keine VBA-Kenntnisse
2. du kannst die Scenarien nach Änderung der Berechnung automatisch durchlaufen lassen
3. du brauchst dich nach erneutem Berechnen der Scenarien nicht um Löschen oder Überschreiben der alten Werte zu kümmern.

Ich danke dir ! Genau das habe ich gesucht !
Antworten Top


Gehe zu:


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