Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel kürzen ??

Formel kürzen ?
21.07.2007 09:14:05
ZekA
Hallo,
Ich hab eine Formel A1 & "" & B2 & "" & C3 & "" & D4 ....
die formel habe ich in AA1 stehen.
Und wie mache ich dass die Leeren zellen in den Spalten nicht mit übertragen werden, also nur wenn eine Uhrzeit drinsteht.
Vielen Dank.

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

Betreff
Datum
Anwender
Anzeige
AW: Formel kürzen ?
21.07.2007 12:03:00
ingUR
Nein, @ZekA,
kürzen kann ich Dir die Zellenformel nicht. es sei denn Du würdest eine benutzerdefinierte Funktion einbinden.
Allerdings, vermag ich ide Bedeuteung der Teile & "" nicht zu erkennen. So, wie sie nun dastehen, können sie entfallen.
Um nun mit einer Zellenformel ohne VBA Einbindung Leerzellen zu bei der aneinanderkettung zu überspringen, kpnnte der erste Teil der Formel so aussehen:
 
 ABCDEF
112:00    12:00 13:00 15:00
2 13:00    
3      
4   15:00  
Formeln der Tabelle
F1 : =WENN(ISTLEER(A1);"";TEXT(A1;"hh:mm "))&WENN(ISTLEER(B2);"";TEXT(B2;"hh:mm "))&WENN(ISTLEER(C3);"";TEXT(C3;"hh:mm "))&WENN(ISTLEER(D4);"";TEXT(D4;"hh:mm "))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Eine benutzerdefinierte Funktion, als Standardmodul eingefügt, kann so geschreiben werden:
Function VerketteDiagonaleintraege() As String Dim c As Long, strInfo As String For c = 1 To 26 If Not IsEmpty(Cells(c, c)) Then If c > 1 Then strInfo = strInfo & " " strInfo = strInfo & Format(Cells(c, c), "hh:mm") End If Next c VerketteDiagonaleintraege = strInfo End Function

In AA1 ist die Zellenformel

=VerketteDiagonaleintraege()


einzutragen. Ihre Neuberechnung ist jedoch so durch die erneute Bestetätigung der Formel in der Zelle zu erzwingen.
Automatisieren könnte man die Aktualisierung, wenn man die Funktion in eine SUB-Prozedur umschreibt, die dann durch ein geeignetes Ereignis (Schaltflächebetätigung, Makro-Aufruf, Worsheet_Chance) aufgerufen und ausgeführt wird.
Gruß,
Uwe

Anzeige
AW: Benutzerdefinierte Funktion verbessert
21.07.2007 12:39:00
fcs
Hallo ZekA und Uwe,
die benutzerdefinierte Funktion kann man auch etwas anders aufbauen, so dass sie flexibel bezüglich Zellbereich ist und sich bei Wertänderungen auch automtisch aktualisiert.
Gruß
Franz

Function TextDiagonale(Zellbereich As Range) As String
'Wenn Zelle auf der Diagonale des Zellbereichs nicht leer, dann erfassen
Dim iSpalte%, iZeile%
For iZeile = 1 To Zellbereich.Rows.Count
iSpalte = iZeile
If iSpalte > Zellbereich.Columns.Count Then Exit For
If Zellbereich(iZeile, iSpalte)  "" Then
If TextDiagonale = "" Then
TextDiagonale = Zellbereich(iZeile, iSpalte).Text
Else
TextDiagonale = TextDiagonale & " " & Zellbereich(iZeile, iSpalte).Text
End If
End If
Next
End Function
Formel in Zelle:
=TextDiagonale(A1:Z26)


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige