Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UDF verschiedene Bereiche ändern

Forumthread: 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




Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige