Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Excel 2010: worksheetfunction.CountA geeft fout resultaat

Pagina: 1
Acties:

  • NLKornolio
  • Registratie: Februari 2010
  • Laatst online: 21-11 14:47

NLKornolio

BF3/BF4: NLKornolio

Topicstarter
Hoi,

Heb een gebruiker met een hoop excell/acces documenten die een macro heeft die een foute output geeft sinds office 2010.
--
Sub tel()

Worksheets("Sheet1").Range("f3").Value = Application.CountA(Worksheets("Sheet1").Range("B1:B15").value)

End Sub

--
Wanneer je .value aan het eind weghaalt geeft deze wel de goede output.

---
Sub tel()

Worksheets("Sheet1").Range("f3").Value = Application.CountA(Worksheets("Sheet1").Range("B1:B15"))

End Sub
----

Denk je probleem opgelost ? 8)7
Nee gebruiker heeft een hoop documenten zo opgemaakt en wil weten "waarom" hij dit bij alle documenten moet gaan aanpassen ?
Wat is de verklaring dat die macro niet werk met de .value met office 2010? In office 2007 werkt deze trouwens wel goed

  • NLKornolio
  • Registratie: Februari 2010
  • Laatst online: 21-11 14:47

NLKornolio

BF3/BF4: NLKornolio

Topicstarter
Dus office 2007 werkt het en 2010 niet

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Worksheets("Sheet1").Range("f3").Value = Application.CountA(Worksheets("Sheet1").Range("B1:B15").Value)

Blijkbaar slim genoeg om van Range("B1:B15").Value een array te maken.

Werkt hier prima in OFF2010. Heb je geen EN->NL taalprobleem?

offtopic:
Ajb de wijzig-knop gebruiken als je binnen 24u iets wilt toevoegen terwijl niemand anders heeft gereageerd.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Nah, de implementatie van countA in Excel 2010 is te gulzig en doet niet watje zou verwachten.
code:
1
2
Dim a(10)
debug.print application.CountA(a)


Output:
XL2003: 0
XL2010: 11

Gelukkig doet het het op een range wel goed, maar door .value te gebruiken zet je eerst de range om in een array van waarden en dan geeft countA in 2010 gewoon het aantal elementen terug, ongeacht of ze leeg zijn of niet.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • NLKornolio
  • Registratie: Februari 2010
  • Laatst online: 21-11 14:47

NLKornolio

BF3/BF4: NLKornolio

Topicstarter
Tx
Heb als oplossing de laatste .value weghalen doorgegeven.
Als je geen waarde aan die .value meegeeft neemt ie blijkbaar alle variablen mogelijk ?

Ben totaal niet thuis in macro maar dat lijkt me een beetje de correcte denkwijze ?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Als dit de hele macro is dan zie ik 1-2-3 niet de meerwaarde boven de worksheetfunctie direct in F3 te plakken.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Wim-Bart
  • Registratie: Mei 2004
  • Laatst online: 10-01-2021

Wim-Bart

Zie signature voor een baan.

Heel vreemd, net even met Excel 2013 getest, daar werkt:


Worksheets("Sheet1").Range("f3").Value = Application.CountA(Worksheets("Sheet1").Range("B1:B15").value)

Als een trein.

Hij is alleen wel picky op de naam van de Sheet.

Beheerders, Consultants, Servicedesk medewerkers. We zoeken het allemaal. Stuur mij een PM voor meer info of kijk hier De mooiste ICT'er van Nederland.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Italiaans modelletje toevallig?

Het werkt wel, maar geeft het ook het gewenste resultaat?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Idd: of je maakt dezelfde fout als domme-ik door niet een paar cellen in het bereik leeg te laten :X

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)

Pagina: 1