Kan mijn bestand te zwaar zijn

Status
Niet open voor verdere reacties.

MEradus

Gebruiker
Lid geworden
25 nov 2012
Berichten
287
Hallo,

Even een vraag (eerst zonder vb bestand, ivm privacy redenen).

Ik heb een Xlsm bestand gemaakt met een aantal formulieren die automatisch worden gevuld e.d.
Als laatste wordt het bestand opgeslagen op een server (per medewerker / eigen schijf) en daarna verstuurd en afgesloten.

Alles werkt, alleen op het moment dat ik nog andere excel bestanden open heb staan, kan ik daar niets meer mee.
Ik moet zelfs het proces via taakbeheer beëindigen.

Waar zou dit aan kunnen liggen? En is hier achter te komen zonder voorbeeld bestand?

Ik hoop het, anders zal ik flink wat aanpassingen moeten maken om een vbbestand te maken.
 
Zal vanavond of morgen even een aantal codes plaatsen. Idd wel handig.
 
Als je ze erin hebt zitten: verwijder alle Do ... Loop lussen.
 
Die zitten er niet in. Wel veel with listbox .additem en deze moet hij ophalen als er een bepaalde naam bekent wordt. En deze info moet ie uit meerdere tabbladen halen. En hetzelfde met comboboxen.
 
Gebruik .list om een combobox of listbox met gegevens te vullen.
 
Hier 1 van de codes in mijn bestand.
snb had al aangegeven dat ik .list moet gebruiken. (kan alleen niet zo snel vinden hoe ik dit moet doen, misschien een voorbeeldje?)
Dus dat moet ik nog even doen.

maar zou het hier aan kunnen liggen?

Code:
Dim uf1 As String
uf1 = Range("E2").Value
If uf1 = "Eradus, Michel" Then
With ListBox1
.AddItem Blad13.Cells(1, 1)
.AddItem Blad13.Cells(2, 1)
.AddItem Blad13.Cells(3, 1)
.AddItem Blad13.Cells(4, 1)
.AddItem Blad13.Cells(5, 1)
.AddItem Blad13.Cells(6, 1)
.AddItem Blad13.Cells(7, 1)
End With
With ListBox2
.AddItem Blad13.Cells(1, 2)
.AddItem Blad13.Cells(2, 2)
.AddItem Blad13.Cells(3, 2)
.AddItem Blad13.Cells(4, 2)
.AddItem Blad13.Cells(5, 2)
.AddItem Blad13.Cells(6, 2)
.AddItem Blad13.Cells(7, 2)
End With
With ListBox3
.AddItem Blad13.Cells(1, 3)
.AddItem Blad13.Cells(2, 3)
.AddItem Blad13.Cells(3, 3)
.AddItem Blad13.Cells(4, 3)
.AddItem Blad13.Cells(5, 3)
.AddItem Blad13.Cells(6, 3)
.AddItem Blad13.Cells(7, 3)
End With
With ListBox4
.AddItem Blad13.Cells(1, 4)
.AddItem Blad13.Cells(2, 4)
.AddItem Blad13.Cells(3, 4)
.AddItem Blad13.Cells(4, 4)
.AddItem Blad13.Cells(5, 4)
.AddItem Blad13.Cells(6, 4)
.AddItem Blad13.Cells(7, 4)
End With
ElseIf uf1 = "naam8" Then
With ListBox1
.AddItem Blad6.Cells(1, 1)
.AddItem Blad6.Cells(2, 1)
.AddItem Blad6.Cells(3, 1)
.AddItem Blad6.Cells(4, 1)
.AddItem Blad6.Cells(5, 1)
.AddItem Blad6.Cells(6, 1)
.AddItem Blad6.Cells(7, 1)
End With
With ListBox2
.AddItem Blad6.Cells(1, 2)
.AddItem Blad6.Cells(2, 2)
.AddItem Blad6.Cells(3, 2)
.AddItem Blad6.Cells(4, 2)
.AddItem Blad6.Cells(5, 2)
.AddItem Blad6.Cells(6, 2)
.AddItem Blad6.Cells(7, 2)
End With
With ListBox3
.AddItem Blad6.Cells(1, 3)
.AddItem Blad6.Cells(2, 3)
.AddItem Blad6.Cells(3, 3)
.AddItem Blad6.Cells(4, 3)
.AddItem Blad6.Cells(5, 3)
.AddItem Blad6.Cells(6, 3)
.AddItem Blad6.Cells(7, 3)
End With
With ListBox4
.AddItem Blad6.Cells(1, 4)
.AddItem Blad6.Cells(2, 4)
.AddItem Blad6.Cells(3, 4)
.AddItem Blad6.Cells(4, 4)
.AddItem Blad6.Cells(5, 4)
.AddItem Blad6.Cells(6, 4)
.AddItem Blad6.Cells(7, 4)
End With
ElseIf uf1 = "naam9" Then
With ListBox1
.AddItem Blad3.Cells(1, 1)
.AddItem Blad3.Cells(2, 1)
.AddItem Blad3.Cells(3, 1)
.AddItem Blad3.Cells(4, 1)
.AddItem Blad3.Cells(5, 1)
.AddItem Blad3.Cells(6, 1)
.AddItem Blad3.Cells(7, 1)
End With
With ListBox2
.AddItem Blad3.Cells(1, 2)
.AddItem Blad3.Cells(2, 2)
.AddItem Blad3.Cells(3, 2)
.AddItem Blad3.Cells(4, 2)
.AddItem Blad3.Cells(5, 2)
.AddItem Blad3.Cells(6, 2)
.AddItem Blad3.Cells(7, 2)
End With
With ListBox3
.AddItem Blad3.Cells(1, 3)
.AddItem Blad3.Cells(2, 3)
.AddItem Blad3.Cells(3, 3)
.AddItem Blad3.Cells(4, 3)
.AddItem Blad3.Cells(5, 3)
.AddItem Blad3.Cells(6, 3)
.AddItem Blad3.Cells(7, 3)
End With
With ListBox4
.AddItem Blad3.Cells(1, 4)
.AddItem Blad3.Cells(2, 4)
.AddItem Blad3.Cells(3, 4)
.AddItem Blad3.Cells(4, 4)
.AddItem Blad3.Cells(5, 4)
.AddItem Blad3.Cells(6, 4)
.AddItem Blad3.Cells(7, 4)
End With
ElseIf uf1 = "mijn naam" Then
With ListBox1
.AddItem Blad15.Cells(1, 1)
.AddItem Blad15.Cells(2, 1)
.AddItem Blad15.Cells(3, 1)
.AddItem Blad15.Cells(4, 1)
.AddItem Blad15.Cells(5, 1)
.AddItem Blad15.Cells(6, 1)
.AddItem Blad15.Cells(7, 1)
End With
With ListBox2
.AddItem Blad15.Cells(1, 2)
.AddItem Blad15.Cells(2, 2)
.AddItem Blad15.Cells(3, 2)
.AddItem Blad15.Cells(4, 2)
.AddItem Blad15.Cells(5, 2)
.AddItem Blad15.Cells(6, 2)
.AddItem Blad15.Cells(7, 2)
End With
With ListBox3
.AddItem Blad15.Cells(1, 3)
.AddItem Blad15.Cells(2, 3)
.AddItem Blad15.Cells(3, 3)
.AddItem Blad15.Cells(4, 3)
.AddItem Blad15.Cells(5, 3)
.AddItem Blad15.Cells(6, 3)
.AddItem Blad15.Cells(7, 3)
End With
With ListBox4
.AddItem Blad15.Cells(1, 4)
.AddItem Blad15.Cells(2, 4)
.AddItem Blad15.Cells(3, 4)
.AddItem Blad15.Cells(4, 4)
.AddItem Blad15.Cells(5, 4)
.AddItem Blad15.Cells(6, 4)
.AddItem Blad15.Cells(7, 4)
End With
ElseIf uf1 = "naam mijn" Then
With ListBox1
.AddItem Blad11.Cells(1, 1)
.AddItem Blad11.Cells(2, 1)
.AddItem Blad11.Cells(3, 1)
.AddItem Blad11.Cells(4, 1)
.AddItem Blad11.Cells(5, 1)
.AddItem Blad11.Cells(6, 1)
.AddItem Blad11.Cells(7, 1)
End With
With ListBox2
.AddItem Blad11.Cells(1, 2)
.AddItem Blad11.Cells(2, 2)
.AddItem Blad11.Cells(3, 2)
.AddItem Blad11.Cells(4, 2)
.AddItem Blad11.Cells(5, 2)
.AddItem Blad11.Cells(6, 2)
.AddItem Blad11.Cells(7, 2)
End With
With ListBox3
.AddItem Blad11.Cells(1, 3)
.AddItem Blad11.Cells(2, 3)
.AddItem Blad11.Cells(3, 3)
.AddItem Blad11.Cells(4, 3)
.AddItem Blad11.Cells(5, 3)
.AddItem Blad11.Cells(6, 3)
.AddItem Blad11.Cells(7, 3)
End With
With ListBox4
.AddItem Blad11.Cells(1, 4)
.AddItem Blad11.Cells(2, 4)
.AddItem Blad11.Cells(3, 4)
.AddItem Blad11.Cells(4, 4)
.AddItem Blad11.Cells(5, 4)
.AddItem Blad11.Cells(6, 4)
.AddItem Blad11.Cells(7, 4)
End With
ElseIf uf1 = "naam7" Then
With ListBox1
.AddItem Blad14.Cells(1, 1)
.AddItem Blad14.Cells(2, 1)
.AddItem Blad14.Cells(3, 1)
.AddItem Blad14.Cells(4, 1)
.AddItem Blad14.Cells(5, 1)
.AddItem Blad14.Cells(6, 1)
.AddItem Blad14.Cells(7, 1)
End With
With ListBox2
.AddItem Blad14.Cells(1, 2)
.AddItem Blad14.Cells(2, 2)
.AddItem Blad14.Cells(3, 2)
.AddItem Blad14.Cells(4, 2)
.AddItem Blad14.Cells(5, 2)
.AddItem Blad14.Cells(6, 2)
.AddItem Blad14.Cells(7, 2)
End With
With ListBox3
.AddItem Blad14.Cells(1, 3)
.AddItem Blad14.Cells(2, 3)
.AddItem Blad14.Cells(3, 3)
.AddItem Blad14.Cells(4, 3)
.AddItem Blad14.Cells(5, 3)
.AddItem Blad14.Cells(6, 3)
.AddItem Blad14.Cells(7, 3)
End With
With ListBox4
.AddItem Blad14.Cells(1, 4)
.AddItem Blad14.Cells(2, 4)
.AddItem Blad14.Cells(3, 4)
.AddItem Blad14.Cells(4, 4)
.AddItem Blad14.Cells(5, 4)
.AddItem Blad14.Cells(6, 4)
.AddItem Blad14.Cells(7, 4)
End With
ElseIf uf1 = "naam" Then
With ListBox1
.AddItem Blad21.Cells(1, 1)
.AddItem Blad21.Cells(2, 1)
.AddItem Blad21.Cells(3, 1)
.AddItem Blad21.Cells(4, 1)
.AddItem Blad21.Cells(5, 1)
.AddItem Blad21.Cells(6, 1)
.AddItem Blad21.Cells(7, 1)
End With
With ListBox2
.AddItem Blad21.Cells(1, 2)
.AddItem Blad21.Cells(2, 2)
.AddItem Blad21.Cells(3, 2)
.AddItem Blad21.Cells(4, 2)
.AddItem Blad21.Cells(5, 2)
.AddItem Blad21.Cells(6, 2)
.AddItem Blad21.Cells(7, 2)
End With
With ListBox3
.AddItem Blad21.Cells(1, 3)
.AddItem Blad21.Cells(2, 3)
.AddItem Blad21.Cells(3, 3)
.AddItem Blad21.Cells(4, 3)
.AddItem Blad21.Cells(5, 3)
.AddItem Blad21.Cells(6, 3)
.AddItem Blad21.Cells(7, 3)
End With
With ListBox4
.AddItem Blad21.Cells(1, 4)
.AddItem Blad21.Cells(2, 4)
.AddItem Blad21.Cells(3, 4)
.AddItem Blad21.Cells(4, 4)
.AddItem Blad21.Cells(5, 4)
.AddItem Blad21.Cells(6, 4)
.AddItem Blad21.Cells(7, 4)
End With
ElseIf uf1 = "naam1" Then
With ListBox1
.AddItem Blad12.Cells(1, 1)
.AddItem Blad12.Cells(2, 1)
.AddItem Blad12.Cells(3, 1)
.AddItem Blad12.Cells(4, 1)
.AddItem Blad12.Cells(5, 1)
.AddItem Blad12.Cells(6, 1)
.AddItem Blad12.Cells(7, 1)
End With
With ListBox2
.AddItem Blad12.Cells(1, 2)
.AddItem Blad12.Cells(2, 2)
.AddItem Blad12.Cells(3, 2)
.AddItem Blad12.Cells(4, 2)
.AddItem Blad12.Cells(5, 2)
.AddItem Blad12.Cells(6, 2)
.AddItem Blad12.Cells(7, 2)
End With
With ListBox3
.AddItem Blad12.Cells(1, 3)
.AddItem Blad12.Cells(2, 3)
.AddItem Blad12.Cells(3, 3)
.AddItem Blad12.Cells(4, 3)
.AddItem Blad12.Cells(5, 3)
.AddItem Blad12.Cells(6, 3)
.AddItem Blad12.Cells(7, 3)
End With
With ListBox4
.AddItem Blad12.Cells(1, 4)
.AddItem Blad12.Cells(2, 4)
.AddItem Blad12.Cells(3, 4)
.AddItem Blad12.Cells(4, 4)
.AddItem Blad12.Cells(5, 4)
.AddItem Blad12.Cells(6, 4)
.AddItem Blad12.Cells(7, 4)
End With
ElseIf uf1 = "Naam5" Then
With ListBox1
.AddItem Blad5.Cells(1, 1)
.AddItem Blad5.Cells(2, 1)
.AddItem Blad5.Cells(3, 1)
.AddItem Blad5.Cells(4, 1)
.AddItem Blad5.Cells(5, 1)
.AddItem Blad5.Cells(6, 1)
.AddItem Blad5.Cells(7, 1)
End With
With ListBox2
.AddItem Blad5.Cells(1, 2)
.AddItem Blad5.Cells(2, 2)
.AddItem Blad5.Cells(3, 2)
.AddItem Blad5.Cells(4, 2)
.AddItem Blad5.Cells(5, 2)
.AddItem Blad5.Cells(6, 2)
.AddItem Blad5.Cells(7, 2)
End With
With ListBox3
.AddItem Blad5.Cells(1, 3)
.AddItem Blad5.Cells(2, 3)
.AddItem Blad5.Cells(3, 3)
.AddItem Blad5.Cells(4, 3)
.AddItem Blad5.Cells(5, 3)
.AddItem Blad5.Cells(6, 3)
.AddItem Blad5.Cells(7, 3)
End With
With ListBox4
.AddItem Blad5.Cells(1, 4)
.AddItem Blad5.Cells(2, 4)
.AddItem Blad5.Cells(3, 4)
.AddItem Blad5.Cells(4, 4)
.AddItem Blad5.Cells(5, 4)
.AddItem Blad5.Cells(6, 4)
.AddItem Blad5.Cells(7, 4)
End With
ElseIf uf1 = "NAAM3" Then
With ListBox1
.AddItem Blad8.Cells(1, 1)
.AddItem Blad8.Cells(2, 1)
.AddItem Blad8.Cells(3, 1)
.AddItem Blad8.Cells(4, 1)
.AddItem Blad8.Cells(5, 1)
.AddItem Blad8.Cells(6, 1)
.AddItem Blad8.Cells(7, 1)
End With
With ListBox2
.AddItem Blad8.Cells(1, 2)
.AddItem Blad8.Cells(2, 2)
.AddItem Blad8.Cells(3, 2)
.AddItem Blad8.Cells(4, 2)
.AddItem Blad8.Cells(5, 2)
.AddItem Blad8.Cells(6, 2)
.AddItem Blad8.Cells(7, 2)
End With
With ListBox3
.AddItem Blad8.Cells(1, 3)
.AddItem Blad8.Cells(2, 3)
.AddItem Blad8.Cells(3, 3)
.AddItem Blad8.Cells(4, 3)
.AddItem Blad8.Cells(5, 3)
.AddItem Blad8.Cells(6, 3)
.AddItem Blad8.Cells(7, 3)
End With
With ListBox4
.AddItem Blad8.Cells(1, 4)
.AddItem Blad8.Cells(2, 4)
.AddItem Blad8.Cells(3, 4)
.AddItem Blad8.Cells(4, 4)
.AddItem Blad8.Cells(5, 4)
.AddItem Blad8.Cells(6, 4)
.AddItem Blad8.Cells(7, 4)
End With
Else
End If
End Sub
"




Hier nog een code die meerdere keren voorkomt.

Code:
Public Sub ComboBox1_Change()

TextBox1.Value = FormatDateTime(ComboBox1.List(ComboBox1.ListIndex, 1), vbLongTime)
TextBox2.Value = FormatDateTime(ComboBox1.List(ComboBox1.ListIndex, 2), vbLongTime)

Select Case ComboBox1.Text

Case "APDIENST", "VERLOF", "ZIEK"
ComboBox8.Visible = True
TextBox1.Enabled = True
TextBox2.Enabled = True
End Select

End Sub

En hier nog een code.

Code:
Public Sub UserForm_Initialize()

ComboBox1.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox2.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox3.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox4.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox5.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox6.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox7.List = Blad1.Cells(1).CurrentRegion.Value

ComboBox8.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox9.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox10.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox11.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox12.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox13.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox14.List = Blad1.Cells(5).CurrentRegion.Value

ComboBox8.Visible = False
ComboBox9.Visible = False
ComboBox10.Visible = False
ComboBox11.Visible = False
ComboBox12.Visible = False
ComboBox13.Visible = False
ComboBox14.Visible = False


Bij komende informatie,

Dit is een omgebouwd bestand.
Ik had dit bestand al, maar met DTpickers, maar op een of andere vage manier kan ik die hier op mijn werk niet meer gebruiken.
En ons externe IT bedrijf krijgt het helaas niet voor elkaar om de bestanden opnieuw te registreren (of doen er geen moeite voor.....)
Daarom moet ik nu alles met textboxen doen. Wat wel nieuw is, is de eerste code....... Om ervoor te zorgen dat de mensen die een 4 weeks rooster hebben niet hoeven te zoeken in welke week ze zitten.
 
Laatst bewerkt:
Waar doen we het toch allemaal voor: ;)

http://www.snb-vba.eu/VBA_Fill_combobox_listbox.html

jouw code; bijv.

ipv
Code:
With ListBox1
.AddItem Blad13.Cells(1, 1)
.AddItem Blad13.Cells(2, 1)
.AddItem Blad13.Cells(3, 1)
.AddItem Blad13.Cells(4, 1)
.AddItem Blad13.Cells(5, 1)
.AddItem Blad13.Cells(6, 1)
.AddItem Blad13.Cells(7, 1)
End With

Code:
ListBox1.list=Blad13.Cells(1, 1).resize(7).value


en ipv
Code:
Public Sub UserForm_Initialize()

ComboBox1.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox2.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox3.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox4.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox5.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox6.List = Blad1.Cells(1).CurrentRegion.Value
ComboBox7.List = Blad1.Cells(1).CurrentRegion.Value

ComboBox8.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox9.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox10.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox11.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox12.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox13.List = Blad1.Cells(5).CurrentRegion.Value
ComboBox14.List = Blad1.Cells(5).CurrentRegion.Value

ComboBox8.Visible = False
ComboBox9.Visible = False
ComboBox10.Visible = False
ComboBox11.Visible = False
ComboBox12.Visible = False
ComboBox13.Visible = False
ComboBox14.Visible = False

Code:
Public Sub UserForm_Initialize()
  ComboBox1.List = Blad1.Cells(1).CurrentRegion.Value
  for j=2 to 7 
    Me("ComboBox" & j).List = combobox1.list
  next

  ComboBox8.List = Blad1.Cells(5).CurrentRegion.Value
  for j=9 to 14 
    Me("ComboBox" & j).List = combobox8.list
  next
End Sub


en deze code
Code:
ComboBox8.Visible = False
ComboBox9.Visible = False
ComboBox10.Visible = False
ComboBox11.Visible = False
ComboBox12.Visible = False
ComboBox13.Visible = False
ComboBox14.Visible = False
is overbodig als je in de ontwerpmodus deze comboboxen op visible=false zet.
 
Laatst bewerkt:
Snb, ik heb codes waarvan jij aangaf dat ik die beter kan aanpassen, aangepast.
Al deze codes werken! Dank je wel daarvoor.

Maar het probleem dat heel excel vastslaat is helaas nog niet opgelost.
Wel raar want in mijn vorige bestand (met de DTPickers) kon hij alles wel aan.

Nu heb ik alles aangepast naar een Textbox en heb er 1 extra code bij ingezet en nou slaat hij helemaal vast...

Misschien een brutale vraag:

Mag ik jou anders het bestand even toesturen/mailen?
Ik wil hem liever niet online zetten i.v.m. de namen / privacy van mijn collega's.
het is nogal veel werk om de namen 'even' weg te halen.



Kan ik het "resize" ook gebruiken bij onderstaande code?

Code:
If Label1 = "Eradus, Michel 1" Then
ComboBox1.Value = Blad2.Cells(1, 1)
ComboBox2.Value = Blad2.Cells(2, 1)
ComboBox3.Value = Blad2.Cells(3, 1)
ComboBox4.Value = Blad2.Cells(4, 1)
ComboBox5.Value = Blad2.Cells(5, 1)
ComboBox6.Value = Blad2.Cells(6, 1)
ComboBox7.Value = Blad2.Cells(7, 1)
ElseIf Label1 = "Eradus, Michel 2" Then
ComboBox1.Value = Blad2.Cells(1, 2)
ComboBox2.Value = Blad2.Cells(2, 2)
ComboBox3.Value = Blad2.Cells(3, 2)
ComboBox4.Value = Blad2.Cells(4, 2)
ComboBox5.Value = Blad2.Cells(5, 2)
ComboBox6.Value = Blad2.Cells(6, 2)
ComboBox7.Value = Blad2.Cells(7, 2)
 
Laatst bewerkt:
Dank je wel!

Ik zal je het originele bestand ook mee sturen, die bij mij op het werk niet meer werk....
Misschien kun je die gebruiken als vergelijkingsmateriaal.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan