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

aanmaken tabellen met macro

Status
Niet open voor verdere reacties.

coolsluc

Gebruiker
Lid geworden
2 mei 2013
Berichten
332
Aan iedereen die wil helpen.

Ik heb een Excel blad met tabellen die gebruikt worden om lijsten aan te maken voor de wekelijkse kaartprijskamp;
De bedoeling is om de tabel in te vullen via het aantal ingevulde tafels in cel A1 (sheet tafelnummer)
Nu zou ik graag een formule willen gebruiken om de tabel aan te maken in sheet tafelnummer (zie voorbeeld).
In sheet tabel staan de nummers per aantal tafels van 4 tot 30 tafels
Aan tafel1 (zie tabel) zitten de mensen met inschrijvingsnummer 1,9,17en25 / tafel2 de nummers 2,10,18en26 enz.
1 9 17 25 ronde1
2 10 18 26 ronde1

Per tafel zijn er 4 personen en dit voor 4 ronde
De bedoeling is dat via een macroknop gekeken wordt hoeveel tafels er zijn (sheet tafelnummer cel A1) en dan de nummers opzoekt in de tabellen (sheet tabel)
Ps:ik heb en voorbeeld geplaatst in bijlage maar heb dit allemaal handmatig overgezet wat gezien de hoeveelheid gegevens (bvb:30 tafel ) aanleiding geeft tot fouten!
Kan er iemand helpen'dank bij voorbaat.
Bekijk bijlage Invulblad ronden.xlsm


Mvg,Luc
 
Laatst bewerkt:
Kan ook met een formule.
Zie bijlage
 

Bijlagen

  • Invulblad ronden (1)(ma).xlsm
    115,9 KB · Weergaven: 56
mart37,bedankt voor de snelle oplossing

Alles werkt naar behoren (ik heb intussen de nullen verborgen bij de tafels die nodig zijn)
Een probleempje als je 4 tafels ingeeft geeft dit niet de juiste weergave.
Ben nu op zoek hoe ik een macroknop moet installeren om de bladen af te printen (lang niet meer nodig gehad)
Dit was een onderdeel van de opmaak,als hij zou afprinten dat hij niet de lege bladen mee print.

ps:Nu zie ik de formules als ik op een cel ga staan,kunnen deze op een of ander manier verbogen worden zodat niemand deze kan aanpassen/verwijderen?
Is het mogelijk om de kolommen 1tm4 te voorzien van tekst vb:1ste ronde enz.
Bekijk bijlage Invulblad ronden (1)(ma).xlsm


mvg,Luc
 
Laatst bewerkt:
mart37;Ik heb intussen de macro geplaatst deze werkt maar als ik de tabel afprint print hij de volledige lijst (ook de niet ingevulde cellen)
Heb jij daar een oplossing voor-->zei bijlage Bekijk bijlage Invulblad ronden 1.xlsm
ps:alvast bedankt voor de hulp


mvg;Luc
 
Sorry was vergeten de absolute celverwijzing goed te zetten.
Een werkblad kan je beveiligen via Controle - Blad beveiligen. Wel eerst bij de cel(len) die gewijzigd mogen worden de celeigenschap: geblokkeerd weghalen!
 

Bijlagen

  • Invulblad ronden (1)(ma)(2).xlsm
    115,9 KB · Weergaven: 49
Wijzig de eerste regel in:
Range("A1", Cells(Range("C1") * 4 + 3, 6)).Select
 
Verander de kolom titels in: 1ste ronde etc

Pas de formule aan:
Code:
=SOMPRODUCT((tabel!$F$2:$F$2000=[COLOR="#FF0000"]WAARDE(LINKS(C$2;1))[/COLOR])*(tabel!$A$2:$A$2000=$C$1)*((tabel!$B$2:$B$2000=$A4)+(tabel!$C$2:$C$2000=$A4)+(tabel!$D$2:$D$2000=$A4)+(tabel!$E$2:$E$2000=$A4));(tabel!$G$2:$G$2000))
 
Laatst bewerkt:
mart37

Bedankt voor de formules.
Ik ben even bezig geweest om de macro in orde te krijgen =OK nu
Tevens heb ik de beide oplossingen in het blad ingebracht en getest,alles werkt perfect.
nogmaals bedankt en misschien tot later



mvg,Luc
 
Mart37

Ik heb nog een vraagje voor het afprinten van de tabel
Is het mogelijk om het blad in 2 te verdelen zodat er minder tafels per blad zijn maar met grotere letters (= duidelijker leesbaar voor iedereen)
Ps:vb: max. 8 tafels per kolom
Als ik dan de macro bedien moet hij de tafels verdelen over beide kolommen zodat hij enkel de geselecteerde tafels print verdeeld over de hele pagina.
Kun jij mij hierbij helpen aub.
Invulblad ronde.xlsm kopie is de juiste bijlage
Bekijk bijlage Invulblad ronden - kopie.xlsm


Mvg,Luc
 

Bijlagen

  • Invulblad ronden.xlsm
    125,5 KB · Weergaven: 54
Laatst bewerkt:
Om op elke pagina de kolomtitels af te drukken kan je op het tab PAGINA-INDELING bij AFDRUKTITELS opgeven dat je de eerste twee rijen bovenaan op elke pagina wil afdrukken.

Code:
Sub printen()
    aantal_tafels = Worksheets("tafelnummer").Range("C1")
    aantal_paginas = aantal_tafels / 2
    startrij = 4
    For x = 1 To aantal_paginas
        Worksheets("tafelnummer").Range("A" & startrij & ":F" & startrij + 7).Select
        Selection.PrintOut Copies:=1, Collate:=True
        startrij = startrij + 8
    Next x
End Sub
 
Vermijd 'select' en 'selection' waar het rechtstreeks kan.
Code:
Worksheets("tafelnummer").Range("A" & startrij & ":F" & startrij + 7).PrintOut

Andere methode:
Let op dat er een spatie achteraan in de bladnaam "tafelnummer " staat in je voorbeeldbestand.
Code:
Sub printje()
With Sheets("tafelnummer ")
   For i = 4 To .Range("C1") * 4 Step 8
    .Range(.Cells(i, 1), .Cells(i + 7, 6)).Printout
   Next i
 End With
End Sub
 
Mart37/HSV;

bedankt voor de reacties ,ik heb het blad in 2-kolommen verdeeld maar in de 2de kolom staan geen formules (ken er onvoldoende van) worden deze autm. ingevuld want als ik nu het aantal tafels invoer gebeurt er in de 2de kolom niets?

voor de formule van Mart, ik heb geprobeerd deze te kopieren en in te brengen zoals beschreven maar dit werkt niet(waarschijnlijk niet juist uitgevoerd ben maar een leek!)

kunnen jullie mij helpen,ik weet niet waar ik iets moet inbrengen (zo simpel mogelijk).
in de bijlage heb ik de formules edg. naar de 2de kolom gekopieerd nu zou als ik het aantal tafel invoer deze verdeeld moeten worden over de kolommen met een max. van 8tafels per pagina (misschien is mijn uitleg niet zo goed)??
Bekijk bijlage Invulblad ronden - kopie.xlsm
mvg,Luc
 
Laatst bewerkt:
Bedoel je zoiets?
=SOMPRODUCT((tabel!$F$2:$F$2000=WAARDE(LINKS(I$2;1)))*(tabel!$A$2:$A$2000=$C$1)*((tabel!$B$2:$B$2000=$H4)+(tabel!$C$2:$C$2000=$H4)+(tabel!$D$2:$D$2000=$H4)+(tabel!$E$2:$E$2000=$H4));(tabel!$G$2:$G$2000))
 

Bijlagen

  • Invulblad ronden - kopie (ma).xlsm
    129,4 KB · Weergaven: 37
Laatst bewerkt:
mart37,
Ik denk dat dit de oplossing is,ga dit testen en laat nog iets weten als ik nog hulp nodig heb.
Mijn oprechte dank voor het werk (ken er zelf net veel van).


mvg,Luc
 
Snelste methode is de printmacro van HSV een beetje aanpassen:
Code:
Sub printje()
With Sheets("tafelnummer ")
   For i = 4 To .Range("C1") * [COLOR="#FF0000"]2[/COLOR] Step 8
    .Range(.Cells(i, 1), .Cells(i + 7, [COLOR="#FF0000"]12[/COLOR])).PrintOut
   Next i
 End With
End Sub
 
mart37,
ik heb de code van HSV gekopieerd (ken niets van vba) maar dit werkt niet.
Bedankt HSV voor de code.
momenteel staat dit er in,kun jij dit aanpassen aub.
ps:ik heb de range aangepast naar 20 lijnen,is dit juist in de macro?

Sub KNOP8()
'
' KNOP8 Macro
' Sub printje()
With Sheets("tafelnummer ")
For i = 4 To .Range("C1") * 2 Step 20
.Range(.Cells(i, 1), .Cells(i + 7, 12)).PrintOut
Next i
End With
End Sub
Range("A1", Cells(Range("C1") * 4 + 3, 6)).Select
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,1,,,TRUE,,FALSE)"
Range("C1:F1").Select
ActiveCell.FormulaR1C1 = "0"
Range("A2").Select
ActiveWorkbook.Save
End Sub


mvg,Luc
 
Laatst bewerkt:
Code:
Sub KNOP8()
'
' KNOP8 Macro
With Sheets("tafelnummer ")
For i = 4 To .Range("C1") * 2 Step 20
.Range(.Cells(i, 1), .Cells(i + [COLOR="#FF0000"]19[/COLOR], 12)).PrintOut
Next i
End With
Range("C1:F1").Select
ActiveCell.FormulaR1C1 = "0"
Range("A2").Select
ActiveWorkbook.Save
End Sub
 
mart37.
Bedankt voor de aanpassing (wat zou ik zonder u aanvangen)!
Code geplaatst,werking ok
ps;een opmerking, als ik de printknop gebruik bij vb: 20 tafels print hij 2 aparte pagina's af (weet niet of dit 2 dezelfde zijn of 2 aparte (printer nog niet actief).
zie bijlage.
kun jij mij een beetje uitleg aub.

Bekijk bijlage Doc1.docx

mvg,Luc
 
Ik denk 2 verschillende pagina's.
Stel anders PRINTEN NAAR PDF als standaardprinter in.
Je printopdracht maakt dan 2 pdf-bestanden.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan