Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

verzeiflung durch VBA

verzeiflung durch VBA
04.02.2003 12:52:47
ChristianH
Hallo
Ich habe folgendes Problem:
Der User gibt in einer Userform einen Monat an.
Für diesen Monat soll ein Kalender erstellt werden, wobei in der ersten Zeile Mo, Di,... steht.
Nun werden per makro alle Spalten mit einem So rosa gefärbt.
Es wird jedesmal wenn eine Spalte rosa gefärbt wird die Variable rosaza um eins erhöht!
Das Problem ist, dass ich die rosa gefärbten Spalten in einer Formel einbeziehen muss!

wo = "A2"
was = "=SUM(" & noPyramid(rosaza) & ")"
rosaformel = was
rosaformel = Replace(rosaformel, " ", "")
'und jetzt kommt der Fehler 1004
Range(wo).FormulaR1C1 = was

Function rosazelle(zahl)
Do
prz = prz + 1
If prz = 61 Then Exit Do
'dooron ist eine Funktion, die aus einer zahl einen Buchstaben macht
spatore = dooron(prz)
Columns(spatore).Select
If Selection.Interior.ColorIndex = 38 Then
altzah = altzah + 1
If altzah = zahl Then
rosazelle = spatore & ":" & spatore
Exit Do
End If
End If
Loop
End Function

Function noPyramid(rosaza)
besu = 1
If rosaza > 0 Then
was = was & rosazelle(1) & Str(besu)
If rosaza > 1 Then
was = was & "," & rosazelle(2) & Str(besu)
If rosaza > 2 Then
was = was & "," & rosazelle(3) & Str(besu)
If rosaza > 3 Then
was = was & "," & rosazelle(4) & Str(besu)
If rosaza > 4 Then
was = was & "," & rosazelle(5) & Str(besu)
If rosaza > 5 Then
was = was & "," & rosazelle(6) & Str(besu)
If rosaza > 6 Then
was = was & "," & rosazelle(7) & Str(besu)
If rosaza > 7 Then
was = was & "," & rosazelle(8) & Str(besu)
If rosaza > 8 Then
was = was & "," & rosazelle(9) & Str(besu)
End If
End If
End If
End If
End If
End If
End If
End If
End If
noPyramid = was
End Function

Bin für jeden Tipp dankbar!
Ciao


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: verzeiflung durch VBA
04.02.2003 13:08:08
Klaus

Hi, wie oft denn noch ??

Re: verzeiflung durch VBA
04.02.2003 13:29:38
Udo RiHü

Hallo,
das erscheint mir alles ein wenig konfus.

Warum machst du aus einer Zahl einen Buchstaben um eine Spalte anzusprechen? z.B. Columns(5).select wählt Spalte E aus, Range(columns(3),columns(6)) die Spalten C:F

In deiner nopyramid-Function kannst du deine Werte für Rosazelle direkt ableiten, ohne if, da der Index von rosaza immer 1 größer ist als der ganzzahlige Teil von rosaza.
was = was & "," & rosazelle(int(rosaza)+1) & Str(besu)

Das mit deinem Range(wo) kann auch nicht klappen. Wenn schon, dann so: Range("" &wo &"").select
Flexible Bereiche kannst du besser mit cells(Zeile,Spalte) ansprechen.

Eigentlich kannst du deine Sonntagsspalten auch per bedingter Formatierung einfärben.

Gruss aus'm Pott
Udo

Anzeige
Re: verzeiflung durch VBA
04.02.2003 14:02:29
ChristianH

Hallo

Erst einmal danke für deine Tipps!!!
Ich werde mir das mit den Columns mal ansehen.
Das Range(wo).Select funktioniert ja.
Das Problem ist, das er mir beim einschreiben der Formel den Fehlercode 1004 meldet...
Du hast mir echt geholfen!

Ciao

Re: verzeiflung durch VBA
04.02.2003 18:45:36
Udo RiHü

Hallo,
ich hab auch nicht genau drauf geachtet (sorry), aber es muss Range(wo).formula=was heißen und nicht .FormulR1C1, weil dann erwartet er auch Angaben im RC-Format.

Gruss aus'm Pott
Udo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige