Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1500to1504
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

verbundene Zellen, Anzahl ermitteln

verbundene Zellen, Anzahl ermitteln
02.07.2016 00:46:46
Michael
Hallo liebes Forum,
ich habe eine Frage und hoffe, dass diese jemand von euch beantworten kann. Ich bin gerade dabei, mit Excel eine Schichteinteilung für die Arbeit zu erstellen. Eine Schichtdauer wird mit einer verbundenen Zelle dargestellt.
Mein Makro sucht alle verbundenen Zellen im vorgegebenen Bereich und soll, wenn eine verbundene Zelle gefunden wurde die Anzahl der Zellen in diese schreiben.
So weit bin ich bisher gekommen:
Sub Verbundene_Zellen_suchen_und_jeweilige_Anzahl_ermitteln()
Dim rngZelle As Range
For Each rngZelle In Range("B4:Z78")
If rngZelle.MergeCells Then
'hier soll die Anzahl der verbundenen Zellen ermittelt werden
'und der Wert in die Zelle geschrieben werden
End If
Next rngZelle
End Sub

Ich bedanke mich für eure Hilfe und bin mir sicher, dass jemand eine Lösung weiß.
Viele Grüße
Michael

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verbundene Zellen, Anzahl ermitteln
02.07.2016 07:42:53
Beverly
Hi Michael,
meinst du so etwas:
Sub Verbundene_Zellen_suchen_und_jeweilige_Anzahl_ermitteln()
Dim rngZelle As Range
Dim lngZaehler As Long
For Each rngZelle In Range("B4:Z78")
If rngZelle.MergeCells Then
'hier soll die Anzahl der verbundenen Zellen ermittelt werden
lngZaehler = lngZaehler + 1
End If
Next rngZelle
'und der Wert in die Zelle geschrieben werden
Range("B2") = lngZaehler
End Sub


AW: verbundene Zellen, Anzahl ermitteln
02.07.2016 09:18:08
Luschi
Hallo Michael,
Karins Code zählt, wiviele Zellen sich in 'verbundenen Zellen' befinden.
Ich habe diesen Code deshalb ein bischen abgeändert:

Sub Verbundene_Zellen_suchen_und_jeweilige_Anzahl_ermitteln()
Dim rngZelle As Range, rngUnion As Range, rngTest As Range
Dim lngZaehler As Long
For Each rngZelle In Range("B3:Z78")
If rngZelle.MergeCells Then
If rngUnion Is Nothing Then
lngZaehler = lngZaehler + 1
Set rngUnion = rngZelle.MergeArea
Else
Set rngTest = Application.Intersect(rngUnion, rngZelle)
If rngTest Is Nothing Then
lngZaehler = lngZaehler + 1
Set rngUnion = Application.Union(rngUnion, rngZelle.MergeArea)
End If
End If
End If
Next rngZelle
'und der Wert in die Zelle geschrieben werden
Range("B2") = lngZaehler
MsgBox "Anzahl der verbundenen Zellen: " & lngZaehler, vbSystemModal + 48, "zur Info..."
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
verbundene Zellen/Zellbereiche, Anzahl ermitteln
02.07.2016 10:08:57
Beverly
Hi Michael,
hier noch eine Möglichkeit, sowohl die verbundenen Bereiche als auch die Anzahl Zellen zu ermitteln:
Sub Verbundene_Bereiche_und_Zellen_zaehlen()
Dim rngZelle As Range
Dim lngBereiche As Long
Dim lngZellen As Long
Dim strBereich As String
For Each rngZelle In Range("B4:Z78")
If rngZelle.MergeCells Then
lngZellen = lngZellen + 1
If InStr(strBereich, rngZelle.MergeArea.Address) = 0 Then
'hier soll die Anzahl der verbundenen Bereiche ermittelt werden
'und der Wert in die Zelle geschrieben werden
rngZelle = rngZelle.MergeArea.Cells.Count
strBereich = strBereich & "," & rngZelle.MergeArea.Address
lngBereiche = lngBereiche + 1
End If
End If
Next rngZelle
MsgBox "In den " & lngBereiche & " verbundenen Bereichen: " & vbLf & Mid(strBereich, 2) _
& vbLf & "insgesamt " & lngZellen & " Zellen"
End Sub

Anzahl der Zellen wird in den jeweiligen verbundenen Zellbereich geschrieben. Zellbereiche und Gesamtanzahl der Zellen wird in einer MsgBox auseggeben.


Anzeige
AW: verbundene Zellen/Zellbereiche, Anzahl ermitteln
02.07.2016 20:51:52
Luschi
Hallo Karin,
warum sowas: If InStr(strBereich, rngZelle.MergeArea.Address) = 0 Then
Vba nähert sich stark einem objekt-orientierten Datenmodell und da sollten Rangebereiche als Objekt und nicht als String-Adresse behandelt werden.
Ich ahne es schon, denn es wird die Frage folgen:
- wie kann ich die verbundenen Zellen in allen WorkSheets der entsprechenden Arbeitsmappe
  ermitteln.
Und da braucht man Objekte und nicht Adressen von Objekten.
Gruß von Luschi
aus klein-Paris

AW: verbundene Zellen, Anzahl ermitteln
02.07.2016 07:56:47
Hajo_Zi
Hallo Michael,
Option Explicit
Sub Verbundene_Zellen_suchen_und_jeweilige_Anzahl_ermitteln()
Dim rngZelle As Range
For Each rngZelle In Range("B4:Z78")
If rngZelle.MergeCells Then
If WorksheetFunction.CountIf(Range(rngZelle.MergeArea.Address), "") = rngZelle. _
MergeArea.Count Then
rngZelle = rngZelle.MergeArea.Count
End If
'hier soll die Anzahl der verbundenen Zellen ermittelt werden
'und der Wert in die Zelle geschrieben werden
End If
Next rngZelle
End Sub

Anzeige
AW: verbundene Zellen, Anzahl ermitteln
02.07.2016 12:29:22
Michael
Problem gelöst!
Vielen Dank für eure schnellen Antworten.
Viele Grüße
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige