• 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.

waarom wordt listofdata niet goed gevuld ??

Status
Niet open voor verdere reacties.

kareltje555

Gebruiker
Lid geworden
22 sep 2011
Berichten
75
deze code heeft prachtig gewerkt. maar om duistere en mij onbekende en niet te traceren reden, werkt het niet meer . deze code staat in blad3 data,
na het importeren van data , zie o.a. knop op dat werkblad, nummert kolom a keurig op maar de onderstaande code werkt niet .
wel wanneer ik handmatig in kolom a een getal invoer en met enter klik.

waarom ??

de reden waarom ik aan het zoeken ben is om een groter probleem , namelijk de listofdata, welke geladen zou moeten worden in userform OnOfHold, zie knop ook op ( blad 3 data ), deze listofdata vult zich erg onregelmatig met gegevens.

ik kom er maar niet achter waarom dit zo gebeurd. en dus niet OK is.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo Einde
If Target.Column = 1 Then
If Target.Value <> "" Then
    Target.Offset(0, 52).Value = Date
Else: Target.Offset(0, 52).Value = ""
End If
End If

Einde:
End Sub

jullie hebben mij al zo goed geholpen en het heeft goed gewerkt totdat ???

super dank maar alvast weer . Charles
 
Laatst bewerkt door een moderator:
Ik heb je documenten niet bekeken, want geen tijd meer. Maar ik zou in ieder geval de getoonde code wijzigen in dit:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Target.Column = 1 Then
        Target.Offset(0, 52).Value = IIf(Target.Value <> "", Date, "")
    End If
    Application.EnableEvents = True
End Sub
 
Laatst bewerkt:
is verbetering ??

ook ik heb nu geen tijd om te checken. morgen middag kan ik weer.
ik hoop dat je dan ook de rest bekeken hebt ))))))))))))))))))))):d:)
 
Set rng = Range("ListOfData")

in bovengenoemde code van formulier in userform initialize , stopt na 1 keer gebruik de code . geeft fout melding aan bij

Set rng = Range("ListOfData")

wat gaat er mis ??


gr charles
 
Welke bovengenoemde code bedoel je? Er staat vanaf #1 geen enkele code die voor een userform is bedoeld.
 
Laatst bewerkt:
hoi edmoor

in gca proef forms = het bijgevoegde bestand staat de bedoelde code

in formulier onofhold

zou jij willen kijken ?? super.
wat ook vaak voorkomt .. en of dat een zelfde probleem oorzaak heft weet ik niet , maar dat de eerste 23 regels worden ingelezen en dan stop
of dat er maar 16 regels worden ingelezen.

heel vreemd maar vooral lastig
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False

   Target.Offset(0, 52).Value = IIf(Target.Value <> "" and Target.Column = 1, Date, "")

    Application.EnableEvents = True
End Sub
 
initialize ... wat is niet ok ??

er wordt nu geen code meer ingelezen in de range

snap jij dat ik de weg kwijt ben )))))

Code:
Private Sub UserForm_Initialize()
Application.ScreenUpdating = False
CBmedewerker.Value = Sheets("Gegevens").Range("C81").Value
CBfunctie.Value = Sheets("Gegevens").Range("C82").Value
CBwerklocatie.Value = Sheets("Gegevens").Range("C50").Value
 TBdatum_van_cal.Value = Format(Date, "dd/mm/yyyy")
 TBdatumophef.Value = Format(Date, "dd/mm/yyyy")
 TBdatumtransfer.Value = Format(Date, "dd/mm/yyyy")
     'TBjaar.Value = Format(Date, "yyyy")                   'veld is tbdatumophef geworden
 TBdatumrood.Value = Format(Date, "dd/mm/yyyy")
 TBstartdatum.Value = Format(Date, "dd/mm/yyyy")
 CBmaand.Value = Format(Date, "mm")
 CBmedewerker.List = Sheets("Gegevens").Range("C2:C30").Value
 CBZoCo.List = Sheets("Gegevens").Range("C2:C30").Value
 CBfunctie.List = Sheets("Gegevens").Range("D2:D10").Value
 '' CBdag.List = Sheets("Gegevens").Range("F2:F32").Value        'is veld startdatum oid
 '' CBmaand.List = Sheets("Gegevens").Range("G2:G13").Value
 ''TBjaar.List = Sheets("Gegevens").Range("G2:G145").Value         'veld is tbdatumophef geworden
 CBlvh.List = Sheets("Gegevens").Range("J2:J196").Value
 'CBwerklocatie.List = Sheets("Gegevens").Range("t2:t15").Value
 'TBcoa_nr.List = Sheets("Gegevens").Range("I2:I50").Value
 'TBv_nr.List = Sheets("Gegevens").Range("H2:H50").Value
 CBnw_locatie.List = Sheets("Gegevens").Range("k2:k140").Value
 'TBemaillocatie.List = Sheets("Gegevens").Range("l2:l140").Value
 'TBtelnummerlocatie.List = Sheets("Gegevens").Range("m2:m140").Value
 TBid.Value = WorksheetFunction.Max(Worksheets("Data").Range("A3:A500")) + 1
    Dim rng As Range
    Dim i As Long, j As Long, rw As Long
    Dim Myarray() As String
    Set rng = Range("ListOfData")
    With Me.ListOfData
        .Clear
        .ColumnHeads = False
        .ColumnCount = rng.Columns.Count            'start                                    '  anders tekst
        .ColumnWidths = "25;50;50;60;40;15;40;50;0;0;50;30;50;50;25;25;25;25;25;25;30;30;20;100;60;60;30;30;30;30;30;30;15;15;15"
    ReDim Myarray(rng.Rows.Count, rng.Columns.Count)
    rw = 0
            For i = 1 To rng.Rows.Count
            For j = 0 To rng.Columns.Count
                Myarray(rw, j) = rng.Cells(i, j + 1)
            Next
            rw = rw + 1
        Next
        .List = Myarray
        End With
        If Val(Me.txtLBSelectionIndex) > 1 Then
        Me.ListOfData.Selected(Val(Me.txtLBSelectionIndex)) = True
    End If
    
    Application.ScreenUpdating = True
    
    
    Call sorteer_data_code                           'hoeft niet ??    staat al bij update
    
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False

   Target.Offset(0, 52).Value = IIf(Target.Value <> "" And Target.Column = 1, Date, "")

    Application.EnableEvents = True
End Sub
 
De vraag 'wat is er goed' is sneller beantwoord.

Stel de eigenschappen in in de ontwerpmodus, gebruik daarvoor geen VBA-code.

Een combobox met slechts 1 waarde is onzin: gebruik dan een textbox.
 
gast0660, snb e.a..
wanneer ik regels op het werkblad verwijder op de "normale manier " ?? dmv links regels selecteren en re klik , verv vewrwijder dan gaat ergens iets mis of zo.
indien ik dan weer data importeeer dat wordt de nieuwe range niet aangemaakt of ingelezen ??

heb ik je nu op een spoor gezet ??

ik hoop op een geweldige oplossing en afronding van dit probleem.

bijdeweg..
de code van snb gisteren doet alleen in de eerste regel op ,52 een datum invullen . onderstaande regels niet. blijven leeg in geval van data import .
Code:
Private Sub CommandButton2_Click()
    Dim wkbCrntWorkBook As Workbook
    Dim wkbSourceBook As Workbook
    Dim rngSourceRange As Range
    Dim rngDestination As Range
    Set wkbCrntWorkBook = ActiveWorkbook
    On Error GoTo OOPS
    With Application.FileDialog(msoFileDialogOpen)
        .Filters.Clear
        .Filters.Add "Excel", "*.xlsx; *.xlsm; *.xlsb; *.xlsa"
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count > 0 Then
            Workbooks.Open .SelectedItems(1)
            Set wkbSourceBook = ActiveWorkbook
            Set rngSourceRange = Application.InputBox(prompt:="Kies het bereik dat je wilt importeren.", Title:="Kies bron bereik!", Type:=8)
            wkbCrntWorkBook.Activate
            Set rngDestination = Application.InputBox(prompt:="Kies éérste lege cel in Kolom B.", Title:="Kies bestemming!", Type:=8)
            rngSourceRange.Copy rngDestination
            rngDestination.CurrentRegion.EntireColumn.AutoFit
            wkbSourceBook.Close True
            Set nos = Range("B3", Range("B3").End(xlDown)).Offset(0, -1)
            nos.Resize(1, 1).Value = 1
            nos.Resize(1, 1).AutoFill nos, xlFillSeries
            nos.NumberFormat = "General"
        End If
    End With
    Exit Sub
OOPS:
wkbSourceBook.Close True
End Sub



bij handmatige invoer dan werkt het wel .

groet kareltje
 
op bericht van snb
De vraag 'wat is er goed' is sneller beantwoord. Stel de eigenschappen in in de ontwerpmodus, gebruik daarvoor geen VBA-code. Een combobox met slechts 1 waarde is onzin: gebruik dan een textbox.

CBfunctie.Value = Sheets("Gegevens").Range("C82").Value

bedoel je deze onder andere??

hij haalt hier dan toch de waarde op die op een werkblad staat en zet dat in het userform.
en wil je dan nog wat wijzigen in het userform dan kun je de ingestelde rowsource gebruiken .
 
Laatst bewerkt:
vullen listofdata, ten einde raad

betse heren, gewaardeerde wijze mannen,
ik heb jullie hulp zwaar vet hard nodig !!
in bovenstaande listbox wordt deze gevuld met dat auit werkblad. zie code.
maar wanneer er regels worden verwijderd en of nieuwe dat import wordt gedaan , vult de listofdata zich niet goed of volledig.

ik snapte het al niet en nu nog veel minder.

heel heel erg graag jullie wijsheid.

groet charles
 
Ik laat het graag aan de 'heren' over.
 
die snap ik niet ??

ik voel me een beetje in de steek gelaten .
terwijl het probleem geval juist zo interessant is en zo belangrijk om op te lossen.
 
Je adresseert jezelf aan heren en wijze mannen. Schakelt helft van de wereldbevolking (en helpers op dit forum) uit.

Greetz/Excelbat
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan