public function im private sub aufrufen

A

Alexander87

Hi,

nochmal eine Frage bezüglich einer Funktion.

Ich habe eine Funktion, der ich einen String übergebe und die mir einen Integerwert ausspuckt.

Code:
Public Function pixel(ByVal text As String) As Integer
    Dim size As Integer, i As Integer, Breite As Integer
    .....
    pixel = Breite
End Function

Aufgerufen wird diese in:
Code:
Sub Schaltfläche3_BeiKlick()
    Dim x As String
    ....
    x = Cells(r, 4).Value
    var = pixel(x)
    .....
End Sub

Jedoch bekomme ich beim Kompilieren immer den Fehler: "Erwartet: Datenfeld" beim Aufruf: var = pixel (x)

Weiß jemand woran das liegt?
 

Tody83

Mitglied
Hi...

Ich denke das du nen Konflikt verursachst aufgrund deiner Art zu Coden.
Schau das du sauber programmierst...

Mach aus "text as String" -> sText as String 'Das s steht für String
aus size -> iSize usw...

So behälst du nen überblick und weist auch welche Werte da drinnen sein können.
Das auch nach Monaten ;)

Nun zu deinem Problem:
Pixel ist eine vorhandene Funktion!
Daher auch der Fehler.
Wie gesagt immer schauen das du keine Konflikte rein bekommst ;)

Versuchs mal so:
hw -> Steht für HelloWorld! Ich verwende immer solche kürzel um Konflikte zu vermeiden.
Code:
Public Function hwPixel(ByVal sText As String) As Integer
    Dim iSize As Integer, i As Integer, iBreite As Integer
    .....
    hwPixel = iBreite
End Function

Dementsprechend dann der Aufruf:
Code:
Sub Schaltfläche3_BeiKlick()
    Dim X As String
    ....
    X = Cells(r, 4).Value
    var = hwPixel(X)
    .....
End Sub

Hoffe das hilft dir weiter...
lg Tody
 
A

Alexander87

Danke!! Lag an "Pixel", aber auch an "size".

An meinem Programmierstil sollte ich echt mal arbeiten ;-), aber erstmal cool, dass alles funktioniret