Help!

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

Hulp bij posten

Recente topics

Auteur Topic: een matrix automatisch invullen  (gelezen 4447 keer)

0 leden en 1 gast bekijken dit topic.

Offline guy8780

  • Volledig lid
  • **
  • Berichten: 169
  • alles kan beter
een matrix automatisch invullen
« Gepost op: 30 mei 2007, 12:28:55 »
Hallo

Misschien bestaat er wel ergens freeware voor? Maar ik vraag het toch op deze topic. In een matrix zouden we automatisch de zaken van een lijst willen laten invullen.

Zie bijlage (de toelichting staat bovenaan in het rood).

Iemand een oplossing?

Groeten en alvast bedankt

Guy
GWindows 7 Professional SP1 NLD 64bit
Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz 3301
1497
mv video hook driver2 0MB 1920 x 1080
High Definition Audio-apparaat
Nr: 1 Model: ST500DM002-1BD142 ATA Device
C:\ NTFS 465,76GB 397,79GB 8.081MB
AV: Geen antivirus geïnstalleerd
FW: Windows Firewal Enabled: True

Offline danny147

  • Oplosser
  • ****
  • Berichten: 564
  • Geslacht: Man
  • Lotto, de sleutel tot het succes.
Re: een matrix automatisch invullen
« Reactie #1 Gepost op: 30 mei 2007, 16:15:04 »
Beste Guy ;)

Jammer dat je in voorwaardelijke opmaak maar 3 kleuren kan geven.  :o

In elk kwadrant staat de formule die het aantal in ieder kwadrant weergeeft.

Welk nummer wenst U in het desbetreffende deel ?
Boven links moeten er daar de cijfers komen die Ok staan, wat moet waar  ???

De gegevens automatisch overschrijven zal met een VBA code moeten gedaan worden vrees ik.

Zie volgend bestandje dat ik al een beetje aangepast heb.

Groetjes Danny  :)
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz 1200
SAMSUNG_NP1234567890
Intel(R) HD Graphics 4000 2112MB -
Realtek High Definition Audio
Nr: 1 Model: Hitachi HTS727575A9E364
C:\ NTFS 670,11GB 494,48GB 8 080MB
AV: Trend Micro Maximum Security

Offline danny147

  • Oplosser
  • ****
  • Berichten: 564
  • Geslacht: Man
  • Lotto, de sleutel tot het succes.
Re: een matrix automatisch invullen
« Reactie #2 Gepost op: 30 mei 2007, 16:17:41 »
Beste Guy

Berichtje vergeten  :o

Groetjes Danny
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz 1200
SAMSUNG_NP1234567890
Intel(R) HD Graphics 4000 2112MB -
Realtek High Definition Audio
Nr: 1 Model: Hitachi HTS727575A9E364
C:\ NTFS 670,11GB 494,48GB 8 080MB
AV: Trend Micro Maximum Security

Offline guy8780

  • Volledig lid
  • **
  • Berichten: 169
  • alles kan beter
Re: een matrix automatisch invullen
« Reactie #3 Gepost op: 31 mei 2007, 00:55:15 »
Danny

Hier een antwoord op de vragen:
Citaat
Welk nummer wenst U in het desbetreffende deel ?
het nummer dat in de kolom K staat.
Citaat
Boven links moeten er daar de cijfers komen die Ok staan, wat moet waar 
De vraag is wat de mogelijkheden zijn? En wat het eenvoudigste is? Er zijn een aantal mogelijkheden:
kris kras door elkaar in het kwadrant.
in oplopende volgorde
in aflopende volgorde
volgens de status.
 
Er werd zelfs gevraagd (omdat iedere actie een kostprijs heeft): in een bijkomende kolom (vb. N) de kostprijs te plaatsen. En op basis van de kostprijs te sorteren. Dat lijkt mij te hoog gegrepen.

Ik kijk uit naar de volgende aanpassing.

Groeten

Guy
GWindows 7 Professional SP1 NLD 64bit
Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz 3301
1497
mv video hook driver2 0MB 1920 x 1080
High Definition Audio-apparaat
Nr: 1 Model: ST500DM002-1BD142 ATA Device
C:\ NTFS 465,76GB 397,79GB 8.081MB
AV: Geen antivirus geïnstalleerd
FW: Windows Firewal Enabled: True

Offline danny147

  • Oplosser
  • ****
  • Berichten: 564
  • Geslacht: Man
  • Lotto, de sleutel tot het succes.
Re: een matrix automatisch invullen
« Reactie #4 Gepost op: 31 mei 2007, 09:06:59 »
Beste Guy  ;)

Heb een bestandje in elkaar gestoken, geheel een andere weg dan jii, maar het is de moeite waard denk ik.  ;D

Anders moet je met VBA beginnen te werken en is een beetje omslachtig als je er geen kennis van hebt.

Groetjes Danny  :)
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz 1200
SAMSUNG_NP1234567890
Intel(R) HD Graphics 4000 2112MB -
Realtek High Definition Audio
Nr: 1 Model: Hitachi HTS727575A9E364
C:\ NTFS 670,11GB 494,48GB 8 080MB
AV: Trend Micro Maximum Security

Offline guy8780

  • Volledig lid
  • **
  • Berichten: 169
  • alles kan beter
Re: een matrix automatisch invullen
« Reactie #5 Gepost op: 02 juni 2007, 10:17:16 »
Danny

Bedankt. Visueel kan het zonder problemen voorgesteld worden door middel van een grafiek.

Groeten

Guy
GWindows 7 Professional SP1 NLD 64bit
Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz 3301
1497
mv video hook driver2 0MB 1920 x 1080
High Definition Audio-apparaat
Nr: 1 Model: ST500DM002-1BD142 ATA Device
C:\ NTFS 465,76GB 397,79GB 8.081MB
AV: Geen antivirus geïnstalleerd
FW: Windows Firewal Enabled: True

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: een matrix automatisch invullen
« Reactie #6 Gepost op: 02 juni 2007, 13:40:32 »
Danny, IK vind het knap dat je de bedoeling hebt begrepen! ('k kon 't namelijk niet volgen, maar dat zal aan mijn stupiditeit liggen ;D) Prima dat idee 'om over een andere boeg te gaan'. Ziet er goed uit.
Klein dingetje in je code... Je moet na het uitzetten van je screenupdate, deze aan het einde van je code altijd weer aanzetten... (zomaar een goed bedoeld tipje) Zie dit stukje uit de helpfile van Excel...
Citaat van: MS Excel VBA helpfile
ScreenUpdating Property

True if screen updating is turned on. Read/write Boolean.

Remarks
Turn screen updating off to speed up your macro code. You won't be able to see what the macro is doing, but it will run faster.

Remember to set the ScreenUpdating property back to True when your macro ends.

Groet, Leo
______________________________

Groet, Leo

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Re: een matrix automatisch invullen
« Reactie #7 Gepost op: 02 juni 2007, 15:58:30 »
Dag allemaal,

De Macrorecorder levert nogal wat ballast.
De sorteercode is terug te brengen tot:

Sub Macro1()
    Range("K8:N49").Sort Key1:=Range("N9"), Order1:=xlAscending, Header:= _
           xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Ook heb ik het laatste sorteerargument weggelaten.
Met name: DataOption1:=xlSortNormal

Dit argument geeft een foutmelding in de Excelversies 8 en 9.

Probeer de gereduceerde macro maar eens uit.

Groet
Luc

Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline danny147

  • Oplosser
  • ****
  • Berichten: 564
  • Geslacht: Man
  • Lotto, de sleutel tot het succes.
Re: een matrix automatisch invullen
« Reactie #8 Gepost op: 02 juni 2007, 22:49:01 »
Beste Leo  ;)

Bedankt voor de tip  ;D
Ben naar de help functie geweest bij VBA en inderdaad de sceenupdating moet terug op true staan.

Vraagje,moet deze geplaatst worden juist voor de End Sub  ???

Groetjes Danny  :)
Windows 10 Home   NLD 64bit
Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz 1200
SAMSUNG_NP1234567890
Intel(R) HD Graphics 4000 2112MB -
Realtek High Definition Audio
Nr: 1 Model: Hitachi HTS727575A9E364
C:\ NTFS 670,11GB 494,48GB 8 080MB
AV: Trend Micro Maximum Security

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: een matrix automatisch invullen
« Reactie #9 Gepost op: 02 juni 2007, 23:42:04 »
Danny, je kan de boolean inderdaad net voor End Sub plaatsen. Maar je kan het ook doen net nadat je je code met 'schermbewerkingen' hebt gedraaid. Dus...Sub Test()

...een stuk code waarbij er niets op het scherm gebeurt...

application.screenupdating = false
...dan hier de code waar er iets met het scherm gebeurt...
application.screenupdating = true

...rest van de code waarbij er niets met het scherm gebeurt...

End Sub
Denk er dus óók aan als je in een groot codeblok ergens de ontsnapping 'Exit Sub' gebruikt. Je zal dan ook hier net voor de boolean weer op true moeten zetten.

Toch begrijp ik het advies van MS Excel niet helemaal. Probeer maar 'ns het volgende... Maak een Sub aan met deze 2 regels:
Sub Test()

Application.ScreenUpdating = False
MsgBox "Application.screenupdating staat op: " & Application.ScreenUpdating

End Sub
Je zal dan in de messagebox zien dat de boolean op False staat. Klik in de box op OK om de code af te laten sluiten. Ga nu in je VBE naar de immediate venster en tik daar deze regel in:
? Application.screenupdating...en tik op enter. Je zal dan zien dat het resultaat van de boolean weer terug op True staat... ???
Dus lijkt het er op of het 'End Sub' zorgt voor het 'resetten' van alle standaard wijzigingen die je in de code hebt gemaakt. Schiet mij maar lek... :o ;D Ik heb dus eigenlijk geen flauw idee waarom MS dit voorschrijft. ???

@Luc: Je hebt gelijk. Het is beter om na gebruik van de macrorecorder alle loze 'selects' e.d. te verwijderen.

Groet, Leo
______________________________

Groet, Leo

 


www.combell.com