type/end type macro

Status
Niet open voor verdere reacties.

Clint29

Gebruiker
Lid geworden
3 dec 2013
Berichten
10
Hallo,

Ik heb onderstaande code, maar daar wordt een foutmelding opgegeven;
Dit is een voorbeeld ergens in een boek maar ik weet niet waarom er een foutmelding gegeven wordt.
Kan iemand mij vertellen hoe het WEL moet.

Compileerfout;
Kan geen door de gebruiker gedefineerd Public-type bepalen binnen een objectmodule

----
Code:
Type Persoon
    Naam As String
End Type

Dim Persoonlijk As Persoon
Code:
Sub Persoonljk()
    Dim p As Persoon
    p.Naam = "Clint"
    
    Debug.Print p.Naam
End Sub
---
 
Laatst bewerkt door een moderator:
De code is goed maar die bovenste moet wel buiten een Sub zijn geplaatst en moet in een Module zitten.
 
Ik ben een beginner op het gebied met vba, maar bovenste code staat toch buiten een Sub? En hoe krijg ik die bovenste code in een module? Of wat houdt dat in?
Ik type de code in de macro editor.
 
Om welk product gaat het? Excel? Word? Outlook? Acces?
 
Druk dan in Excel op de toetscombinatie ALT-F11 om in de VBA Editor te komen. Je ziet dan het volgende scherm:
VBA.jpg

Klik daarin met de rechtermuisknop op ThisWorkbook en kies achtereenvolgens Invoegen en Module.
Die module kun je eventueel een andere naam geven in het gedeelte met de eigenschappen eronder.
In deze module plaats je dan die bovenste code, dus in het gedeelte dat nu nog grijs is.
 
Eerlijk gezegd moest ik even kijken naar de code
Type gebruik ik nooit en kom ik nooit tegen.
Edmoor kent t wel.
Wat er volgens mij dan niet klopt is de dim.
Dat moet Public zijn.
Een module zie je links onder de excel objecten; werkbladen, workbook, userforms
Via menu invoegen kun je een nieuwe module invoegen.
Mvg Le
 
In principe heb je gelijk maar omdat de Dim buiten een procedure staat is deze per definitie Public.
 
Maar bovenste code moet in module en de onderste code kan wel in bijvoorbeeld (blad1)?
 
De onderste kan dan in principe daar waar je maar wilt. Type definities moeten altijd in een module.

@leofact:
Met Type maak je een eigen record definitie. Zie het maar als een tabel in een database, in dit geval Persoon.
Daarbinnen worden dan de velden voor die tabel gedefinieerd.
 
Laatst bewerkt:
Oke bedankt. Dat kon ik niet uit de tekst in het boek halen.
Ik heb het boek "step by step excel 2007" en "easy computing sleutelen met vba" Weten jullie nog goede beginners boeken?

Iig bedankt me probleem is opgelost.

Gr Clint
 
Eerlijk gezegd heb ik nog nooit een VBA boek aangeraakt en is m'n kennis ervan puur ervaring.
Ik heb wel heel veel erover geleerd door in het Engels te zoeken naar dingen die ik op een bepaald moment nodig had, en eigenlijk doe ik dat nog steeds.
 
Oke. In wat voor toepassingen gebruik je vba? Wat schrijf je er mee?
 
Ik gebruik het hoofdzakelijk in een invoegtoepassing voor Excel die naast wat C++, volledig in VBA is geschreven. Dat product heb ik bij ons bedrijf in onderhoud en ondersteun deze voor onze klanten.

Met deze invoegtoepassing kan men op een heel eenvoudige manier gegevens uit een Microsoft Dynamics database naar Excel halen waarbij men zelf via een userinterface de querie's kan samenstellen, opslaan, bewaren en op ieder gewenst moment uitvoeren om de gegevens in de Excel sheet up-to-date te hebben. Momenteel gaat het om meer dan 700 klanten in binnen- en buitenland.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan