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, 17815 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.


Mit freundlichen Grüßen

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
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

VB for Applications
gelöst Mehrere Charts per VBA erstellen lassen, Titel wird nicht angezeigt

Frage von Aximand zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...