Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel nur soweit wie Einträge vorhanden

Forumthread: Formel nur soweit wie Einträge vorhanden

Formel nur soweit wie Einträge vorhanden
16.05.2024 08:11:01
besserist
Hallo zusammen,

ich hab folgendes Problem und hoffe dass mir jemand helfen kann.

Ich vereinfache ein wenig, bitte nicht davon abweichen :)

Bsp.
Ich hab in Spalte A das Datum und in Spalte B die Uhrzeit, dies ziehe ich in Spalte C zusammen.

Nun schau ich auf einem anderen Blatt bis zu welcher Zeile Werte in C stehen und verwende die letzte Zelle in einem Makro.

Leider erkennt das Makro die Formel in Spalte C lang runter obwohl die Zellen ohne Werte über eine Wenn Formel leer sind.

Gibt es eine Möglichkeit , dass nur dann eine Formel in einer Zelle steht wenn in der Nachbarzelle ein Wert steht oder das das MAkro die Formel ignoriert und nur nach dem Wert schaut.

ich nutze
Range("B200").End(xlUp).Offset(0, 1).Select


Ich hoffe man versteht was ich meine .

VG
Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:14:30
Oberschlumpf
Hi,

na, Formel vielleicht so:
=WENN(nachbarzelle>"";DeineFormel;"")

Hilfts?

Ciao
Thorsten
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:27:15
besserist
Hi Thorsten,

leider nicht, die Zelle muss definitiv als leer vom MAkro angesehen werden, und solang eine Formel drin steht ist sie das eben nicht :(

Ich weiss, hört sich komisch an, aber vielleicht gibt es eine Lösung per VBA , keine Ahnung.

Trotzdem Danke!

VG
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:15:56
Oberschlumpf
haha..vergiss meine Idee, denn die hastdu ja selbst schon...schulligung, is für mich noch zu früh :-)
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:18:46
Oberschlumpf
Hi,

aber ich gebe ja nicht auf! ;-)

VBA:


If Range(???).Value > "" Then
'hier dein Code, der ausgeführt werden soll, wenn geprüfte Zelle - nicht - leer ist
End If

Anstelle von ??? musst du natürlich die Zelle(n) eintragen, die geprüft werden soll(en).

Ciao
Thorsten
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:32:03
{Boris}
Hi,

weshalb verwendest Du keine strukturierte Tabelle? Damit löst Du alle Probleme - und das ganz ohne VBA.

VG, Boris
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 13:45:47
besserist
Hi Boris,

kann ich nicht, die Datei ist mittlerweile riesig, dient zur Prod.-Plan Erstellung. Mit Importen aus SAP und diversen Makros und etlichen Verknüpfungen über mehrere Tabellenblätter.
Das war nur ein kleiner Part und mir wurde gut geholfen.

Danke!

VG
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:32:00
besserist
Hi Thorsten,

ja sowas,

dann muss per VBA folgende Formel eingesetzt werden. Bekomm ich im VBA aber nicht hin :(
=WENN(ISTTEXT(A3);TEXT(A3;"TTT  ") & ZEICHEN(10) & TEXT(B3;"hh:mm");"")


Die Prüfung mit Wenn kann ja dann entfallen :)

Uuuuund es muss für die ganze Spalte C lang runter funktionieren, nagut bis Zeile 200.


Geht das ,das wär super !

VG
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:39:27
Oberschlumpf
Hi,

jep, das sollte gehen, weil...mit VBA ne Formel in eine Zelle eintragen ist eigtl keine Kunst.

Versuch es mal so...


If Range(???).Value > "" Then
Range(???).FormulaLocal = "=TEXT(A3;" & Chr(34) & "TTT " & Chr(34) & ") & ZEICHEN(10) & TEXT(B3;" & Chr(34) & "hh:mm" & Chr(34) & ")"
End If


Wie gesagt: beachte, dass du das ??? austauschen musst.

Hilfts? Bei mir funktionierts.

Ciao
Thorsten
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 08:49:40
besserist
Thooorsten, das ist schon mal Mega!

Bekommst das noch hin, dass es Zelle B3:B200 prüft und in Spalte C3:C200 dann die Formel ausführt, dann haben wir's ;)


Danke schonmal!

VG
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:00:43
Oberschlumpf
nur, wenn DU per Upload eine Bsp-Datei mit genügend Bsp-Daten in den richtigen Zellen zeigst
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:29:43
schauan
Hallöchen,

hier mal schon die Theorie - im Prinzip
For iCnt = 3 To 200
If Cells(iCnt, 2).Value > "" Then Cells(iCnt, 3).FormulaLocal = ...
Next

1)
wobei man die Schleife auch gerne verlassen kann, wenn in B die erste leere Zelle gefunden wird
2)
allgemein - wobei man mit einer "intelligenten" Tabelle kein Makro braucht. Da wird eine durchgängige Formel beim nächsten neuen Eintrag mitgezogen

Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:37:56
besserist
schauan ;)

vielen Dank, mir wurde schon gut geholfen aber bin dankbar für jeden Tip.

VG Jörn
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:26:46
Oberschlumpf
Hi,

hier, teste mal
https://www.herber.de/bbs/user/169503.xlsm

Läuft, oder?

Ciao
Thorsten
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:37:56
BoskoBiati2
Hi,

das sollte alle Probleme lösen:

Sub formel()

Dim loLetzte As Long
Dim Rng As Range
Dim zelle As Range
With Sheets("Tabelle1")
loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
Set Rng = Range("A4:A" & loLetzte)
For Each zelle In Rng
If zelle > "" Then
zelle.Offset(0, 1).FormulaLocal = "=--rechts(" & zelle.Address & ";5)"
zelle.Offset(0, 1).NumberFormat = "hh:mm"
zelle.Offset(0, 1).Value = zelle.Offset(0, 1).Value
zelle.Offset(0, 2).FormulaLocal = "=--links(" & zelle.Address & ";10)"
zelle.Offset(0, 2).NumberFormat = "DDD DD.MM.YYY"
zelle.Offset(0, 2).Value = zelle.Offset(0, 2).Value
End If
Next
End With
End Sub
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:56:29
daniel
Hi
hier mal ne vereinfachte Lösung.
eine Schleife braucht man eigentlich nicht.
und Spalte B brauchst du auch nicht, dir Uhrzeit steht ja in A schon mit drin und Excel erkennt den Text als Datum:

Sub formel()

With Range("C4:C" & Cells(Rows.Count, 1).End(xlUp).Row)
.FormulaR1C1 = "=IF(COUNTIF(RC1,""????-??-?? ??:??""),TEXT(RC1,""TTT ""&CHAR(10)&""hh:mm""),"""")"
End With
End Sub


eine andere Möglichkeit wäre, einfach die Spalte A von Text in Datum zu wandeln und dann die Anzeige in C über das Zahlenformat zu regeln:

Sub formel()

With Range("C4:C" & Cells(Rows.Count, 1).End(xlUp).Row)
.FormulaR1C1 = "=IF(COUNTIF(RC1,""????-??-?? ??:??""),RC1*1,"""")"
.Numberformat = "ddd " & Chr(10) & "hh:mm"
End With
End Sub


Gruß Daniel
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:43:27
BoskoBiati2
Hallo,

ich sehe gerade, dass ich wieder mal zu langsam bin. 5Antworten, während ich da rumbastle.
Allerdings war mir das ganze Prozedere mit Uhrzeiten und Datum als Text sehr suspekt, deshalb bin ich anders vorgegangen und habe Datum/Uhrzeit als Zahlen eingetragen.
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:49:14
BoskoBiati2
Hallo,

geht auch einfacher:

Sub formel()

Dim loLetzte As Long
Dim Rng As Range
Dim zelle As Range
With Sheets("Tabelle1")
loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
Set Rng = Range("A4:A" & loLetzte)
For Each zelle In Rng
If zelle > "" Then
zelle.Offset(0, 1) = Format(Right(zelle, 5), "hh:mm")
zelle.Offset(0, 2) = Format(Left(zelle, 10), "DDD DD.MM.YYYY")
End If
Next
End With
End Sub
Anzeige
AW: Formel nur soweit wie Einträge vorhanden
16.05.2024 09:30:53
besserist
Hi Thorsten,


das funzt, bau ich gleich ein, vielen Dank!

VG Jörn

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige