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

UDF verschiedene Bereiche ändern

UDF verschiedene Bereiche ändern
12.06.2003 11:45:45
Rolf Buchholz
Hallo,

unten angegebene Funktion habe ich definiert und in der Celle B3 stehen =Scharnier(B1). In den einzelnen Case Abschnitten möchte ich aber auch andere Bereich der Tabelle ändern, z.B. Range("B4").Value = c. Das funktioniert aber nicht.

Hat jemand eine Lösung?

Viele Grüße
Rolf

Function Scharnier(b)
' b = Kastenbreite
' a = Abstand zum Rand
' c = Abstand zwischen den Scharnieren

Dim a
Dim c

a = Range("B2").Value

Select Case b

Case 1 To 800
c = b - 2 * a
Scharnier = c

Case 801 To 1350
c = (b - 2 * a) / 2
Scharnier = c

Case 1351 To 1800
c = (b - 2 * a) / 3
Scharnier = c

Case Else
MsgBox ("Kastenbreite |" & b & "| ist nicht definiert")

End Select

End Function




5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: UDF verschiedene Bereiche ändern
12.06.2003 11:51:14
Knut

Sowas kann eine UDF nicht.
Knut

Re: UDF verschiedene Bereiche ändern
12.06.2003 13:10:40
Nike

Hi,
mal einen Zellbereich an die Funktion übergeben
und dann mit offset von dieser Zelle wegrücken...

Function Scharnier(rngBezug As Range)
'rngBezug ist ein Zellbereich
' b = Kastenbreite
' a = Abstand zum Rand
' c = Abstand zwischen den Scharnieren

Dim a
Dim c

a = Range("B2").Value

Select Case rngBezug.Value

Case 1 To 800
c = rngBezug.Value - 2 * a
Scharnier = c

Case 801 To 1350
c = (rngBezug.Value - 2 * a) / 2
Scharnier = c

Case 1351 To 1800
c = (rngBezug.Value - 2 * a) / 3
Scharnier = c

Case Else
'Zwei Zellen rechts neben der Urspungszelle wird der Wert eingetragen...
rngBezug.Offset(0, 2) = "Kastenbreite |" & rngBezug.Value & "| ist nicht definiert"

End Select

End Function

Bye

Nike

Anzeige
Re: UDF verschiedene Bereiche ändern
12.06.2003 13:20:56
Rolf Buchholz

Danke Nike,

aber das funktioniert leider auch nicht.
Mit Debugger geprüft. Die Funktion wird in der Zeile

rngBezug.Offset(0, 2) = "Kastenbreite |" & rngBezug.Value & "| ist nicht definiert"

einfach beendet.

Rückgabewert ist dann #WERT!

Rolf

Re: UDF verschiedene Bereiche ändern
12.06.2003 13:46:55
Nike

Hi,
shit, ich glaub da hab ich mich schon mal vertan,
dan wohl eher mit ner normalen Prozedur, in etwa so:

Public Sub Scharnier()
Dim rngBezug As Range
Dim rngNeu As Range
Set rngBezug = Range("B2")
Application.Volatile
Set rngNeu = rngBezug.Offset(0, 2)
rngNeu.Address = "Kastenbreite |" & rngBezug.Value & "| ist nicht definiert"

End Sub

Bye

Nike


Anzeige
Re: UDF verschiedene Bereiche ändern
12.06.2003 14:18:47
Rolf Buchholz

Nike,

es geht nicht, trotzdem danke.

rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige