Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
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
Inhaltsverzeichnis

Public Definition

Public Definition
19.02.2014 15:09:20
Frank
Halli hallo an Alle,
ich definiere zur Zeit ein paar Funktionen in VBA. Nun ist es so dass in allen diesen Funktionen bspw. die Höhe h, die Breite b usw. verwendet werden. Ich habe mir B_ und H_ in einer Zelle in Excel definiert und lese die per Befehl in VBA ein.
Meine Frage ist wie definiere ich diese Variablen Breite und Höhe in VBA so dass ich die nur einmal einlesen bzw. wenn sie sich ändern erneut einlese?
So wie es jetzt ist lese ich die bei jedem Funktionsaufruf erneut ein, was beim Ausführen mehrere tausend mal dann schon einen zeitlichen Unterschied darstellt.
Function a(e As Double) As Double
Breite = Range("B_")
Höhe = Range("H_")
a = e * Breite * Höhe
End Function
Function b(f As Double) As Double
Breite = Range("B_")
Höhe = Range("H_")
b = f * Breite * Höhe
End Function
Das als Beispiel.
Ich hoffe meine Anfrage ist verständlich umschrieben.
Vielen Dank und viele Grüße
Frank

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public Definition
19.02.2014 15:15:58
Hajo_Zi
Hall Frank,
definiere Sie doch als Const
Gruß Hajo

dann kann er sie aber ...
19.02.2014 15:25:13
Rudi
Hallo,
... nicht in Zellen ablegen.
Gruß
Rudi

AW: Public Definition
19.02.2014 15:25:43
Frank
Hallo Hajo,
muss ich da nochmal eine eigene Sub schreiben? Die Breite und die Höhe kann sich auch mal ändern bei Const wäre sie immer konstant oder?
Ich dachte an:
Public Breite as Double
aber ich weiß nicht so recht wo ich das hinschreiben muss bzw. so dass mir die Variablen allzeit und bei jedem Funktionsaufruf zur Verfügung stehen. Könntest du da Schützenhilfe leisten?

AW: Public Definition
19.02.2014 16:07:15
Hajo_Zi
Hallo Frank,
ich dachte so wenig wie sich das ändert, kannst Du dann auch den Code ändern. Eine Sub ist dazu nicht notwendig.

Anzeige
AW: Public Definition
19.02.2014 15:51:00
Rudi
Hallo,
in ein Modul:
Option Explicit
Public breite As Double
Public hoehe As Double
Function b(f As Double) As Double
b = f * breite * hoehe
End Function

In DieseArbeitsmappe:
Private Sub Workbook_Open()
breite = Range("b_")
hoehe = Range("h_")
End Sub

Im Blatt mit B_ bzw. H_
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case Range("B_").Address: breite = Target
Case Range("H_").Address: hoehe = Target
End Select
End Sub
Gruß
Rudi

Anzeige
AW: Public Definition
19.02.2014 18:19:03
Frank
Hallo Rudi und Günther,
vielen Dank für eure Beispiele, das hat mir weitergeholfen und ich werde das so einarbeiten.
Tolle Hilfe und besten Dank.
Viele Grüße
Frank

Danke für die Rückmeldung o.T.
20.02.2014 08:23:17
GuentherH
beste Grüße,
Günther

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige