Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
172to176
172to176
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formeln einfügen

Formeln einfügen
28.10.2002 16:21:21
Kirsten

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

Betreff
Datum
Anwender
Anzeige
Re: Formeln einfügen
28.10.2002 16:38:41
Folker
Klar. Mach dir ein Change Ereignis auf Spalte A.
Hier ein Beispiel für Spalte C. Wichtig ist, dass die Formeln in VBA auf Englisch sein müssen. Setz dir die Formeln für die anderen Felder dann selbst zusammen.

Re: Formeln einfügen
28.10.2002 16:47:07
Kirsten
Hi Folker!

Erst mal lieben Dank für die schnelle Antwort.

Allerdings habe ich keine Ahnung von VBA. Kannst Du mir vielleicht kurz erklären, was dein Makro so macht und wie ich es dann anpassen müsste?

Ich hoffe, das ist nicht zuviel verlangt


Ciao
Kirsten

Re: Formeln einfügen
28.10.2002 17:46:58
Folker
1.) Mit Alt-F11 zur Entwicklungsumgebung wechseln.
2.) Links im Projektexplorer dein Arbeitsblatt doppelklicken und den Code einfügen.

Das Makro schreibt dir, wenn du etwas in Spalte A schreibst, die Formel in Spalte C.

Worksheet_Change bedeutet, dass etwas passiert wenn irgendetwas auf dem Arbeitsblatt geändert wird. Da aber nur etwas passieren soll, wenn das Datum in Spalte A geändert wird, schränke ich das Ergeignis erst einmal auf Spalte A ein.
If Target.Column = 1 Then
Also nur wenn die angeklickte Zelle (=target) sich in Spalte 1 befindet dann:
Cells(Target.Row, 3)
cells wählt eine Zelle auf dem Arbeitsblatt aus. Als erstes kommt die Zeile dann die Spalte. target.row gibt die Nummer der angeklickten Zelle aus, 3 ist die Spalte C
Formula = "=if(isnumber(A" & Target.Row & "),day(A" & Target.Row & "),"""")"
.Formula heisst trage in diese Zelle folgende Formel ein.
Dann folgt die Formel mit Englischen Formelnamen. Damit sich die Zeilennummer anpasst verwende ich wieder den Befehl target.row

Anzeige
Re: Formeln einfügen
28.10.2002 18:38:10
Uwe
Hallo Kirsten,
ich hab das ein wenig erweitert.
Unelegant aber es sollte funktionieren und nimmt sogar die Formeln
wieder raus wenn die Inhalte der erste Spalte gelöscht werden.

1.) Mit Alt-F11 zur Entwicklungsumgebung wechseln.
2.) Links im Projektexplorer dein Arbeitsblatt doppelklicken und den Code einfügen.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
i = Target.Row
Select Case IsEmpty(Target.Value)
Case False
Cells(i, 2).FormulaR1C1 = "=IF(RC[-1]=0,"""",INT((RC[-1]-DATE(YEAR(RC[-1]),1,1)+WEEKDAY(DATE(YEAR(RC[-1]),1,1),3))/7)+IF(WEEKDAY(DATE(YEAR(RC[-1]),1,1),3)<4,1,0))"
Cells(i, 3).FormulaR1C1 = "=IF(ISNUMBER(RC[-2]),DAY(RC[-2]),"""")"
Cells(i, 4).FormulaR1C1 = "=IF(ISNUMBER(RC[-3]),MONTH(RC[-3]),"""")"
Cells(i, 5).FormulaR1C1 = "=IF(ISNUMBER(RC[-4]),YEAR(RC[-4]),"""")"
Case True
Range("B" & i & ":E" & i).ClearContents
End Select
End If
End Sub


Gruß Uwe

Anzeige
Re: Formeln einfügen
29.10.2002 09:28:28
Kirsten
Hallo Uwe!

Wow! Dein Makro funktioniert super! Und wenn ich mich gaaaaanz doll anstrenge, kann ich es sogar halbwegs nachvollziehen (liegt sicherlich an der ausführlichen Erklärung von Folker zu seinem Makro).

Damit hast Du mir wirklich sehr geholfen. Vielen Dank.

Jetzt gibt es nur noch ein kleines Problem. Das Tabellenblatt ist normalerweise geschützt (soll auch über ein Makro erfolgen; funktioniert aber auch noch nicht wirklich). Leider streikt dann dein Makro. Kann ich das noch anpassen?

Gruss
Kirsten

Re: Formeln einfügen
29.10.2002 09:32:28
Kirsten
Hi Folker!

lieben Dank für diese ausführliche Erklärung!

Bin leider kein Trockenschwimmer und kann eigentlich nur auf diesem Wege lernen, wie Makros überhaupt funktionieren.

Für Profis sicherlich etwas lästig?!? Darum danke ich Dir um so mehr.


Tööös
Kirsten

Anzeige
Re: Formeln einfügen
29.10.2002 10:00:21
Folker
Wenn das Blatt geschützt bleiben soll, musst du den Blattschutz am Anfang vom Makro aufheben und ám Ende wieder aktivieren.
Funktioniert mit
ActiveSheet.Unprotect Password:="dein Paßwort"
ActiveSheet.Protect Password:="dein Paßwort"
Kannst aber auch mal die Suchfunktion zu dem Thema aktivieren, da gibt es jede Menge drüber.

Re: Formeln einfügen
29.10.2002 12:26:06
Kirsten
Alles klar!

Lieben Dank noch mal.


Kirsten

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige