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.

Excel-VBA - Zellen verbinden wenn...
#1
Hallo,

ich bastel gerade an einem Excel-Formular mit VBA. Ich weiß, dass man auf Select verzichten soll, aber ich bin nicht so fit mit VBA.

Es ist so, dass ich 7 verbundene Zellbereiche habe, nennen wir sie C1 bis C7.
In einem Makro sollen die Zellen jeweils wieder getrennt und danach wieder entsprechend verbunden werden.

Ich habe folgende 2 Makros:

Code:
Public Sub CellNotEmpty()
   Dim msg As String
   msg = MsgBox("Zelle ist nicht leer!" & vbCrLf & "Fortfahren und aktuellen Eintrag überschreiben?", vbYesNo, "")
   If msg = vbYes Then
   Selection.ClearContents
   With Selection
   .MergeCells = False
   End With
   'wenn erste Zelle aktiv, sollen Zellen wieder verbunden werden!!!
Else
   Exit Sub
   End If
End Sub

Public Sub ClearCells()
   Dim msg As String
   msg = MsgBox("Soll das Merkmal gelöscht werden?", vbYesNo, "")
   If msg = vbYes Then
   Selection.ClearContents
   With Selection
   .MergeCells = False
   End With
   'wenn erste Zelle aktiv, sollen Zellen wieder verbunden werden!!!
   End If
End Sub
 
Wie gesagt, aufgrund von Unwissen arbeite ich mit Selection, selektiert ist eines von den oben genannten Zellverbunden.
Nachdem nun die Zellen getrennt und die Inhalte gelöscht wurden, soll nun genau dort wieder verbunden werden, wo die Selektion ist. Wäre sicher kein Problem.
Möchte aber nicht für jeden Verbund ein eigenes Makro erstellen und sichergehen. dass auch wirklich genau die definierten Zellen in dem Bereich verbunden werden, der auch wirklich aktiv ist (C1 oder C2, etc...).

Kann da jemand helfen?
Antwortento top
#2
Hallöchen,

lasse Dir Deinen Ablauf mal durch den Kopf gehen:
- Makro Starten
- Sicherheitsfrage
- löschen
- verbundenen Zellen auflösen
- Verbund wiederherstellen

Zum einen passt die Reihenfolge nicht zur Beschreibung, wo Du ja erst den Verbund auflösen willst und dann die Inhalte löschen, zum anderen brauchst Du den Verbund dazu nicht aufzuheben.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • visible
Antwortento top
#3
Hi,

unabhängig von Tipps zu deinem Makro: lass dir den (guten) Rat geben und verzichte auf verbundene Zellen. Diese bereiten mehr Probleme als dass sie nützlich sind. Lies dir dazu mal diesen Beitrag https://www.clever-excel-forum.de/Thread...oder-Segen durch.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm,
wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Benutzer sagt Danke an WillWissen für diesen Beitrag:
  • visible
Antwortento top
#4
Hi,

danke für die Antworten. Das Layout, welches ich aufgebaut habe, ist ohne verbundene Zellen nicht schön hinzubekommen, denke ich.
Löschen und neu verbinden hat auch den Hintergrund, dass der Zellverbund auch inhaltlich noch eine weitere Variante erhalten wird. Dann wird der Zellverbund geteilt in insgesamt drei Verbünde.
Ich möchte sicherstellen, dass auch in diesem Fall ein Löschen aller Inhalte möglich ist.

Gerne nehme ich auch andere Ideen auf, ich bastel ja nur Schritt für Schritt zusammen und bin mir sehr sicher, dass es viel besser gehen würde, wenn ich das Wissen dazu hätte. Smile
Antwortento top
#5
Moin!
Zeige mal die Datei!
Was ich so "zwischen den Zeilen" lese, sollte man eher mittels Vorlagendatei (.xltx oder .xltm) lösen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antwortento top
#6
Moin,

Zitat:ich bastel ja nur Schritt für Schritt zusammen und bin mir sehr sicher, dass es viel besser gehen würde, wenn ich das Wissen dazu hätte.

das entsprechende Wissen sich anzueignen ist lediglich eine Sache des Wollens. Wink

Ich kenne deine Datei nicht; deine Bemerkung, dass ein "schönes Layout" ohne verbundene Zellen nicht hinzubekommen ist, lässt aber auf einen suboptimalen Aufbau schließen. Du solltest deine Datei als Liste, in der du deine Daten plan eingibst, aufbauen, dann kannst du sie auch ordentlich auswerten; die Auswertung, mit der in der Regel nicht weitergearbeitet wird, ist dann für allerlei Zierde und Verschönerung offen. Hierzu noch etwas Lesestoff: https://www.online-excel.de/excel/singsel.php?f=52
Gruß Günter
Jeder Fehler erscheint unglaublich dumm,
wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Benutzer sagt Danke an WillWissen für diesen Beitrag:
  • visible
Antwortento top
#7
Moin Günter!

Aus der Threaderöffnung:
Zitat:ich bastel gerade an einem Excel-Formular mit VBA.

Da interessieren verbundene Zellen eher weniger, die lassen sich problemlos ansprechen!
Ich bin ja eher dankbar, dass hier kein Userform vergewaltigt wird.
(siehe auch den aktuellen Endlos-Thread in diesem Forum)

Ein gespannt auf die Datei wartender
Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Benutzer sagt Danke an RPP63 für diesen Beitrag:
  • visible
Antwortento top
#8
Ok, Leute.

Anbei das nicht fertige Dokument. Das ist Gefrickel und ich habe das alles zusammengesucht. Ich möchte zunächst, dass es funktioniert. Dann kann ich noch immer optimieren. So mein Gedanke. Ich kann mich wohl gut reindenken. Bitte wegen dem Dokument nicht lachen, ich mache das nicht beruflich, sondern bin einfach ein Freak, der einfach etwas realisieren möchte.

PS: Tatsächlich sind es Userformen, die hier verwendet werden und vielleicht sogar vergewaltigt, denn ich weiß nicht, was damit gemeint ist Smile.
Antwortento top
#9
Du hast vergessen, Attachment hinzufügen anzuklicken.
In einem Userform gibt es keine verbundenen Zellen.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Benutzer sagt Danke an RPP63 für diesen Beitrag:
  • visible
Antwortento top
#10
Hm, hatte ich doch...

aber ich versuche es nochmal. Nein, ich verwende eine Userform (lese aber gerade, dass es vielleicht auch einfacher geht), die hat selbst natürlich keine verbundenen Zellen.

Edit: Ahja, der Button zum Einfügen ist mir untergegangen, sorry.


Angehängte Dateien
.xlsm   Test-Dokument.xlsm (Größe: 73,87 KB / Downloads: 7)
Antwortento top


Gehe zu:


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