Help!

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

Hulp bij posten

Recente topics

Auteur Topic: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro  (gelezen 1001 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Hallokes iedereen,

Na een foutmelding (teveel verschillende celopmaken?) en het daaropvolgend volledig vastlopen van excel, waarbij ik de pc zelfs volledig heb moeten heropstarten, heb ik een vraagje.

Wat is het maximum aantal mogelijke cellen dat je kan laten opmaken op eenzelfde werkblad via een (geneste) loop in een module-macro?
Het betreft de ".interior.Color" -opmaak van een cel.

Alvast dank bij voorbaat.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #1 Gepost op: 17 december 2021, 15:29:23 »
Hallo BlackDevil,

net een testje gedaan met 400.000 cellen te kleuren, geen probleem op zich  ;D

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #2 Gepost op: 17 december 2021, 15:33:09 »
ikke ook juist een testje gedaan : een volledig werkblad geselecteerd , laten geel  , groen blauw enz kleuren , geen probleem...
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #3 Gepost op: 17 december 2021, 15:33:31 »
elk een andere kleurcode?  ;D
bij mij ging het fout bij amper 2601 cellen per werkblad...

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #4 Gepost op: 17 december 2021, 15:41:09 »
volgende geprobeerd , duurde efkens maar geen foutmelding :
Private Sub CommandButton1_Click()
For rij = 1 To 5000
For kolom = 1 To 240
Cells(rij, kolom).Interior.Color = vbYellow
Next
Next
End Sub

mvg,
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #5 Gepost op: 17 december 2021, 15:46:45 »
@Montagnard,

Dus elke cel in identiek dezelfde kleur...

In mijn geneste loop van 3 niveaus krijgt elke cel een andere (unieke) kleur(code).
Bij amper 225 cellen (kleuren) per werkblad (15 werkbladen bij dit aantal kleuren) loopt de code ook zonder problemen.

Zodra ik het wijzig naar 2601 cellen (kleuren) per werkblad (in dit geval dan 51 werkbladen) krijg ik onderstaande foutmelding (zie bijgevoegde printscreen) ...

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #6 Gepost op: 17 december 2021, 15:50:28 »
ALS ik je goed begrijp probeer je IEDERE cel een andere kleur te geven ? volgens wat ik weet heb je "slechts" 56 kleuren ter beschikking in VBA , ligt daar de fout niet ?
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #7 Gepost op: 17 december 2021, 15:53:02 »
@Montagnard,

niet als je de RGB codes gebruikt, dan heb je er véél véél meer..
je kan 3 verschillende manieren gebruiken om kleuren toe te wijzen binnen vba.


groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #8 Gepost op: 17 december 2021, 15:57:55 »
56 VB colors en 255 RGB colors....dat is wat ik heb gevonden...maar eigenlijk moet ik je geen les geven he , je bent vele malen beter in VBA dan ikzelf  ;)
grtjs,
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #9 Gepost op: 17 december 2021, 16:09:35 »
inderdaad, 56 VB-colors
en in principe 255x255x255 RGB codes....
RGB gaat van (0, 0, 0) tot (255, 255, 255)...
dat zijn bijna 1,66 miljoen combinaties...

nu is het zeker niet de bedoeling om alle combinaties te laten weergeven...
Bedoeling was om telkens binnen elke (0 To 255) met een interval van 5 te werken.
Als ik mijn drie loops op For ... = 0 To 255 Step 15 zet dan loopt de code netjes.

Maar als ik de drie loops op For ... = 0 To 255 Step 5 zet dan loopt het fout.
Ik zal dus een andere manier moeten zoeken om het gewenste te verkrijgen  ;D

PS: ik heb nog hééééééél vééééél te leren hoor  :D kan best nog vele lessen gebruiken  ;D

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #10 Gepost op: 17 december 2021, 16:21:27 »
toch raar ik vond volgende , waarbij aangegeven wordt dat RGB zich "reset" boven de 255 mogelijkheden ? maar ik begrijp er niet zoveel van , volgens mijn bescheiden mening loopt het mis in je loops vermits met step 15 het wel werkt en met step 5 niet ?
grtjs,
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.129
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #11 Gepost op: 17 december 2021, 16:29:36 »
En met een combinatie  0:-)

For ... = 0 To 255 Step 15
Next
For ... = 1 To 254 Step 15
Next
For ... = 2 To 253 Step 15
Next

enzovoort...

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #12 Gepost op: 17 december 2021, 16:42:54 »
@SoftAid,

Het is een "geneste" loop....

For r = 0 To 255 Step 15
 For g = 0 To 255 Step 15
  For b = 0 To 255 Step 15
    'hier de benodigde code
  Next b
 Next g
Next r

Met de "Step 15" werkt het dus wel... Met de "Step 5" dus niet...

Maar het maakt ni veel uit, vind er wel iets anders op  ;)

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #13 Gepost op: 17 december 2021, 16:58:58 »
Hallo,

Mag ik eerst even een paar puntjes op de i's zetten?

Citaat
en in principe 255x255x255 RGB codes....
RGB gaat van (0, 0, 0) tot (255, 255, 255)...
dat zijn bijna 1,66 miljoen combinaties...
Het aantal kleurcombinaties is geen 255^3 maar 256^3 (0-255), dat zijn er meer dan 16 miljoen

Citaat
volgens mijn bescheiden mening loopt het mis in je loops vermits met step 15
Dat mag geen bezwaar zijn; van zodra de variabele een hogere waarde krijgt dan het maximum wordt de loop verlaten, dus bv.
"for i = 1 to 25 step 10" is perfect mogelijk, i zal dan de waarden 1, 11 en 21 krijgen (in werkelijkheid ook nog 31 maar daar niets meer binnen de loop mee doen)

Terzake: er zijn wel degelijk beperkingen, en dat gaat niet enkel over kleurtjes maar over de combinatie van alle soorten opmaak (speelt hier evenwel niet).
Meer info: https://docs.microsoft.com/en-us/office/troubleshoot/excel/too-many-different-cell-formats-in-excel
Met step 5 maak je dus 52^3 verschillende opmaken en daarmee zit je boven het maximum.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: VBA maximum aantal mogelijke celopmaken binnen één werkblad via macro
« Reactie #14 Gepost op: 17 december 2021, 17:01:06 »
Blackdevil, je mag maximaal 64.000 verschillende formats in een .xlsx workbook gebruiken. Daar zit jij met je 2601 x 51 sheets véééér boven... (=132.651). Een .xls (de oude versie dus), kan je maar tot maximaal 4.000 verschillende opmaken komen per workbook.

Dus dáár zit je probleem. Als je elke sheet met dezelfde 2601 kleuren laat aanpassen, lukt het waarschijnlijk wel (Excel ziet een gelijke cel als 1 opmaak).
______________________________

Groet, Leo

 


www.combell.com