Automatisches Übertragen mehrerer Felder

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Automatisches Übertragen mehrerer Felder
von: Stefan
Geschrieben am: 14.11.2003 23:10:24

Hallo zusammen,

folgene Frage:

Ich habe eine Bilanzanalyseseite, in der der User Werte hinter einem beschrifteten Feld eingibt. Bsp. A1 "Eigenkapital" A2"500.000"

Jetzt möchte ich folgendes tun:

Wenn ein Wert in A2 eingebeben wurde (egal welcher, kann auch negativ sein) soll sowohl das Feld A1 als auch Feld A2 automatisch auf ein anderes Blatt in der gleichen Mappe kopiert werden.

Meine Idee war eine wenn-dann Funktion aber wie ?


Danke für die Hilfe

Gruß
Stefan

Bild


Betrifft: AW: Automatisches Übertragen mehrerer Felder
von: PeterW
Geschrieben am: 15.11.2003 00:24:36

Hallo Stefan,

das wäre eher eine Aufgabe für ein Worksheet_Change-Ereignis. Wie heißt die Tabelle, in der in A2 ein Wert eingegeben wird und in welche Tabelle (Name) soll der Wert übertragen werden? Wenn du selber probieren willst findest du Beispiele in der Excel-Recherche (siehe links).

Gruß
Peter


Bild


Betrifft: AW: Automatisches Übertragen mehrerer Felder
von: Stefan
Geschrieben am: 15.11.2003 11:53:45

Danke Peter für die erste Antwort.

Die Tabelle wo Werte eingefügt werden heisst "Bilanz" und die, in die kopiert werden soll "Strukturbilanz". Der Name der Datei wäre "Bilanzanalyse 1.xls".

Es wäre sehr nett, wenn Du mir hier noch weiter helfen könntest. Bin jetzt dabei im Forum unter Workshee_Change zu suchen, aber wahrscheinlich dauert die Erleuchtung noch einige Zeit.....

Gruß

Stefan


Bild


Betrifft: AW: Automatisches Übertragen mehrerer Felder
von: PeterW
Geschrieben am: 16.11.2003 17:40:35

Hallo Stefan,

du musst schon etwas genauer werden. Wohin in Blatt "Strukturbilanz" sollen die Werte übertragen werden; immer an die gleiche Position oder gelistet? Geht es immer nur um A1:A2 in "Bilanz"? Kann es vorkommen, dass A1 leer ist und wenn ja, was soll dann passieren?

Gruß
Peter


Bild


Betrifft: AW: Automatisches Übertragen mehrerer Felder
von: Stefan
Geschrieben am: 17.11.2003 00:02:05

Klar doch !!

Also, folgendes wäre optimal: Im Blatt "Bilanz" kann es etwa 10 verschiedene Felder geben, die "umstrukturiert" d.h. in "Strukturbilanz" umkopiert werden müssen. Es wäre natürlich genial, wenn ich diese selber definieren kann im Makro. Vielleicht gibt es so eine Art Schleife, die alle vorher definierten Felder abfragt. Es kann nämlich sein, dass es einen anderen Kontenrahmen gibt, und dann muss ich die zu verändernden Zellen evtl. umdefinieren. Wenn Du mir sagen kannst, wo ich die Werte verändern muss, ohne das ganze Makro zu zerstören, wäre ich happy.

In der Strukturbilanz müssen die Werte in verschiedene Zellen umgegliedert werden, d.h. eine Zelle in "Bilanz" in eine bestimmte Zelle "Strukturbilanz". (Auch hier kann es je nach Kontenrahmen eine Umdefinition geben.)

Wenn der Wert 0 ist, sollte keine Kopie erfolgen.

Zusammengefasst gesagt, ich muss im Makro Zellen in "Bilanz" definieren können , die an eine bestimmte Adresse in Strukturbilanz kopiert werden. Wenn der Wert 0 ist soll keine Kopie erfolgen.

Leider habe ich noch nicht allzu viele Problemdefinitionen geschrieben, ich hoffe es ist verständlich und klaut nicht Deine Zeit.

Danke
Stefan


Bild


Betrifft: AW: Automatisches Übertragen mehrerer Felder
von: PeterW
Geschrieben am: 17.11.2003 10:02:45

Hallo Stefan,

ein Makro macht nur Sinn, wenn es sich immer wieder um die gleichen Zellen/Zellbereiche handelt. Trotzdem hier mal ein Beispiel, wie ein Makro aussehen könnte. Statt den Code anzupassen würde ich eher für verschiedene Aufgabenstellungen verschiedene Eingabetabellen anlegen.

Sub Uebertragen()
  'Objektvariable dimensionieren
  Dim wksQ As Worksheet
  Dim wksZ As Worksheet
    'Variable zuweisen (um Tipparbeit zu sparen)
    Set wksQ = Worksheets("Bilanz")
    Set wksZ = Worksheets("Strukturbilanz")
    With wksQ
        'Prüfen ob alle nötigen Zellen gefüllt sind
        If WorksheetFunction.CountA(.Range("A5"), .Range("A7"), _
        .Range("A9")) = 3 Then
           'wenn gefüllt dann der Zieltabelle zuweisen
           .Range("A5") = wksQ.Range("B6")
           'und weiter für die anderen zu übertragenden Felder
        Else
           'sonst Fehlermeldung
           MsgBox "Es fehlen noch Angaben"
        End If
    End With
End Sub

Gruß
Peter


Bild


Betrifft: AW: Automatisches Übertragen mehrerer Felder
von: Stefan
Geschrieben am: 17.11.2003 13:04:37

DANKE !!!!

Vielen Dank Peter. Ich werde versuche, die Dein Makro einzubauen. Jetzt habe ich auf jeden Fall schon mal einen gangbaren Weg aus dem Dunkeln.


Nochmals
Danke

Gruß
Stefan


Bild

Beiträge aus den Excel-Beispielen zum Thema " Automatisches Übertragen mehrerer Felder"