• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Eigenschap kan niet worden opgehaald

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.076
Besturingssysteem
Wndows 11
Office versie
2016
Heb mijn tool klaar en nu krijg ik sinds gisteren de melding " fout 1004 Eigenschap Max van klasse Worksheetfunction kan niet worden opgehaald"

Ik zoek mij suf maar ik weet eerlijk gezegd niet waar ik het nu zoeken moet, naar mijn mening moet het te maken hebben met de kolommen op de sheet "Listen".
Hier is niets gewijzigd dus roep ik "HELP IK ZIE HET NIET"

Graag jullie hulp
 
Cow18

Inderdaad daar had ik niet aan gedacht ik heb dit aan gepast, krijg nu weer een andere melding.
" fout 424 Object vereist"
Met het "Debuggen" was er geen fout.
Ik begin er weinig meer van te snappen.

Het heeft goed gedraaid en nu achter elkaar fouten.:confused::confused:
 
Oke deze zijn nu ook weg

Loopt hierop vast
Code:
CT_09.List = [KK_lst].Value
 
Ik zie nog altijd de nummers.
KK_lst10 en niet KK_lst zoals in je regel code.
 
De IDs en NRs zijn toch leeg????

Of snap ik het nu even niet.
 
In die cijfers erachter zit het hem ook niet.
 
Code:
CT_09.List = [KK_lst].Value
Dat betekend dat de ComboBox CT_09 wordt gevuld met de gegevens uit de tabel KK_lst en dus niet uit KK_lst10.
Klik eens in Frame F_00 van je Frmkundeänderung formulier. Ga vervolgens op zoek naar CT_09 en de lijst net boven de eigenschappen. Klik er eens op, dan zie je waar CT_09 zich bevindt.
Als jij kunt verklaren wat dat ding daar doet, ik in ieder geval niet.
Je zal je code regel per regel moeten nalopen tot alle fouten zijn hersteld.
 
Code:
CT_09.List = [KK_lst].Value
Dat betekend dat de ComboBox CT_09 wordt gevuld met de gegevens uit de tabel KK_lst en dus niet uit KK_lst10.
Klik eens in Frame F_00 van je Frmkundeänderung formulier. Ga vervolgens op zoek naar CT_09 en de lijst net boven de eigenschappen. Klik er eens op, dan zie je waar CT_09 zich bevindt.
Tot zo ver begrijp ik je helemaal, in de editor zit deze achter het Frame KEIK_01 met dat in TextBox EIK_01 hierin verschijnt de extra info als erom gevraagd word door de Button CommandButton1.

Maar deze regel van jou snap ik dus niet gaat het over het Frame, dan is het antwoord al gegeven, gaat het om de CT_09 dan weet ik niet wat je bedoeld
Als jij kunt verklaren wat dat ding daar doet, ik in ieder geval niet.
 
OOOOOO nu snap ik het.

De cijfers achter de "Namen" dus geen KK_lst10 maar KK_lst.

De Euro is gevallen, het het werkt weer :love::love:

Snap alleen niet hoe dit kan gebeuren .

Is dit op een of andere manier te beveiligen fat het niet weer gebeurd
 
Laatst bewerkt:
Hier met 10 cijfers, wat maakt het uit.

[kkk_LST1111100000].value
 

Bijlagen

Inderdaad Harry,

sinds ik de cijfers achter de naam heb weg gehaald werkt het weer totdat ik een nieuwe klant (Kunde) in wil voeren.
Dan krijg ik weer de melding "fout 13 typen kommen niet met elkaar overeen" :shocked:

het loopt hier vast
Code:
With Sheets("Kunden_Daten")
    iRow = .Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
    .Cells(iRow, 1).Resize(, 20).Value = Array(CT_00.Value, CT_01.Value, CT_02.Value, CT_03.Value, CT_04.Value, CT_05.Value, CT_06.Value, CT_07.Value, CT_08.Value _
    , CT_09.Value, CT_10.Value, CT_11.Value, CT_12.Value, CDate(CT_13.Value), CT_14.Value, CT_15.Value, Chb_00.Caption, CDate(CT_16.Value), CT_17.Value, CT_18.Value)
End With
reset

Volgens mij ben ik toe aan een flinke borrel, maar ja ik drink geen alcohol.
Dan maar een watertje:cool:


En nu als ik een "Krankenkasse" wil aanpassen, neemt het de nieuwe gegevens niet over.
 
Laatst bewerkt:
Zit hem vast hierin.
Code:
CDate(
 
:shocked: je hebt weer gelijk.

De CDate formattering eruit gehaald en kan nu nieuwe Kunden aanmaken.

Nu hoop ik dat er geen fouten meer in komen.

Weet jij of je ook "Namen" KK_lst ....... kunt beveiligen tegen veranderingen.
 
blokkeren en beveiligen van de cellen?
 
Dat werkt niet omdat die gegevens in de lijsten uitgelezen moeten worden en eventueel ook bijwerken.

Krijg namelijk de melding dat ik een beveiligd werkblad probeer te bewerken wat niet kan.
 
Dan haal je in die code de beveiliging eraf en zet je het aan het eind er weer op.
 
Misschien is het beter om eerst eens wat te sleutelen aan de basis.
Om maar eens ergens te beginnen:
- De tabellen een logisch naam geven. Tbl_Anrede ipv AR_lst9, Tbl_Kdaten ipv Kdaten_tbl (al is dit een persoonlijke voorkeur)
- Geen onnodige namen definiëren als je allemaal tabellen hebt met maar 1 kolom? Dan kan je de databodyrange gebruiken. bv CT_05.List = Sheets("Listen").ListObjects("Tbl_Anrede").DataBodyRange.Value
- Als er meerdere kolommen in een tabel staan dan kan je Application.Index gebruiken.
- Geef je controls logische namen CT voor een textbox en voor een combobox gebruiken maakt het onleesbaar ook de niet logische volgorde van de nummering maakt het onbegrijpelijk.

Klein voorbeeldje:
Code:
Private Sub UserForm_Initialize()
  CT_00.Value = Application.Max(Application.Index(Sheets("Kunden_Daten").ListObjects("Tbl_Kdaten").Range.Columns(1), 0, 1)) + 1
  'Mag ook zo CT_00.Value = Application.Max(Application.Index(Range("Tbl_Kdaten").Columns(1), 0, 1)) + 1
  CT_05.List = Sheets("Listen").ListObjects("Tbl_Anrede").DataBodyRange.Value
  'Mag ook zo CT_05.List = Range("Tbl_Anrede").Value
  Cmd_01.Enabled = False
End Sub

Veel meer opties zijn mogelijk, maar mogelijk begrijp je zo zelf waar je nogal druk mee bent.;)
 
Laatst bewerkt:
Dan haal je in die code de beveiliging eraf en zet je het aan het eind er weer op.

Ja inderdaad zo kan het ook nog.

Mijn dank voor deze tip.
 
Misschien is het beter om eerst eens wat te sleutelen aan de basis.
Om maar eens ergens te beginnen:
- De tabellen een logisch naam geven. Tbl_Anrede ipv AR_lst9, Tbl_Kdaten ipv Kdaten_tbl (al is dit een persoonlijke voorkeur)
- Geen onnodige namen definiëren als je allemaal tabellen hebt met maar 1 kolom? Dan kan je de databodyrange gebruiken. bv CT_05.List = Sheets("Listen").ListObjects("Tbl_Anrede").DataBodyRange.Value
- Als er meerdere kolommen in een tabel staan dan kan je Application.Index gebruiken.
- Geef je controls logische namen CT voor een textbox en voor een combobox gebruiken maakt het onleesbaar ook de niet logische volgorde van de nummering maakt het onbegrijpelijk.

Dit ga ik allemaal meenemen in de volgende versie, laat mijn dochter hier eerst maar mee werken dan kan ik het eea wijzigen.

Jij ook bedank voor bijdrage :thumb::thumb::thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan