MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 03.01.2018, 16:46   #1
mc_east
Neuer Benutzer
Neuer Benutzer
Standard Excel 2013 - Zellen "ins Verhältnis setzen"

Hallo Zusammen!

Folgendes Problem: Ich möchte den Wert einer Zelle (Bsp. A1) mit 12 Multiplizieren. Das Ergebnis soll in einer anderen Zelle (Bsp. A2) angezeit werden.

Also =A1*12

Wenn ich nun aber von Hand A2 ändere, möchte ich dass die neue Zahl in A2 durch 12 geteilt und das Ergebnis in A1 angezeigt wird.

Ich möchte die zwei Zellen quasi in Verhältnis um den Faktor X (hier 12) setzen.

Irgendwie bekomme ich das nicht auf die Kette...

Hoffe auf Hilfe

Viele Grüße
mc_east ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2018, 16:51   #2
Klaus-Dieter
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,

so etwas geht allenfalls mit einem Makro. Da gab es hier, wie ich meine, erst kürzlich einen Beitrag.

__________________


Viele Grüße Klaus-Dieter

Klaus-Dieter's Excel und VBA Seite
Klaus-Dieter ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2018, 16:53   #3
Hajo_Zi
MOF Guru
MOF Guru
Standard

starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Code:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Address = "$A$1" Then
        Target.Offset(1, 0) = Target * 12
    ElseIf Target.Address = "$A$2" Then
        Target.Offset(-1, 0) = Target / 12
    End If
    Application.EnableEvents = True
End Sub
GrußformelHomepage

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Hajo_Zi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2018, 18:36   #4
mc_east
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Erstmal danke für die Antworten!

So ganz funktioniert das noch nicht.
Erstmal habe ich es geschafft, mein erstes Makro einzufügen Aber es zeigt die Werte noch in falschen Zellen an.
Abgeänderte habe ich es wie folgt:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$C$3" Then
Target.Offset(1, 0) = Target * 12
ElseIf Target.Address = "$D$3" Then
Target.Offset(-1, 0) = Target / 12
End If
Application.EnableEvents = True
End Sub

Spalte C3 soll der Monatswert sein, D3 der Jahreswert.
Gebe ich etwas in C3 ein, erscheint der Wert mit 12 multipliziert in C4.
Gebe ich etwas in D3 ein, erscheint der Wert mit 12 dividiert in D2.

Vielen Dank und viele Grüße :-)
mc_east ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2018, 04:33   #5
Hajo_Zi
MOF Guru
MOF Guru
Standard

Ich erstelle die Lösung für das was im Beitrag dargestellt wurde.
Wird diese Darstellung geändert, überlasse ich anderen die Lösung, da ich schon eine Lösung erstellt hatte und dafür Zeit investiert habe.
Ich arbeite nicht für den Papierkorb.

Gruß Hajo

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Hajo_Zi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2018, 11:42   #6
erpe
MOF Profi
MOF Profi
Standard

Hallo,

@Hajo_Zi: In der Zeit, in der du den Textbaustein einfügst, hättest du mc_east auch auf die OFFSET-Eigenschaft hinweisen können.
Eigentlich beschämend deine 2. Antwort nach mehr als 14.700 Beiträgen.
Manchmal habe ich den Eindruck, du willst nur die Anzahl deiner Beiträge pimpen.

@mc_east: leider hast du nicht geschrieben, wo die Daten endgültig stehen sollen.

Gehe in den Code, klicke in Offset, drücke F1, lese und verstehe!
Ändere den Code entsprechend!

Gruß
Rainer
erpe ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2018, 19:16   #7
mc_east
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Wenn ich das gewusst hätte, hätte ich es direkt geschrieben. Ich wusste nicht, dass dafür extra ein Makro erstellt werden muss. Bis gestern wusste ich noch nicht mal, dass es Makro's gibt.

@erpe: Es sind die Zellen wie in meinem letzten Post, C3 und D3. Mit der F1 Hilfe habe ich ca. 50% des Textes verstanden, was aber gereicht hat, um den Code passend zu ändern:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$C$3" Then
Target.Offset(0, 1) = Target * 12
ElseIf Target.Address = "$D$3" Then
Target.Offset(0, -1) = Target / 12
End If
Application.EnableEvents = True
End Sub



Nun klappt es.
Was muss ich tun, wenn ich dies für weitere Zellen übernehmen möchte?
Kopiere ich den Code nochmals darunter und ändere die Zellen, erscheint beim Eingeben eines Wertes in einer Zelle eine Fehlermeldung:

Fehler beim Kompilieren:

Mehrdeutiger Name: Worksheet_Change

Vielen Dank

Geändert von mc_east (04.01.2018 um 19:19 Uhr).
mc_east ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2018, 23:05   #8
erpe
MOF Profi
MOF Profi
Standard

Hallo,
aller Anfang ist nicht leicht.

Den kompletten Code brauchst du nicht zu wiederholen: siehe die Fehlermeldung "Mehrdeutiger Name: Worksheet_Change"

Für weitere Zellen brauchst du nur diese Zeilen zu kopieren und anzupassen.
Code:

ElseIf Target.Address = "$D$3" Then
Target.Offset(-1, 0) = Target / 12
Z.B. in D3 schreibst du deinen neuen Wert und eine Zeile nach oben versetzt (-1) in der gleichen Spalte (0) wird das Ergebnis deiner Berechnung (Eingabe/12) eingetragen.

Gruß
Rainer
erpe ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 05.01.2018, 20:10   #9
mc_east
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hmm, klappt irgendwie nicht ganz.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$C$3" Then
Target.Offset(0, 1) = Target * 12
ElseIf Target.Address = "$D$3" Then
Target.Offset(0, -1) = Target / 12
ElseIf Target.Address = "$D$3" Then
Target.Offset(-1, 0) = Target / 12
End If
Application.EnableEvents = True
End Sub


So sieht es dann aus. Ändert sich aber nix.

Vielleicht hab ich mich auch falsch ausgedrückt: So wie es oben steht passt es für dieses Zellen. Ich möchte jetzt aber, dass in den Zellen
C4 & D4
L3 & M3
L4 & M4
L6 & M6
E4 & G4
E5 & G5

das gleiche wie in den oben genannten passiert.

Vielen Dank

Gruß

Geändert von mc_east (05.01.2018 um 20:16 Uhr).
mc_east ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2018, 07:25   #10
erpe
MOF Profi
MOF Profi
Standard

Hallo,

du bist hier Neuling. Ok.

Zuerst stellst du deine Frage.
Du bekommst 2 Lösungen.
Dann willst du eine Änderung.
Wieder bekommst du einen Hinweis zur Lösung.
Nachfrage deinerseits.
Wieder ein Hinweis in welcher Richtung du weitersuchen/probieren solltest.

Und jetzt: Hmm, klappt irgendwie nicht ganz.
Schau dir deinen Code an. Genau an.
Und nun kommst du mit einer Erweiterung.
Wo bleibt dein Einsatz?


Der Sinn von Hilfe-Foren ist Hilfe zur Selbsthilfe!
Google kennst du? Bücher auch? Taste F1 ist bekannt?

Gruß
Rainer

Geändert von erpe (07.01.2018 um 08:32 Uhr).
erpe ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.01.2018, 17:53   #11
mc_east
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Ich stelle eine Frage. Formuliert in einer allgemeingültigen Fragestellung, da ich nicht wusste, dass man das ganze mit einem Makro lösen muss. Schließlich schrieb ich auch "(Bsp. A1)".

Erhalten habe ich eine Lösung, keine zwei.

Diese habe ich versucht selbst für meine Zellen umzuändern (Mein Einsatz). Habe es aber nicht ganz geschafft, daher nochmal nachgefragt.

Dann hat alles gepasst.

Nun ein neues Problem: Ich versuche es selbst zu lösen, in dem ich den Code abändere, den Code mehrfach einfüge, neue Module erstelle oder auch Google zu helfe ziehe: "excel mehrere makros einfügen", aber komme selbst nicht auf die Lösung.

Daher bitte ich nochmal um Hilfe für mein neues Problem.
Hierrauf erhalte ich eine Antwort, die ich leider nicht ganz verstehe, daher frage ich nochmal nach.


So funktionieren im Regelfall alle Foren in den ich unterwegs bin, egal ob Technik, Motorrad, IT, Sport etc. Völlig Problemfrei.

Wo also das Problem liegt verstehe ich nicht ganz.
mc_east ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:09 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

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

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.