Autor
|
Thema: Zellen Syncronisieren (811 mal gelesen)
|
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 10. Nov. 2016 17:57 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, habe folgende Vorstellung die ich nicht hinbekomme. Ich möchte beispielsweise auf einem Tabellenblatt in mehreren Zellen den gleichen Wert haben was einfach ist. Aber meine Wunschvorstellung ist wenn ich beispielsweise in Zelle A1 einen Wert eingebe, dass dieser sagen wir mal in Zelle B1 und C1 ersichtlich ist und in auch in jeder der 3 Zellen geändert werden kann, so dass die anderen ebenso aktualisiert werden. Geht das irgendwie? Gruss Ruedi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
scoubie Mitglied Techniker
Beiträge: 384 Registriert: 26.07.2010 Systeminfo: siehe Signatur
|
erstellt am: 10. Nov. 2016 18:54 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Servus Ruedi, gib den Wert (z.B. 150) bei A1 ein. Bei B1 & C1 schreibst Du "=A1" (ohne Anführungszeichen). Ändere nun den Wert auf 200. B1 und C1 werden automatisch geändert. ------------------ Mit freundlichen Grüßen Martin ____________________________ Systeminfo: [Windows 7 64bit, 8GB RAM, NVIDIA Quadro FX2800M 1GB] | [SolidWorks 2014 SP5.0] | [DraftSight Professional 2016 SP2] | [SpaceClaim 2015 SP0] | [SolidEdge ST6] | [Onshape] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 10. Nov. 2016 19:02 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Einmalig nur mit eingeschalter Iterativer Berechnung & vorbelegter Formel B1 =A1 C1 =B2 A1 =C3 (die nach Zelleingabe logischerweise weg ist) Naja, sinnvoll ist sicherlich was anderes Per Vba Im Tabellenblatt Code: Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Intersect(Target, Range("A1:C1")) Is Nothing Then Exit SubApplication.EnableEvents = False Range("A1:C1") = Target.Value Application.EnableEvents = True End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 10. Nov. 2016 19:29 <-- editieren / zitieren --> Unities abgeben:
|
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 10. Nov. 2016 19:34 <-- editieren / zitieren --> Unities abgeben:
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 11. Nov. 2016 18:29 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Deine Exceldatei starten Alt & F11 VBAProjekt (Mappe blabla) / Doppelklick auf deine Tabelle in der der Code ausgeführt werden soll C&P des Codes Das Macro reagiert wenn sich einer der Zellen A1:C1 ändert (change)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 13. Nov. 2016 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Hi Ruedi, hier noch eine VBA-Variante, welche in die nicht angesprochenen Zellen eine Formel einträgt, die sich jeweils auf die Eingabezelle bezieht Code: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target.Cells(1), Range("A1:C1")) Is Nothing Then Application.EnableEvents = False Select Case Target.Cells(1).Address(False, False) Case "A1" Range(Target.Cells(1).Offset(0, 1), Target.Cells(1).Offset(0, 2)).Formula = "=" & Target.Cells(1).Address Case "B1" Union(Target.Cells(1).Offset(0, -1), Target.Cells(1).Offset(0, 1)).Formula = "=" & Target.Cells(1).Address Case "C1" Range(Target.Cells(1).Offset(0, -2), Target.Cells(1).Offset(0, -1)).Formula = "=" & Target.Cells(1).Address End Select Application.EnableEvents = True End If End Sub
------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 13. Nov. 2016 10:35 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Zitat: Original erstellt von Beverly: Hi Ruedi, hier noch eine VBA-Variante, welche in die nicht angesprochenen Zellen eine Formel einträgt, die sich jeweils auf die Eingabezelle bezieht
des macht kann sinn und der code ist immens umständlich.... ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 394 Registriert: 11.08.2007
|
erstellt am: 14. Nov. 2016 09:23 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Zitat: Original erstellt von Bernd P: des macht kann sinn und der code ist immens umständlich....
Nur wer keinen Sinn darin finden WILL findet auch keinen. Und ich lasse mich gerne eines besseren belehren, wenn du den Code so umschreibst dass er "nicht umständlich" ist aber genau dasselbe macht.
------------------ Bis später, Karin [Diese Nachricht wurde von Beverly am 14. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Nov. 2016 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001
|
erstellt am: 14. Nov. 2016 20:53 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Servus, eine Formel umständlich mit Offset einzutragen wenn "Range("A1:C1") = Target.Value" das zu 100% abdeckt, es ist einfach leichter zu ändern und zu erweitern. Oder so?
Code: Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Intersect(Target, Range("A1:C10")) Is Nothing Then Exit Sub Application.EnableEvents = False Range("A1") = Target.Value Range("B1:C1") = "=$A$1" Application.EnableEvents = True End Sub
------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. [Diese Nachricht wurde von Bernd P am 14. Nov. 2016 editiert.] [Diese Nachricht wurde von Bernd P am 14. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 15. Nov. 2016 09:42 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Sorry für meine späte Reaktion und besten Dank für eure Antworten sprich Hilfestellungen. Leider muss ich sagen bin nicht der grosse VBA Spezialist, daher mache ich wahrscheinlich etwas falsch mit euren Makros. Bin folgendermassen vorgegangen, habe per Makro Rekorder ein fake Makro erstellt danach eure VBA’s eingefügt. Leider stoppen alle Makros mit Fehlermeldung was ist falsch? Siehe Beispielsdatei mit den Makros im Anhang. Gruss Ruedi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 15. Nov. 2016 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Servus, Die Makros müssen in die Tabelle in der sie Arbeiten sollen, nicht in ein Modul. Und nicht alle 3 Makros in eine Tabelle sondern getrennt.
------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. Schöne Grüsse aus der Steiermark Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008
|
erstellt am: 15. Nov. 2016 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Hallo Rudi, Zitat: was ist falsch?
eigentlich hat Thomas schon die perfekte Beschreibung geliefert wie: Deine Exceldatei starten Alt & F11 VBAProjekt (Mappe blabla) / Doppelklick auf deine Tabelle in der der Code ausgeführt werden soll C&P des Codes Das Macro reagiert wenn sich einer der Zellen A1:C1 ändert (change) ------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 15. Nov. 2016 11:32 <-- editieren / zitieren --> Unities abgeben:
|
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008 Civil 3D 2018.1 Civil 3D 2016 64 Bit SP 3 mit DACH und Extensions W7 Professional 64Bit HP Z440 Intel Xeon CPU E5-1620 v4 32 GB RAM NVIDIA Quadro P4000
|
erstellt am: 15. Nov. 2016 11:40 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
Oh Mann, nochmal: 1. Du öffnest Deine Exceldatei 2. Du drückst die Tasten ALT und F11 gleichzeitig, damit sich der VBA-Editor öffnet 3. Doppelklick auf die Tabelle im VBA-Editor 4. den Code per Copy und Paste einfügen speichern fertig
------------------ mfg Roman Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 15. Nov. 2016 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
|
RL13 Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Bauwesen
Beiträge: 2373 Registriert: 23.10.2008
|
erstellt am: 15. Nov. 2016 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für h-ruedi
|
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 15. Nov. 2016 12:03 <-- editieren / zitieren --> Unities abgeben:
|
h-ruedi Mitglied
Beiträge: 21 Registriert: 23.01.2005
|
erstellt am: 15. Nov. 2016 12:13 <-- editieren / zitieren --> Unities abgeben:
|