Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
184to188
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
184to188
184to188
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Eintarg über VBA

Eintarg über VBA
25.11.2002 11:43:29
Andre B
Guten Morgen, habe eine ganz einfache Frage, komme aber selber einfach nicht mehr auf die richtige Lösung:

Ich möchte, daß Excel eine Formel in Spalte B schreibt, wenn Spalte A gefüllt: d.h. in Zelle A15 steht ein Datum (z.B. 15.06.02 ), jetzt soll automatisch in B15 nur der Monat stehen ( hier: 06 ). Sobald A15 wieder leer ist, soll auch B15 leer sein.

So ungefähr:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 then
Target.Offset(0, 1).Value = (=TEXT(B14;"MM"))
End sub

Problem, ich bekomme die Formel (=TEXT(B14;"MM")) nicht in VBA integriert.

Gruß Andre

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Eintarg über VBA
25.11.2002 11:47:40
andre
Hallo Andre,
nicht value, sondern formula / formulalocal nehmen.
gruss andre
Re: Eintarg über VBA
25.11.2002 11:51:56
Holger Levetzow
versuche es z.B. so Spalte B auf 00 formatieren:

Holger
Re: Eintarg über VBA
25.11.2002 11:56:22
andre
...warum eigentlich so kompliziert?
in b15 =WENN(A1="";"";A1) und benutzerdefiniertes Format MMMM
da ist nur nicht ganz leer, weil Formel ..
gruss andre
Re: Eintarg über VBA
25.11.2002 12:18:43
Andre B
Hallo, okay, das würde aber bedeuten, daß ich die Formel in jede Zeile eintragen muß. Da ich aber externe Daten benutze, weiß ich im Vorfeld nicht wieviele Zeilen genutz werden.

Ich müßte um sicher zu gehen bis zu B65000 alle Zellen ausfüllen. Das wäre sehr umständlich und würde mein Programm unnötig vergrößern.

Ach, leider hab ich gerade gemerkt, daß mein Beispiel missverständlich war:

Also nicht: Target.Offset(0, 1).Value = (=TEXT(B14;"MM"))

sondern: Target.Offset(0, 1).Value = (=TEXT(A14;"MM"))

Ich möchte den Wert aus A14 in B14 wiedergeben, aber nur den Monatswert.

A14=24.12.02 - B14=12
A15=08.04.02 - B15=04
A16=03.01.02 - B16=01

Gruß Andre

Anzeige
Re: Eintarg über VBA
25.11.2002 12:47:58
Holger Levetzow
und genau das macht doch die Prozedur von mir !?

Holger

Re: Eintarg über VBA
25.11.2002 13:12:05
Andre B
Hey Holger, sorry, aber dein Code funktioniert, bis auf die letzte Zeile!

Die Zelle wird nicht wieder gelöscht und er läuft auch wenn man Zelle A oder C ändert.

Habe deinen Code angepasst:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Value <> "" Then
Target.Offset(0, 4).Value = Month(Target.Value)
Else: Target.Offset(0, 4).Value = ""
End If


End Sub

Re: Eintarg über VBA
25.11.2002 13:24:11
Holger Levetzow
das wundert mich zwar (bei mir funzt es), aber Hauptsache, es klappt
Re: Eintarg über VBA
25.11.2002 13:24:44
Andre B
Alles klar, hab die Probleme gelöst.

Danke für deine Hilfe!

Gruß Andre

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige