Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
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

Zellen verbinden, formel erweitern, kopieren Makro

Zellen verbinden, formel erweitern, kopieren Makro
20.02.2015 14:06:14
Dusan
Hallo VBA Profis,
da ich hier immer geile Hilfestellung von netten Leuten bekommen habe, wende ich mich wieder an euch mit einer Aufgabe, die ich mir selbst gestellt habe, um mir einige Sachen zu erleichtern.
Wie das Titel des Thema sagt, es geht um Manipulation von Zellen, Formel und Inhalt der Zellen durch Makro. Hier habe ich eine Datei um euch leichter zu erklären, was ich vor habe:
https://www.herber.de/bbs/user/95896.xlsx
Wie ihr im Blatt "Anfang" sieht, habe ich eine Tabelle mit einigen Spalten und Zeilen. Für diese Tabelle gilt:
1. Tabelle fängt immer ab Zeile 4, bzw. Inhalt ab Zeile 5.
2. Beriech Spalte 1 - Spalte 9 steht auch immer in dieser Reihenfolge.
3. In der Splate 1 sind immer in jeder Zeile Werte vorhanden.
4. In der Spalte 4 sind immer für jede Gruppe spezifische Texte vorhanden.
5. In Spalten 6 - 9 sind immer nur Werte in erster Zeile einer Gruppe.
Blatt "Ende" zeigt, wie die Tabelle nach der Manipulation durch Buttons (Form 1, Form 2, Form 3 und Form 4) aussehen soll. Also, die Buttons soll durch Makro folgendes tun:
Form 1: alle die zu einer Gruppe gehörende Zellen in der Spalte 6 verbinden und Wert von erster Zelle dieser Gruppe in der Spalte 6 übernehmen. Spricht, quasi das gleiche, wenn man ein paar Zellen markiert und auf "Verbinden und zentrieren" klickt. Nur, dass soll automatisch für alle Zellen in dieser Spalte erfolgen. Wie im Blatt zu sehen ist.
Form 2 und Form 3 Buttons sollen das gleiche für Zellen in Spalten 7 und 8 tun.
Form 4 Button soll auch wie Form 1 funktionieren, aber dazu soll es noch Summenformel, welche in der ersten Zelle der Gruppe steht, so erweitern, dass alle Werte aus Zellen der Spalten 1 dieser Gruppe zusammenaddiert werden.
Das Button "Copy" soll folgendes machen:
Wenn Zelle E5 markiert wird, sollen durch klicken auf "Copy" Texte "Text 11", "Text 12" und "Text 13", also alle Texte der Spalte 4 der Gruppe in welcher Zelle markiert ist, zusammenaddiert werden und in die Zelle C9 des Blattes "Auswertung" kopiert werden.
Da ich VBA nur nebenbei lerne und im VBA experementiere, ist diese Aufgabe für mich kaum lösbar. Ich werde trozdem selber versuchen, hier was zu bastelln. Wenn mir eine/r dabei hilft, werde ich sehr dankbar.
Schöne Grüße
Dusan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen verbinden, formel erweitern, kopieren Makro
20.02.2015 14:36:52
Dusan
Hallo,
nach kurzer Rechersche und Bastellarbeit habe ich schon ein Code für "Copy" Button gemacht:

Sub zusammenaddieren()
Dim rng As Range
Dim strTexte As String
For Each rng In Selection
strTexte = strTexte & " " & rng.Value
Next
Sheets("Auswertung").Cells(9, 3).Value = strTexte
End Sub
Diesen habe ich im Codefenster des Blattes "Ende" drinnen und ich habe ihn dem Button "Copy" zugewissen. Man muss halt das Bereich, welches zusammen addiert wird, markieren, aber für Anfang gebe ich mich damit zufrieden. Oder hat eine die perfekte Version schon? :)

Anzeige
AW: Zellen verbinden, formel erweitern, kopieren Makro
23.02.2015 10:25:59
Dusan
Hallo zusammen,
Zellen verbinden habe ich fast gelöst. Ich habe nur ein kleines Problem, bei welchem ich nicht durchblicke. Hier der Code:
Sub form_1()
Dim loLetzte, loStart, loStart1 As Long
Dim rngZ As Range
loStart = 5
'letzte beschriebene Zeile im Blatt
loLetzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For loStart1 = loStart To loLetzte
'nächste gefüllte Zelle in der Spalte G
Set rngZ = ActiveSheet.Cells(loStart, 7).Resize(Rows.Count - loStart).Find("*")
If rngZ Is Nothing Then
Range(Cells(loStart, 7), Cells(loLetzte, 7)).MergeCells = True
Exit For
Else
'Zellen verbinden
Range(Cells(loStart, 7), Cells(rngZ.Row - 1, 7)).MergeCells = True
loStart = rngZ.Row
End If
Next loStart1
End Sub
und die Datei:
https://www.herber.de/bbs/user/95921.xlsm
Wie ihr in der Datei sehen könnt, werden bei letzter Aktion des Makros Zellen G16 bis G19 verbunden, obwohl es eingetlich G17 bis G19 sein sollten. Hier verstehe ich nicht wieso? Es wird immer der letzte Wert mit vorletztem überschrieben. Was mache ich falsch?
Anzeige

354 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige