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

Hilfe bei Ausgabe verbundener Zellen

Hilfe bei Ausgabe verbundener Zellen
13.12.2018 12:20:25
Jana
Hallo zusammen,
ich habe folgendes Problem:
In dem angehängten Beispiel könnt ihr sehen, dass ich einen Kalender in Excel habe, in dem ich durch verbinden von Zellen angebe, für welchen Zeitraum eine Wohnung von einer Person belegt ist.
Nun möchte ich in einer anderen Spalte ausgegeben bekommen, welche Person für wie lange in einer Wohnung lebt.
Ich habe es bisher durch ein Makro geschafft, dass durch anklicken einer Zelle der Zeitraum von, bis in jeweils einer Spalte ausgegeben werden.
(Ich musste eine Unterscheidung von verbunden oder nicht verbunden machen, da bei nicht verbundenen Zellen ein Tag draufgerechnet werden muss)
Aber ich möchte nun dass das Makro automatisch erkennt welche Zellen mit Namen ausgefüllt sind und mir all diese Namen untereinander ausgibt + den jeweiligen Zeitraum von,bis.
Also z.B.
Name1 in S1, Von1 in T1, Bis1 in U1
Name2 in S2, Von2 in T2, Bis2 in U2
usw.
Leider bin ich damit völlig überfordet und hoffe hier Hilfe zu finden :)
Vielen Dank und liebe Grüße
Jana
https://www.herber.de/bbs/user/126073.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code
13.12.2018 12:50:53
Fennek
Hallo Jana,
für die Beispieldatei geht:

Sub F_en()
Dim C As Range
Dim RDate As Range
Set RDate = Range("E1:P11")
For Each C In RDate.SpecialCells(xlCellTypeConstants)
If Not IsEmpty(Cells(C.Row, 1)) Then
With C.MergeArea
If .Address  Alt Then
Anf = Cells(1, .Cells(1).Column)
Ede = Cells(1, .Cells(.Cells.Count).Column)
i = i + 1
Sheets(2).Cells(i, 1).Resize(, 3) = Split(C.Cells(1).Value & "|" & Anf & "|" &  _
Ede, "|")
End If
Alt = .Address
End With
End If
Next C
Set rdata = Nothing
End Sub
Für die Originaldatei muss der Range "RDate" angepasst werden.
Es wird immer eine Auswertung für den aktuellen Stand gerechnet und in Sheet(2) angezeigt. Der Code kommt in ein allgemeines Modul.
mfg
Anzeige
Dein bisheriges Pgm war auch nicht ganz ...
13.12.2018 14:22:04
Luc:-?
…richtig, Jana,
da der PgmTeil für unverbundene Zellen immer durchlaufen wird und dann das Ergebnis verfälscht. Diesem Teil muss also ein Else vorangestellt wdn und das End If gehört dann an den Schluss (nach diesem Teil). Das ergäbe dann ein vollständiges If … Then … Else … End If-Konstrukt.
Hierbei kann auch schon der Name ergänzt wdn; im VbZellenTeil so: Range("S3") = Target.Cells(1)
Und im anderen dann so: Range("S3") = Target oder auch genauso wie im ersten.
Feedback nicht unerwünscht! Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige