VBA: Tag aus Datum eines Zelleninhalts

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: VBA: Tag aus Datum eines Zelleninhalts
von: Manfred
Geschrieben am: 07.08.2015 10:10:32

Hallo Excelfreunde,
kann mir bitte einer Hilfestellung geben.
Ich benötige den richtigen VBA Befehl um aus der Zelle "A2" den Tag aus dem gesamten Eintrag heraus zu bekommen. In "A2" steht bspw.
"Generated: 2015-Jul-17".
Ich möchte nun nur die Zahl 17 als Ergebnis in eine Variable übergeben.
Ich probiere es gerade mit folgender Formel:
WT = Mid(Cells(2, 1).Value, 21, 2)
Manchmal klappt es aber leider nicht, wenn bspw. noch die Uhrzeit mit in der Zelle dahinter steht. Das sieht dann so aus
"Generated: 2015-Jul-19, 10:00:00 CEST". Mag vielleicht auch ein Zufall gewesen sein, das es mir gerade in dem Fall aufgefallen ist.
Darum aber meine Frage: Gibt es denn vielleicht eine elegantere und auch bessere Lösung dafür? Habe nämlich auch andere Zellen, bei denen ich die Formel einsetzen möchte und es mehrere gleiche Zeichen darin gibt.
Gruß Manfred

Bild

Betrifft: AW: VBA: Tag aus Datum eines Zelleninhalts
von: Sepp
Geschrieben am: 07.08.2015 10:17:08
Hallo Manfred,
warum VBA?
Tabelle1

 AB
1Generated: 2015-Jul-19, 10:00:00 CEST19
2Generated: 2015-Jul-1717

Formeln der Tabelle
ZelleFormel
B1=WENNFEHLER(WENN(ISTZAHL(FINDEN(",";A1)); TEIL(A1;21;FINDEN(",";A1)-21)*1;TEIL(A1;21;2)*1); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp


Bild

Betrifft: AW: VBA: Tag aus Datum eines Zelleninhalts
von: Manfred
Geschrieben am: 07.08.2015 10:23:00
Hallo Sepp,
weil ich es aus 31 Tagestabellen pro Monat heraus lesen muß und es nicht mit irgendwelchen Hilfstabellen arbeiten möchte, sondern es zur Weiterverabeitung in einer Variablen ablegen möchte.
Gruß Manfred

Bild

Betrifft: AW: VBA: Tag aus Datum eines Zelleninhalts
von: Sepp
Geschrieben am: 07.08.2015 10:27:04
Hallo Manfred,
und was funktioniert dabei nicht?

Sub auslesen()
Dim WT As Long

WT = Clng(Mid(Cells(1, 1).Value, 21, 2))

MsgBox WT
End Sub


Gruß Sepp


Bild

Betrifft: AW: VBA: Tag aus Datum eines Zelleninhalts
von: Manfred
Geschrieben am: 07.08.2015 10:35:47
Hallo Sepp,
habe soviel herum experimentiert, das ich es nicht mal mehr sagen kann, was nicht funktioniert hatte. Habe nun aber deine Formel eingebaut und sie läuft prima, nur was bedeutet das "Clng" in deiner Formel?
Lerne ja gerne dazu. ;)
Gruß Manfred

Bild

Betrifft: AW: VBA: Tag aus Datum eines Zelleninhalts
von: Sepp
Geschrieben am: 07.08.2015 10:38:15
Hallo Manfred,
Mid() gibt einen String, also Text zurück, mit CLng() wird aus dem Text eine Zahl.
Du kannst den Cursor auch auf ein Schlüsselwort stellen und F1 drücken, dann wird die die Hilfe zum entsprechenden Eintrag angezeigt.

Gruß Sepp


Bild

Betrifft: AW: Danke für den Tip
von: Manfred
Geschrieben am: 07.08.2015 10:40:43
...und natürlich auch für die schnellen Antworten.
Gruß Manfred

Bild

Betrifft: Eigentl. genügt auch
von: Sepp
Geschrieben am: 07.08.2015 10:18:40
Tabelle1

 AB
1Generated: 2015-Jul-19, 10:00:00 CEST19
2Generated: 2015-Jul-1717

Formeln der Tabelle
ZelleFormel
B1=WENNFEHLER(TEIL(A1;21;2)*1;"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp


Bild

Betrifft: AW: Eigentl. genügt auch
von: Manfred
Geschrieben am: 07.08.2015 10:24:53
Hallo Sepp,
geht deine superkurze Formel nicht auch in VBA umzusetzen?
Gruß Manfred

Bild

Betrifft: alles falsch ;-)
von: EtoPHG
Geschrieben am: 07.08.2015 11:14:24
Hallo zusammen,
Funktionier wunderbar, wenn immer 2stellige Tage dastehen und geht komplett in die Hose, wenn nur ein 1stelliger Tag vorhanden ist!
So auch als Formel zu gebrauchen:


Function XTag(rZellbezug As Range) As Integer
    XTag = CLng(Split(Split(rZellbezug, "-")(2), ",")(0))
End Function


Bild

Betrifft: bist du sicher?
von: Sepp
Geschrieben am: 07.08.2015 11:18:58
Hallo,
sowohl meine Formel-Lösung als auch mein Code kommen mit einstelligen Tagesangaben zurecht!
Tabelle1

 AB
1Generated: 2015-Jul-19, 10:00:00 CEST19
2Generated: 2015-Jul-1717
3Generated: 2015-Jul-55
4Generated: 2015-Jul-9, 10:00:00 CEST9

Formeln der Tabelle
ZelleFormel
B1=WENNFEHLER(TEIL(A1;21;2)*1;"")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp


Bild

Betrifft: AW: bist du sicher?
von: EtoPHG
Geschrieben am: 07.08.2015 11:24:49
Hallo Sepp,
Ja in einem für Deutschland lokalisierte XL
...weil da das Komma noch als Teil der Zahl interpretiert wird.
Die meisten anderen Länder brauchen einen Punkt als Dezimaltrenner!
Gruess Hansueli

Bild

Betrifft: naja, dass war aber auch nicht gefragt! o.T.
von: Sepp
Geschrieben am: 07.08.2015 11:26:41

Gruß Sepp


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Vba Serienbrief Fehlermeldung:Datei in Verwendung?"