Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Inhalt verbundener Zellen in Abhängigkeit ändern

Inhalt verbundener Zellen in Abhängigkeit ändern
01.02.2017 23:42:41
bassi2008
Guten Abend liebe Exceler.
Ich habe heut ein Problem welches mit denkbar ungünstigsten Vorraussetzungen zu tun hat.
Wie die Überschrift schon verrät - verbundene Zellen.
Ich weiß - eine Totsünde... aber in diesem Fall nicht zu umgehen, da durch die Übernahme/Übergabe aus/in anderen Dateien vorgegeben.
Was soll passieren?
Aus Datei1 werden Daten nach G3 und H3 empfangen.
G3 ist eine Bezeichnung (4Stellige Zahl).
H3 ist eine Anzahl (bis 2stellige Zahl).
Mehr nicht. Es kommen mit jeder Aktualisierung aus Datei1 nur diese beiden Dinge.
Aus Datei2 werden Daten (eine sich in Länge und Aufteilung verändernde Liste) nach Spalte O und P empfangen.
O ist die Bezeichnung.
P die Anzahl.
Es stehen also ganz viele Bezeichnungen und deren Anzahl nun auf dem Blatt.
Jetz soll verglichen werden, ob die die Daten welche aus Datei1 kamen mit denen aus Datei2 übereinstimmen.
Stimmen diese nicht, soll die Anzahl in der Liste aus Datei2 korrigiert werden.
Diese wird dann wieder an Datei2 geschickt...
Das Problem:
Die Spalte P - also jene welche die Anzahl wiedergibt, und die es eben zu aktualisieren gilt, enthält verbundene Zellen.
Es entsteht also die Situation, dass in der Spalte O (die Bezeichnungen) z.B. 4 Stück neben einer einzigen Zahl (Anzahl) stehen.
Ich ändere also, wenn die Bezeichnung zu einer VerbundenenZellenGruppe gehört, immer gleich die Anzahl für mehrere Bezeichnungen.
Das soll so sein. Ist so gewünscht.
Jetzt kommt aber der Haken.
Die Formatierung der verbundenen Zellen kann sich mit jeder neuen Datenübernahme ändern.
Auch die Länge der Liste ist unterschiedlich.
Man kann sich also kein festes Formelgerüst bauen (mir fällt jedenfalls keines ein was sich dem anpassen kann) um die Formatierung und damit die korrekte Zuordnung zu überwachen.
Wahrscheinlich müsste das über VBA laufen - so dieses dazu in der Lage ist...
Da ich weiß, dass ich recht umständlich erklären kann, habe ich eine Beispieldatei gebaut. Vielleicht ist das verständlicher dann...
https://www.herber.de/bbs/user/111076.xlsx
Viele Grüße
bassi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Inhalt verbundener Zellen in Abhängigkeit ändern
02.02.2017 15:44:56
Michael
Hi bassi,
versuch's mal damit:
Sub machs()
Dim c As Range
Set c = Range("O:O").Find(Range("G3").Value, , xlValues, xlWhole)
If Not c Is Nothing Then
Set c = c.Offset(, 1)
c.MergeArea(1).Value = Range("H3").Value
Else
msgbox "Begriff nicht gefunden."
End If
End Sub

Schöne Grüße,
Michael
Naja, in diesem Forum ist die reine Verwendung ...
02.02.2017 18:16:56
Luc:-?
…von Verbundzellen weder eine Todsünde noch wirst du dafür totgeschlagen, bassi, ;-]
sondern es kommt darauf an, wofür die dienen, was dann damit gemacht wdn soll und natürlich welcher Typ das ist, d.h., wie sie entstanden sind. Letzteres kann man an deinem Bsp ja erkennen → klassisch oder aus HTML-Übernahme.
Im Prinzip ist das mit einer speziellen ZellFml ein Klacks, falls das auch im Original so simpel ist, d.h. nur ein Wertepaar für die Korrektur. Im Folgenden wird aber der Einfachheit halber immer korrigiert, wenn eine gültige Bezeichnung angegeben wurde. Ebenso auch bei genereller Neuberechnung des Blattes (und evtl auch der Mappe).
Ich benutze hierfür eine UDF, die eine SubProzedur evaluiert, so dass eine gewisse physische Ent­kopplung der Sende­Aktion von der UDF gewähr­leistet ist (würde sonst nicht fktio­nieren!). Sobald etwas in Zellen G3:H3 eingetragen wird, wird die Fml in bspw I3 aktiv und überträgt H3 an die Einzel- bzw 1.Zelle der Verbund­Zelle in Spalte P, zu der die Zelle aus Spalte O, in der G3 gefunden wird, gehört. Die dazu­gehörigen kleinen Pro­gramme hatte ich bereits vor Jahren geschrieben und für den Aufbau einer selbst­korri­gieren­den Eingabe­Zelle (im Archiv!) benutzt. Wg der Spezifik deiner Problematik habe ich sie nun auch auf (klassische) Verbund­Zellen erweitert:
I3:=SendTo(INDEX(P3:P147;VERGLEICH(G3;O3:O147;0));H3)
Option Explicit
Public actState As Boolean
Rem Senden von ZellInhalt per ZellFml an andere Zelle
'   Vs2.0 -LSr -cd:20170202(Neufass) -1pub:20170202h -lupd:20170202t
Function SendTo(ZBereich, QBereich) As Boolean
actState = TypeName(ZBereich) = "Range" And TypeName(QBereich) = "Range"
If actState Then Evaluate "Sent(" & QBereich.Address & "," & ZBereich.Address & ")"
SendTo = actState
End Function
Sub Sent(Von As Range, Nach As Range)
actState = Not (Von Is Nothing Or Nach Is Nothing)
If actState Then
If Nach.MergeCells Then Set Nach = Nach.MergeArea.Cells(1)
actState = True: Nach.Value = Von.Value
End If
End Sub
Die angebliche Todsünde zeigt erst bei dem Auswirkungen, was auf der Grundlage der 2.Datei gemacht wdn soll. Aber das entzieht sich ja (glück­licher­weise) unserer Kenntnis und ist damit dein Problem… ;-]
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
jawoll... danke :-)
02.02.2017 22:51:02
bassi2008
Guten Abend Michael, Guten Abend Luc.
Herzlichen Dank für Eure Hilfe.
Michaels Variante funktioniert wie angedacht. Super. So hab ich mir das vorgestellt.
Lucs Variante ist ja quasi ein Selbstläufer... auf diese Weise kann ich das ja noch ganz anders aufbauen. Da fallen mir ja wieder Sachen ein... :-D
Das muss ich mir erstmal durch den Kopf gehen lassen.
Besten Dank nochmal.
Viele Grüße
bassi
Aber bitte nicht übertreiben, denn so etwas ...
03.02.2017 01:40:43
Luc:-?
…ist ZellFmln eigentlich verboten und fktioniert nur wg Evaluate, das diese (absichtliche!) Sperre umgeht, bassi… ;-)
Luc :-?

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige