EXCEL 2003 Zahlen per VB ersetzen...

  • #1
N

noah1

Bekanntes Mitglied
Themenersteller
Dabei seit
16.08.2002
Beiträge
1.415
Reaktionspunkte
0
Ort
Hamburg
Hallo, ich steh vor folgendem hoffentlich lösbarem Problem. Ich bastel mir gerade einen Schichtplan mit Excel, in diesem Schichtplan kommen sogenannte feste Freizeitgruppen vor, davon gibt es 9 verschiedene. D.h. an jedem Tag wo ich Dienst habe ist eine Freizeitgruppe dran, das geht reihum...
Per Formel habe ich das jetzt soweit dass an jedem Tag wo ich Dienst habe die Fz-Gruppe des letzten Tages an dem ich Dienst hatte um einen höher gezählt wird, das geht allerdings ins unendliche...soll aber wenn ich bei 9 angekommen bin wieder bei 1 beginnen. Jetzt habe ich mir gedacht das könnte man mit einem Makro erledigen, -> wenn fz-Gruppe = 10 dann Fz-Gruppe = 1...
Aber mit Makros in Excel kenne ich mich gar nicht aus, wer kann mir da helfen?
Durch googeln habe ich folgendes Script gefunden:
Code:
Sub Ersetzen()
  Dim Rng As Range
  For Each Rng In UsedRange
    If Rng.Value > 9 Then Rng.Value = 1
  Next Rng
End Sub
Wie muß ich das jetzt anwenden dass es auf alle Felder in denen die FZ-Gruppen (und zwar nur auf die Felder) stehen angewendet wird?
 
  • #2
Hallo noah1,

wie kann man denn erkennen, ob eine FZgruppe in einer Zelle steht ?
Gibt es irgendwelche Regelmäßigkeiten ?

Könntest du die Formel für die FZgr so ändern, daß der Zellinhalt z.B. mit FG anfängt (FG001, FG002, .... )? Dann könnte das Makro danach suchen und das dann in 1-9 entsprechend ändern.

Gruß Matjes :)
 
  • #3
Ich hab es jetzt anders gelöst.
In Zelle Z2 steht ist die Freizeitgruppe von 1-9 eingetragen und für jeden Monat gibt es zwei Spalten wo die Freizeitgruppen durchgezählt werden, und mit der folgenden Formel wird einfach wenn die Zahl höher als 9 wird eine 1 eingetragen...
Code:
=WENN(D8<>;WENN(D7=T;WENN(F7=9;1;F7+1);WENN(ODER(D7=N;D7=D);WENN(G7=9;1;G7+1);WENN(ODER(D6=N;D6=D);
      WENN(G6=9;1;G6+1);WENN(D6=T;WENN(F6=9;1;F6+1);WENN(ODER(D5=N;D5=D);WENN(G5=9;1;G5+1);WENN(D5=T;WENN(F5=9;1;F5+1);))))));)


Das klappt soweit. Daraus ergibt sich dann nur das nächste Problem: In der Spalte wo steht welcher Dienst an dem jeweiligen Tag ist soll wenn die in Z2 eingetragene FZ-Gruppe dran ist statt dem Dienst->FZ' stehen, bei allen FZ-Gruppen bis auf der FZ-Gruppe1 klappt das auch...und ich find nicht raus warum das bei der FZ-Gruppe 1 nicht klappt...
Code:
=WENN(UND(D9=N;F9=$Z$2);FZ;WENN(UND(D9=N;G9=$Z$2);FZ;WENN(UND(D9=D;F9=$Z$2);FZ;WENN(UND(D9=D;G9=$Z$2);T;WENN(UND(D9=T;F9=$Z$2);FZ;D9)))))
 
  • #4
Hallo noah1,

ich hab die fragliche Formel mal etwas anders dargestellt. Vilelleicht fällt dir dann auf, woran es liegt.

Gruß Matjes :)
Code:
= 
WENN
( 
 ODER
 (
	 UND(D9=N;F9=$Z$2);
	 UND(D9=N;G9=$Z$2);
	 UND(D9=D;F9=$Z$2);
	 UND(D9=T;F9=$Z$2)
 )
;FZ
; WENN
 (
	UND(D9=D;G9=$Z$2)
	;T
	; D9
 )
)
 
  • #5
Ich hab im Moment nicht die Zeit die Formel mal so zu probieren, aber ich meld mich wenn ich die Zeit dazu hatte und es mal geändert habe.
 
Thema:

EXCEL 2003 Zahlen per VB ersetzen...

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben