Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Pointer in VBA ?

Frage Entwicklung

Mitglied: Tschieses

Tschieses (Level 1) - Jetzt verbinden

12.11.2007, aktualisiert 19.11.2007, 18048 Aufrufe, 9 Kommentare

Wie benutze ich Pointer in VBA?

Hi,

ich will von einer Funktion mehrere Werte zurückgeben, da das ja nicht geht und ich keine globalen Variablen benutzen will, brauche ich Pointer.

Kann mir vielleicht jemand erklären, wie ich diese Benutze/Dekrariere?


Ich will 4 Pointer an eine Funktion übergeben und dann logischer Weise auch verändern.


MfG

Tschieses
Mitglied: MonsterX
12.11.2007 um 10:13 Uhr
Wenn die Werte alle vom gleichen Typ sind, dann benutz doch einfach ein Array...
Bitte warten ..
Mitglied: miniversum
12.11.2007 um 10:14 Uhr
Unter VB - und damit auch VBA - gibt es keine Pointer.
Du könntest ja einen String zurückgeben der die Werte enthällt die durch ein Trennzeichen getrennt sind. die Werte kannst du dann mit der split-Funktion wieder aus dem String herausholen.

miniversum
Bitte warten ..
Mitglied: Tschieses
12.11.2007 um 13:33 Uhr
hab jetzt auch schon rausgefunden dass es keine pointer gibt....
Prob: es sind unterschiedliche datentypen...

habs jetzt aber gelöst... da ich die werte nur zurück in die hauptfunktion geben wollte um sie dort auszugeben (man soll ja nix in der funktion/prozedur ausgeben ;) ) hab ich sie jetzt doch in der unterfunktion ausgegeben....
naja was soll.....

hmmm man hätte ja auch aus der unterfunktion die hauptfunktion aufrufen können... -> endlosschleife ohne GoTo muauau

aber danke euch für die hilfe, jetzt wurde ich wiedermal bestätigt, dass VB/VBA der größte rotz is ;)

vielen dank euer
Tschieses
Bitte warten ..
Mitglied: misterdemeanor
13.11.2007 um 15:44 Uhr
Grüß Dich,

nur mal so eine frage...jemals etwas von "ByRef" gehört?

Deklariere einfach die nötigen Variablen in der aufrufenden Methode und übergib Sie der Funktion (die Du entsprechend mit ByRef Argumenten deklarierst).

BG, Felix
Bitte warten ..
Mitglied: Tschieses
13.11.2007 um 15:58 Uhr
Nee noch nie was von gehört und auch keine ahnung wie ichs benutz
werd mal danach suchen bei gelegenheit, aber habs jetzt sowieso anders gelöst...
Bitte warten ..
Mitglied: Biber
13.11.2007 um 16:07 Uhr
Ich möchte den Beitrag auch ungern so schließen.

Ich habe jetzt auf eine (lieblose) Suchmaschinenbefragung nur einen Verweis auf VBA ByVal/ByRef gefunden hier in den wikibooks.

Vielleicht könnte noch jemand einen ähnlich schönen für VB/ .NET drunterhängen.

Danke
Biber
Bitte warten ..
Mitglied: miniversum
14.11.2007 um 11:00 Uhr
Ich hab hier mal ein kleines Beispiel getipselt. Ich denke es sollte zur Veranschaulichung reichen:
01.
Sub byrefbyvaltest() 
02.
Dim a As Integer 
03.
a = 5 
04.
MsgBox "a vor refuebergabe: " & a 
05.
Call refuebergabe(a) 
06.
MsgBox "a nach refuebergabe: " & a 
07.
 
08.
MsgBox "a vor valuebergabe: " & a 
09.
Call valuebergabe(a) 
10.
MsgBox "a nach valuebergabe: " & a 
11.
End Sub 
12.
 
13.
Sub refuebergabe(ByRef b As Integer) 
14.
MsgBox "a in refuebergabe vor Veränderung: " & b 
15.
b = 6 
16.
MsgBox "a in refuebergabe nach Veränderung: " & b 
17.
End Sub 
18.
 
19.
Sub valuebergabe(ByVal c As Integer) 
20.
MsgBox "a in valuebergabe vor Veränderung: " & c 
21.
c = 7 
22.
MsgBox "a in valuebergabe vor Veränderung: " & c 
23.
End Sub
Hier noch ein Link der helfen könnte:
http://vb-tec.de/byvalref.htm

miniversum
Bitte warten ..
Mitglied: misterdemeanor
19.11.2007 um 16:39 Uhr
Grüß Dich /biber/,

natürlich willst Du die hohe Qualität des Forums waren, IMHO war der Link den Du gegeben hast schon wirklich Antwort genug und (z.B.) "ByRef" absolute Grundlage von VB (VBA, so gesehen auch VB .Net) das ja nach Meinung des/der Hilfe-suchenden "der größte Rotz" ist.

miniversum hatte auch nochmal ein kleines Beispiel sowie einen anderen Link zur Materie gegeben, so denke ich doch ist der Thread erledigt.

Gottseidank ist mir das "RTFM" an Tschieses nur unterschwellig rausgerutscht *lol
Bitte warten ..
Mitglied: Biber
19.11.2007 um 16:51 Uhr
@miniversum, @misterdemeanor
so denke ich doch ist der Thread erledigt.

Hmmja, so ganz befriedigend finde ich das Feedback des ThreadOwners ja nicht, aber...

Ich schließe den Thread mal und auf "beantwortet" setze ich ihn auch.

Schönen Nachmittag Euch und danke
Biber
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
Access 2010 - Filter für Datum funkioniert nicht VBA (4)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Outlook & Mail
gelöst Outlook vba Email Anhang in Ordner speichern (3)

Frage von Daywalkercxp zum Thema Outlook & Mail ...

VB for Applications
VBA Excel Dateien zusammenfassen (3)

Frage von cberndt zum Thema VB for Applications ...

Microsoft Office
gelöst Excel 2007 Transponieren von Gruppen oder Blöcken mit VBA (7)

Frage von Chrissy123 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...