Hoi Allemaal. Ik ben nog niet zolang bezig met VBA in combinatie met exel. Ik werk als verpleegkundige en wil onze patiëntenlijst die we gebruiken automatiseren, zodat er altijd up to date gegevens tbv onderzoek en informatie zijn. Niet in acces ivm licenties organisatie.
in het werkblad is er slechts 1 blad zichtbaar waar álle verzamelgegevens op zichtbaar zijn. Die haalt zijn gegevens van het 2e onzichtbare werkblad vandaan. 1e blad moet beveiligd zijn tbv computeranalfabeten die zelfs een worddocument nog laten vastlopen. Derhalve het 2e blad verborgen.
Via een formulier wil ik twee listboxen vullen: 1 tbv namen cliënt en 1 tbv selecteren lege kamers.
Dit is ten behoeve van overplaatsen cliënt binnen de afdeling (psychiatrie, open en gesloten). Daarnaast komt er nog een formulier tbv van ontslag. 1e formulier zou ook geschikt kunnen zijn om nieuwe cliënt in op te nemen.
Ik krijg de listboxen gevuld
Nu loop ik tegen het volgende aan:
De box voegd wel regels toe, ook al zijn ze niet te gebruiken (geen patient, of geen lege kamer).
Na het klikken van OK wordt de rij niet herkend, zodat er niet mee gemanipuleerd kan worden.
Wat doe ik fout????
de code:
Private Sub CmdCancel_Click()
Unload Me
End Sub
Private Sub CmdOK_Click()
MsgBox Selrow1
If Selrow1 = "" Then
MsgBox Selrow1 'hier heeft selrow1 al geen waarde meer ==> is verkeerd gedeclareerd
MsgBox "U moet een naam kiezen" 'zit fout in, blijft melden dat er geen naam gekozen is in listbox.
End If
End Sub
Private Sub ListBox2_Click()
Selrow2 = ListBox2.ListIndex + 2
MsgBox Selrow2
End Sub
Private Sub ListBox1_Click()
Selrow1 = ListBox1.ListIndex + 2
MsgBox Selrow1
End Sub
Private Sub UserForm_Activate()
Dim MyList1(35), MyList2(35)
Dim r, Selrow1, Selrow2 As Integer
Application.ShowToolTips = True
With ListBox1
.ColumnCount = 1
.ColumnWidths = 5
.Width = 90
.Height = 110
.ControlTipText = "klik op de Naam die je zoekt"
End With
With ListBox2 'deze wordt niet aangepast, weet niet waarom.
.ColumnCount = 1
.ColumnWidths = 5
.Width = 90
.Height = 110
.ControlTipText = "klik op de Kamer die je zoekt"
End With
For r = 0 To 35
'stel een lijst van te verplaatsen clienten samen en een lijst van lege kamers.
'Patientkamer = Cells(R, 1).Value 'geef de variable de waarde van cell, waarbij eerste getal
'de r de rij is en tweede getal de kolom (=omgekeerd tov range)
If Cells(r + 2, 2) = "" Then
MyList2(r) = Sheets("wijzigingspagina").Range("A" & r + 2)
MyList1(r) = "vrij"
Else
MyList1(r) = Sheets("wijzigingspagina").Range("B" & r + 2)
MyList2(r) = "bezet"
End If
Next r
'populate the list box
ListBox1.List = MyList1
ListBox2.List = MyList2
'nog te doen = lege regels uit mylist verwijderen, zonder dat de verwijzingen naar de juiste cell verdwijnt.
End Sub
in de worksheet is kolom A de kamer en kolom B de naam van de patiënt.
Door kolom B te testen weet ik of er een kamer vrij is. Kolom A zijn kamers, met niet opeenvolgende nummers (vonden de bouwers makkelijker).
Kolom A is echter na wijziging makkelijk te sorteren, waardoor alles weer goed staat.
Wie weet raad?
alvast bedankt.
in het werkblad is er slechts 1 blad zichtbaar waar álle verzamelgegevens op zichtbaar zijn. Die haalt zijn gegevens van het 2e onzichtbare werkblad vandaan. 1e blad moet beveiligd zijn tbv computeranalfabeten die zelfs een worddocument nog laten vastlopen. Derhalve het 2e blad verborgen.
Via een formulier wil ik twee listboxen vullen: 1 tbv namen cliënt en 1 tbv selecteren lege kamers.
Dit is ten behoeve van overplaatsen cliënt binnen de afdeling (psychiatrie, open en gesloten). Daarnaast komt er nog een formulier tbv van ontslag. 1e formulier zou ook geschikt kunnen zijn om nieuwe cliënt in op te nemen.
Ik krijg de listboxen gevuld
Nu loop ik tegen het volgende aan:
De box voegd wel regels toe, ook al zijn ze niet te gebruiken (geen patient, of geen lege kamer).
Na het klikken van OK wordt de rij niet herkend, zodat er niet mee gemanipuleerd kan worden.
Wat doe ik fout????
de code:
Private Sub CmdCancel_Click()
Unload Me
End Sub
Private Sub CmdOK_Click()
MsgBox Selrow1
If Selrow1 = "" Then
MsgBox Selrow1 'hier heeft selrow1 al geen waarde meer ==> is verkeerd gedeclareerd
MsgBox "U moet een naam kiezen" 'zit fout in, blijft melden dat er geen naam gekozen is in listbox.
End If
End Sub
Private Sub ListBox2_Click()
Selrow2 = ListBox2.ListIndex + 2
MsgBox Selrow2
End Sub
Private Sub ListBox1_Click()
Selrow1 = ListBox1.ListIndex + 2
MsgBox Selrow1
End Sub
Private Sub UserForm_Activate()
Dim MyList1(35), MyList2(35)
Dim r, Selrow1, Selrow2 As Integer
Application.ShowToolTips = True
With ListBox1
.ColumnCount = 1
.ColumnWidths = 5
.Width = 90
.Height = 110
.ControlTipText = "klik op de Naam die je zoekt"
End With
With ListBox2 'deze wordt niet aangepast, weet niet waarom.
.ColumnCount = 1
.ColumnWidths = 5
.Width = 90
.Height = 110
.ControlTipText = "klik op de Kamer die je zoekt"
End With
For r = 0 To 35
'stel een lijst van te verplaatsen clienten samen en een lijst van lege kamers.
'Patientkamer = Cells(R, 1).Value 'geef de variable de waarde van cell, waarbij eerste getal
'de r de rij is en tweede getal de kolom (=omgekeerd tov range)
If Cells(r + 2, 2) = "" Then
MyList2(r) = Sheets("wijzigingspagina").Range("A" & r + 2)
MyList1(r) = "vrij"
Else
MyList1(r) = Sheets("wijzigingspagina").Range("B" & r + 2)
MyList2(r) = "bezet"
End If
Next r
'populate the list box
ListBox1.List = MyList1
ListBox2.List = MyList2
'nog te doen = lege regels uit mylist verwijderen, zonder dat de verwijzingen naar de juiste cell verdwijnt.
End Sub
in de worksheet is kolom A de kamer en kolom B de naam van de patiënt.
Door kolom B te testen weet ik of er een kamer vrij is. Kolom A zijn kamers, met niet opeenvolgende nummers (vonden de bouwers makkelijker).
Kolom A is echter na wijziging makkelijk te sorteren, waardoor alles weer goed staat.
Wie weet raad?
alvast bedankt.