Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Bepaalde records selecteren  (gelezen 2966 keer)

0 leden en 1 gast bekijken dit topic.

Offline Temmerman_Diego

  • Ervaren lid
  • ***
  • Berichten: 313
  • Geslacht: Man
  • Don Diego
Bepaalde records selecteren
« Gepost op: 09 mei 2005, 14:27:48 »
Een bestand heeft 4.800 records.
Hiervan dienen 91 records te worden geselecteerd.
4.800 : 91 = 52,74 ---> elke 52e record dient te worden geselecteerd.

Startpositie: bijvoorbeeld: 4e

Gewenste records: 4, 56, 105, 160, 212, ... (91 records).


Dit dient te worden toegepast op meerdere bestanden met telkens variabele aantallen.

voorbeeld van tweede bestand:

Een bestand heeft 3.000 records.
Hiervan dienen 30 records te worden geselecteerd.
3.000 : 30 = 100 ---> elke 100e record dient te worden geselecteerd.

Startpositie: bijvoorbeeld: 5e

Gewenste records: 5, 105, 205, 305, 405, ... (30 records).


Hoe kan dit op een snelle manier????? ???
Lukt niet wegens ongeldige klasse ???

Offline ceasar

  • Ervaren lid
  • ***
  • Berichten: 293
  • Geslacht: Man
  • de soep eten als ze heet is
Re:Bepaalde records selecteren
« Reactie #1 Gepost op: 09 mei 2005, 14:46:19 »
tja Diego,

de snelste manier is door eerst een betere uitleg;

dit zou in een vba kunnen gestoken worden, maar heeft wel een nadeel: vba is werkboek gebonden, dus ....

graag toch een beetje meer uitleg

graag tot helpen bereid

JC
:8)
Windows 10 Pro   NLD 64bit
Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz 3901
Z77X-UP5 TH-CF
AMD Radeon HD 7900 Series 4095MB 1024 x 768
Realtek High Definition Audio
Nr: 1 Model: WDC WD10 EARX-00N0YB0 SCSI Disk Device
Nr: 2 Model: INTEL SSDSC2CT120A3
C:\ NTFS 111,01GB 1,06GB 32 720MB
AV: Geen antivirus geïnstalleerd
FW: Windows Firewal Enabled: True

Offline buks

  • Ervaren lid
  • ***
  • Berichten: 313
  • Oplossing.be
Re:Bepaalde records selecteren
« Reactie #2 Gepost op: 09 mei 2005, 15:47:24 »
Dit zou inderdaad via VBA (zit in Excel) kunnen, maar is in tegenstelling tot wat ceasar schrijft niet "workbook" gebonden. De code kan zo geschreven worden dat ze voor vershillende bestanden kan gebruikt worden.

Maar het zou inderdaad wel handig kunnen zijn om te weten wat er moet gebeuren na selectie van de "records" (ik veronderstel dat je hiermee een rij bedoeld).
Win 7 Home - Intel Core i3 CPU 550 @ 3.20GHz - Basicnet XL - IE 9 - MS Office 2010 - Norton Internet Security 2012

Offline Temmerman_Diego

  • Ervaren lid
  • ***
  • Berichten: 313
  • Geslacht: Man
  • Don Diego
Re:Bepaalde records selecteren
« Reactie #3 Gepost op: 09 mei 2005, 15:53:48 »
De geselecteerde lijnen dienen in een nieuw bestand te komen. Van de 4.800 oorspronkelijke lijnen, wil ik er bijvoorbeeld 91 overhouden (enkel de winnaars)
Lukt niet wegens ongeldige klasse ???

Offline buks

  • Ervaren lid
  • ***
  • Berichten: 313
  • Oplossing.be
Re:Bepaalde records selecteren
« Reactie #4 Gepost op: 09 mei 2005, 17:03:48 »
Hallo,

Ik weet niet of je vertrouwd bent met VBA, bijgevolg zal ik proberen om zo eenvoudig mogelijk uit te leggen wat je moet doen :

Maak een nieuw bestand in Excel en druk Alt-F11 (VBA wordt opgestart).  Kies Invoegen / Procedure. Vul bovenaan een naam in bv. Selecteren en druk op de OK-knop.

Nu krijg je volgende structuur :

Public Sub Selecteren()

End Sub

Plak volgende code tussen deze twee lijnen :

Dim AantalRijen, StartPositie, AantalRecords, i, Rij, Selectie As Integer
Sheets("Blad1").Select
Sheets("Blad1").Copy After:=Sheets(1)
Range("A1").Select
AantalRijen = ActiveCell.SpecialCells(xlLastCell).Row
StartPositie = InputBox("Wat is de eerste rij (startpositie)?", "Vraag")
Rows("1:" & StartPositie - 1).Delete
AantalRecords = InputBox("Hoeveel records wenst u te selecteren?", "Vraag")
Selectie = AantalRijen / AantalRecords
Selectie = Selectie - 2
Range("A1").Select
For i = 1 To AantalRecords + 1
    ActiveCell.Offset(1, 0).Select
    Rij = ActiveCell.Row
    Rows(Rij & ":" & Rij + Selectie).Delete
Next

Nu sla je het bestand op. Via Bestand / Opslaan. Dit mag in VBA of in Excel gebeuren.

VBA mag je nu afsluiten.

Indien je nu een bestand hebt waarvan je records wenst te selecteren moet je dit bestand openen en het zopas aangemaakte bestand ook. Ga in het bestand met de records staan en kies : Extra / Macro / Macro's.

Nu zie je een lijst met de bestaande macro's (in de geopende werkmappen). Daar zie je de bestandsnaam staan en de naam van de procedure, van elkaar gescheiden met een !-teken. Kies de gemaakte procedure (in het voorbeeld Selecteren) en druk op de knop Uitvoeren.

Normaal zou hij nu een werkblad moeten toevoegen en hierop de gevraagde gegevens tonen.

Veel succes ermee (indien je nog vragen hebt moet je het maar laten weten)

Groetjes
Win 7 Home - Intel Core i3 CPU 550 @ 3.20GHz - Basicnet XL - IE 9 - MS Office 2010 - Norton Internet Security 2012

Offline LucHeyndrick

  • Volledig lid
  • **
  • Berichten: 217
  • Oplossing.be
Re:Bepaalde records selecteren
« Reactie #5 Gepost op: 09 mei 2005, 23:32:44 »
Goedenavond,

Gaat veel sneller, en nog zonder VBA.

Stel dat uw database het bereik heeft:

A1:E4000

Zet dan in de cel G1 dit woordje: 'Test'
En in G2 zet je deze formule: =REST(RIJ(A2)-4;52)=0

Vervolgens ga je naar Data => Filter => Uitgebreid Filter
en bij Lijstbereik zet je:
A1:E4000
En bij Criteriumbereik zet je:
G1:G2

Je vinkt 'Kopieren naar andere locatie aan'
en Bij kopieren naar: zet je een cel buiten je database.

Succes,
Luc

Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

 


www.combell.com