abonnement Unibet Coolblue
pi_97929078
With
  donderdag 9 juni 2011 @ 10:59:22 #202
62215 qu63
..de tijd drinkt..
pi_97929211
quote:
0s.gif Op donderdag 9 juni 2011 10:55 schreef DaFan het volgende:
With
Kan je iets duidelijker zijn? ;)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97934206
Nee telefoon typt kut :p

With Range("A1")
.value = 4
.interior = black
End With

Snap je ??
pi_97935115
quote:
0s.gif Op donderdag 9 juni 2011 13:24 schreef DaFan het volgende:
Nee telefoon typt kut :p

With Range("A1")
.value = 4
.interior = black
End With

Snap je ??
Bovenstaand is hetzelfde als:

Range("A1").value = 4
Range("A1").interior = black

Dus alle dubbele stukken in je object beschrijving kun je dan weglaten.
Als je dan vervolgens ook nog het pivottabelnummer variabel maakt kun je volgens mij een loopje maken om elke keer die tabellen te vernieuwen.

probeer onderstaande code eens te doorgronden een aan te passen aan jouw situatie:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub test()

Dim arrPivot As Variant

pivot = Array(9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23)

For i = 0 To 12 'eerste element van een array heeft altijd volgnummer 0
MsgBox pivot(i)
With Range("A" & pivot(i)) ''hier gebruik je de varabele uit de pivot array als rijnummer
    .Value = pivot(i)
    .Interior.ColorIndex = pivot(i)
End With
Next

End Sub
In plaats van Range("A" & pivot( i)) gebruik je:
Sheets("Hulpsheet Sven").PivotTables("Draaitabel"&pivot( i))

[ Bericht 3% gewijzigd door Deetch op 09-06-2011 13:56:16 ]
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  donderdag 9 juni 2011 @ 14:04:20 #205
62215 qu63
..de tijd drinkt..
pi_97935679
quote:
3s.gif Op donderdag 9 juni 2011 13:49 schreef Deetch het volgende:

[..]

Bovenstaand is hetzelfde als:

Range("A1").value = 4
Range("A1").interior = black

Dus alle dubbele stukken in je object beschrijving kun je dan weglaten.
Als je dan vervolgens ook nog het pivottabelnummer variabel maakt kun je volgens mij een loopje maken om elke keer die tabellen te vernieuwen.

probeer onderstaande code eens te doorgronden een aan te passen aan jouw situatie:

[ code verwijderd ]

In plaats van Range("A" & pivot( i)) gebruik je:
Sheets("Hulpsheet Sven").PivotTables("Draaitabel"&pivot( i))
Duidelijk! ^O^

Een tijdje geleden kwam ik met de vraag hoe ik een ijst unieke waarden uit een kolom kon krijgen. Toen werd gezegd dat een draaitabel het handigst is. Nu kom ik er alleen achter dat niet op ieder werkblad dezelfde rij gekozen moet worden..

In A34:A64 heb ik een lijst met tabbladnamen staan, in B34:B64 staan de kolomnaam waar ik de unieke waarden van wil weten.
[code]
Amsterdam H
Rotterdam I
[knip]
[/code]
Aangezien de kolom dus variabel is, is een standaard draaitabel niet handig. Kan ik dit niet oplossen in een formule/macro?


Even de vraag parkeren, volgens mij heb ik iets..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97935925
Kun je trouwens in excel 2007 een COUNTIF functie doen over meerdere losstaande bereiken?

Ik wil nl tellen hoevaak er een bepaalde tekst staat in het cellenbereik A2:B4 en C5:F20

De simpelste oplossing is natuurlijk: =countif(A2:B4,"tekst")+countif(C5:F20,"tekst") maar dat vind ik niet mooi, ik wil 1 formule.

Wat niet werkt is: =COUNTIF((A1:B4,C5:F20),"tekst") of =COUNTIF(A1:B4&C5:F20,"tekst")
of =COUNTIF(BEREIKJE,"tekst") (waarbij BEREIKJE de named range A2:B4 en C5:F20 is)

Wie heeft de gouden tip (iets met SUMPRODUCT ofzo??)
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  donderdag 9 juni 2011 @ 14:17:41 #207
62215 qu63
..de tijd drinkt..
pi_97936284
quote:
3s.gif Op donderdag 9 juni 2011 14:09 schreef Deetch het volgende:
Kun je trouwens in excel 2007 een COUNTIF functie doen over meerdere losstaande bereiken?

Ik wil nl tellen hoevaak er een bepaalde tekst staat in het cellenbereik A2:B4 en C5:F20

De simpelste oplossing is natuurlijk: =countif(A2:B4,"tekst")+countif(C5:F20,"tekst") maar dat vind ik niet mooi, ik wil 1 formule.

Wat niet werkt is: =COUNTIF((A1:B4,C5:F20),"tekst") of =COUNTIF(A1:B4&C5:F20,"tekst")
of =COUNTIF(BEREIKJE,"tekst") (waarbij BEREIKJE de named range A2:B4 en C5:F20 is)

Wie heeft de gouden tip (iets met SUMPRODUCT ofzo??)
=SOMPRODUCT((A1:B4="tekst")*(C5:F20="tekst"))
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 9 juni 2011 @ 14:20:43 #208
62215 qu63
..de tijd drinkt..
pi_97936423
quote:
3s.gif Op donderdag 9 juni 2011 13:49 schreef Deetch het volgende:

[..]

Bovenstaand is hetzelfde als:

Range("A1").value = 4
Range("A1").interior = black

Dus alle dubbele stukken in je object beschrijving kun je dan weglaten.
Als je dan vervolgens ook nog het pivottabelnummer variabel maakt kun je volgens mij een loopje maken om elke keer die tabellen te vernieuwen.

probeer onderstaande code eens te doorgronden een aan te passen aan jouw situatie:

[ code verwijderd ]

In plaats van Range("A" & pivot( i)) gebruik je:
Sheets("Hulpsheet Sven").PivotTables("Draaitabel"&pivot( i))
Hmz, deze regel blijft een foutmelding geven..
1    With Sheets("Hulpsheet Sven").PivotTables("Draaitabel" & pivot(I)).PivotCache.Refresh ''hier gebruik je de variabele uit de pivot array als rijnummer
Terwijl dezeregel wel werkte:
1Sheets("Hulpsheet Sven").PivotTables("Draaitabel27").PivotCache.Refresh

En gefixed, tabel9 had een andere naam gekregen..

[ Bericht 5% gewijzigd door qu63 op 09-06-2011 14:35:30 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 9 juni 2011 @ 14:47:57 #209
62215 qu63
..de tijd drinkt..
pi_97937542
M'n macrocode is nu nog wat ingekort:
1
2
3
4
5
6
Dim pt As PivotTable
    For Each pt In Sheets("Hulpsheet Sven").PivotTables
        pt.PivotCache.Refresh
        pt.PivotFields("Adviseur").AutoSort _
            xlAscending, "Adviseur"
    Next pt
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 9 juni 2011 @ 15:01:59 #210
62215 qu63
..de tijd drinkt..
pi_97938192
In A34:A64 heb ik een lijst met tabbladnamen staan, in B34:B64 staat de kolomnaam waar ik de unieke waarden van wil weten.
1
2
3
4
Amsterdam H
Rotterdam I
Hilversum X
[..]
Het bereik A34:A64 wordt automatisch gevuld. Hier kan dus 1 plaatsnaam in staan, of er kunnen 30 plaatsnamen in staan. Iedere keer een nieuwe pivottable aanmaken is geen optie (moet "onderhoudsvrij" zijn).
In B2:AE31 wil ik, per kolom (plaatsnaam) een lijst krijgen met de unieke waarden van rij 6 tot en met 100 van de hierboven aangegeven kolom (H,I of X in dit geval).

Hoe kan ik dit het beste doen?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97938448
Lekker bezig.
Geen * gebruiken in Somproduct (performance-technisch)
Denk ook aan -- anders werkt hwt niet meer :P
  donderdag 9 juni 2011 @ 15:10:29 #212
62215 qu63
..de tijd drinkt..
pi_97938523
quote:
0s.gif Op donderdag 9 juni 2011 15:08 schreef DaFan het volgende:
Lekker bezig.
Geen * gebruiken in Somproduct (performance-technisch)
Denk ook aan -- anders werkt hwt niet meer :P
Die * heb ik hier van t forum..

Als je alleen aantallen wilt hebben hoef je -- niet te gebruiken, als je alle waarden bij elkaar opgeteld wilt hebben wel, althans, dacht ik..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97940719
ik kom er ff niet meer uit

bijv:
ik heb in kolom B het volgende staan:
B1 2
B2 0
B3 0
B4 4
B5 0
B6 0
B7 0

met allerlei waarden in kolom C

nu wil ik een formule hebben waarbij het volgende gebeurt:
A1: =IF (B1=2 dan SUM (C1+C2)
A3 = IF (B4=4 dan SUM (C4+C5+C6+C7)
dus als in B een bepaalde waarde staat (bijv 6) wil ik van die rij + de 5 opvolgende in rij C de som hebben

iemand die mij de goede weg op kan sturen
maakt niet uit hoe omslachtig het is, als hij maar werkt
pi_97941025
De -- is toch om te forceren dat de functie TRUE en FALSE als 1 of 0 ziet?

=--SUMPRODUCT((A2:B4="tekst"),(C5:F20="tekst")) geeft als foutmelding #VALUE!
=--SUMPRODUCT((A2:B4="tekst")*(C5:F20="tekst")) geeft als foutmelding #N/A
=--SUMPRODUCT((A2:B4&C5:F20="tekst"),1) geeft als foutmelding #N/A

Zo kom ik nog niet echt verder. ik hou het voorlopig wel op het optellen van verschillende countifs.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_97941131
=SUMPRODUCT(--(A2:B4="tekst"),

Etc
pi_97941286
quote:
0s.gif Op donderdag 9 juni 2011 15:59 schreef icebeer het volgende:
ik kom er ff niet meer uit

bijv:
ik heb in kolom B het volgende staan:
B1 2
B2 0
B3 0
B4 4
B5 0
B6 0
B7 0

met allerlei waarden in kolom C

nu wil ik een formule hebben waarbij het volgende gebeurt:
A1: =IF (B1=2 dan SUM (C1+C2)
A3 = IF (B4=4 dan SUM (C4+C5+C6+C7)
dus als in B een bepaalde waarde staat (bijv 6) wil ik van die rij + de 5 opvolgende in rij C de som hebben

iemand die mij de goede weg op kan sturen
maakt niet uit hoe omslachtig het is, als hij maar werkt
Als de waarde 1 is dan alleen som C1? en 0=0?

=IF(B1=0,0,SUM(INDIRECT("C"&ROW(B1)&":C"&ROW(B1)+B1-1)))
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_97941414
quote:
0s.gif Op donderdag 9 juni 2011 16:08 schreef DaFan het volgende:
=SUMPRODUCT(--(A2:B4="tekst"),

Etc
=SUMPRODUCT(--(A2:B4="tekst"),--(C5:D7="tekst"))
Dan komt er 0 uit in plaats van 13 zoals ik met de hand tel.

=COUNTIF(A2:B4,"tekst")+COUNTIF(C5:F20,"tekst") geeft overigens ook 13.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  donderdag 9 juni 2011 @ 16:17:14 #218
62215 qu63
..de tijd drinkt..
pi_97941594
quote:
3s.gif Op donderdag 9 juni 2011 16:14 schreef Deetch het volgende:

[..]

=SUMPRODUCT(--(A2:B4="tekst"),--(C5:D7="tekst"))
Dan komt er 0 uit in plaats van 13 zoals ik met de hand tel.
Omdat "tekst"+"tekst" ook 0 is. Hadden er getallen gestaan dan had er 6289568 uit kunnen komen ipv 13.
quote:
=COUNTIF(A2:B4,"tekst")+COUNTIF(C5:F20,"tekst") geeft overigens ook 13.
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 9 juni 2011 @ 16:19:44 #219
62215 qu63
..de tijd drinkt..
pi_97941762
1=VERGELIJKEN("*Adviseur*";'Amsterdam MB'!A4:Q4;0)

Nu moet alleen 'Amsterdam MB' variabel worden..
Als ik het zo doe werkt het niet:
1=VERGELIJKEN("*Adviseur*";"'"&A35&"'!A4:Q4";0)
In A35 staat dus Amsterdam MB

[ Bericht 34% gewijzigd door qu63 op 09-06-2011 16:36:48 (Aargh! Suf bezig..) ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97942496
quote:
3s.gif Op donderdag 9 juni 2011 16:11 schreef Deetch het volgende:

[..]

Als de waarde 1 is dan alleen som C1? en 0=0?

=IF(B1=0,0,SUM(INDIRECT("C"&ROW(B1)&":C"&ROW(B1)+B1-1)))
wow super!
hij deed het in eerste instantie trouwens niet, toen ik de , veranderde voor ; wel
=IF(B1=0;0;SUM(INDIRECT("C"&ROW(B1)&":C"&ROW(B1)+B1-1)))
  donderdag 9 juni 2011 @ 17:06:59 #221
62215 qu63
..de tijd drinkt..
pi_97944042
quote:
0s.gif Op donderdag 9 juni 2011 16:19 schreef qu63 het volgende:

[ code verwijderd ]

Nu moet alleen 'Amsterdam MB' variabel worden..
Als ik het zo doe werkt het niet:

[ code verwijderd ]

In A35 staat dus Amsterdam MB
Of is dit een limitatie van Vergelijken() en moet het met een macro?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97949811
quote:
0s.gif Op donderdag 9 juni 2011 16:17 schreef qu63 het volgende:

[..]

Omdat "tekst"+"tekst" ook 0 is. Hadden er getallen gestaan dan had er 6289568 uit kunnen komen ipv 13.

[..]

Sorry jullie hebben gelijk, het was eigenlijk tellen.
Ik heb nog deze:
=SUM(IF(A2:B4="tekst";1)+IF(C5:F20="tekst";1))
Ctrl-Shift-Enter
pi_97949923
quote:
0s.gif Op donderdag 9 juni 2011 16:19 schreef qu63 het volgende:

[ code verwijderd ]

Nu moet alleen 'Amsterdam MB' variabel worden..
Als ik het zo doe werkt het niet:

[ code verwijderd ]

In A35 staat dus Amsterdam MB
=VERGELIJKEN("*Adviseur*";INDIRECT(A35 & "!A4:Q4");0)

Volgens mij hoeven de enkele aanhalingstekens er niet omheen. Bij mij niet iig (Office 2010)
  vrijdag 10 juni 2011 @ 09:09:29 #224
62215 qu63
..de tijd drinkt..
pi_97970405
quote:
7s.gif Op donderdag 9 juni 2011 19:35 schreef DaFan het volgende:

[..]

=VERGELIJKEN("*Adviseur*";INDIRECT(A35 & "!A4:Q4");0)

Volgens mij hoeven de enkele aanhalingstekens er niet omheen. Bij mij niet iig (Office 2010)
INDIRECT(A35 & "!A4:Q4") wordt bij mij vervangen door #VERW (Excel 2010 NL)..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97970456
quote:
0s.gif Op vrijdag 10 juni 2011 09:09 schreef qu63 het volgende:

[..]

INDIRECT(A35 & "!A4:Q4") wordt bij mij vervangen door #VERW (Excel 2010 NL)..
Sorry wel aanhalingstekens! Je hebt een spatie in je sheetnaam :)
  vrijdag 10 juni 2011 @ 09:17:35 #226
62215 qu63
..de tijd drinkt..
pi_97970610
quote:
0s.gif Op vrijdag 10 juni 2011 09:11 schreef DaFan het volgende:

[..]

Sorry wel aanhalingstekens! Je hebt een spatie in je sheetnaam :)
Klopt, deze werkt wel:
1=VERGELIJKEN("*Adviseur*";INDIRECT("'"&A35&"'!A4:Q4");0)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  vrijdag 10 juni 2011 @ 10:08:55 #227
62215 qu63
..de tijd drinkt..
pi_97972004
Deze code geeft als resultaat #WAARDE, kan iemand zien waar het aan ligt?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function UNIQUE(InputRange As Range, ItemNo As Long) As Variant
Dim cl As Range, cUnique As New Collection, cValue As Variant
    Application.Volatile
    On Error Resume Next
    For Each cl In InputRange
        If cl.Formula <> "" Then
            cUnique.Add cl.Value, CStr(cl.Value)
        End If
    Next cl
    UNIQUE = ""
    If ItemNo = 0 Then
        UNIQUE = cUnique.Count
    Else
        If ItemNo <= cUnique.Count Then
            UNIQUE = cUnique(ItemNo)
        End If
    End If
    On Error GoTo 0
End Function
Ik gebruik deze code om de eerste unieke waarde te vinden:
1=UNIQUE("'"&A34&"'!$"&B34&"$6:$"&B34&"$106";1)
Als ik em niet dynamisch maak werkt het wel:
1=UNIQUE('Amsterdam IMB'!$H$6:$H$106;1)
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97972765
Je functie UNIQUE verwacht een range en niet een string (tekst).
Als je =UNIQUE(INDIRECT("'"&A34&"'!$"&B34&"$6:$"&B34&"$106");1) doet zou het wel moeten werken.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_97972810
quote:
7s.gif Op donderdag 9 juni 2011 19:32 schreef DaFan het volgende:

[..]

Sorry jullie hebben gelijk, het was eigenlijk tellen.
Ik heb nog deze:
=SUM(IF(A2:B4="tekst";1)+IF(C5:F20="tekst";1))
Ctrl-Shift-Enter
Tja dat is niet echt een verbetering tov het optellen van de countifs maar toch bedankt.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  vrijdag 10 juni 2011 @ 10:41:44 #230
62215 qu63
..de tijd drinkt..
pi_97972854
quote:
3s.gif Op vrijdag 10 juni 2011 10:38 schreef Deetch het volgende:
Je functie UNIQUE verwacht een range en niet een string (tekst).
Als je =UNIQUE(INDIRECT("'"&A34&"'!$"&B34&"$6:$"&B34&"$106");1) doet zou het wel moeten werken.
Ja! Thanks! :*
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97973086
quote:
3s.gif Op vrijdag 10 juni 2011 10:39 schreef Deetch het volgende:

[..]

Tja dat is niet echt een verbetering tov het optellen van de countifs maar toch bedankt.
mee eens maar ik krijg het niet anders voor elkaar.. :(
  vrijdag 10 juni 2011 @ 11:10:35 #232
62215 qu63
..de tijd drinkt..
pi_97973915
Wat moet ik aan deze functie aanpassen om er voor te zorgen dat lege cellen overgeslagen worden?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function UNIQUE(InputRange As Range, ItemNo As Long) As Variant
Dim cl As Range, cUnique As New Collection, cValue As Variant
    Application.Volatile
    On Error Resume Next
    For Each cl In InputRange
        If cl.Formula <> "" Then
            cUnique.Add cl.Value, CStr(cl.Value)
        End If
    Next cl
    UNIQUE = ""
    If ItemNo = 0 Then
        UNIQUE = cUnique.Count
    Else
        If ItemNo <= cUnique.Count Then
            UNIQUE = cUnique(ItemNo)
        End If
    End If
    On Error GoTo 0
End Function
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  vrijdag 10 juni 2011 @ 11:35:28 #233
62215 qu63
..de tijd drinkt..
pi_97974828
En als ik deze macro draai doet Excel er bijna 20 seconden over, waar ligt dat aan en kan dat verholpen worden?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Vernieuwen()
'
' Vernieuwen Macro
'
' Sneltoets: Ctrl+Shift+V
'
    Application.ScreenUpdating = False
    
    Dim c As Range
    For Each c In Sheets("Hulpsheet Sven").Range("A32:A58")
    c.ClearContents
    Next c
    
    Dim Ws As Worksheet, Wb As Workbook, R As Range, S As Integer
    Set Wb = ActiveWorkbook
    Set R = Sheets("Hulpsheet Sven").Range("a32")
    S = 1
    For Each Ws In Wb.Worksheets
    R.Cells(S, 1) = Ws.Name
    S = S + 1
    Next Ws
    Application.ScreenUpdating = True
End Sub
Het werkboek heeft nu 17 sheets..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_97982254
Dim c As Range
For Each c In Sheets("Hulpsheet Sven").Range("A32:A58")
c.ClearContents
Next c

Kun je dat niet net zo goed vervangen door:
Sheets("Hulpsheet Sven").Range("A32:A58").ClearContents?

Nu gaat de macro elke cel apart clearen.

IN die tweede loop roep je een cel aan: R.Cells(s,1) als onderdeel van een range. Maar daarboven definieer je de range als 1 cel A32, kan het daar aan liggen?
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  vrijdag 10 juni 2011 @ 15:23:58 #235
62215 qu63
..de tijd drinkt..
pi_97983554
quote:
3s.gif Op vrijdag 10 juni 2011 14:53 schreef Deetch het volgende:
Dim c As Range
For Each c In Sheets("Hulpsheet Sven").Range("A32:A58")
c.ClearContents
Next c

Kun je dat niet net zo goed vervangen door:
Sheets("Hulpsheet Sven").Range("A32:A58").ClearContents?

Nu gaat de macro elke cel apart clearen.
Dit scheelt al bijna 10 sec! ^O^
quote:
IN die tweede loop roep je een cel aan: R.Cells(s,1) als onderdeel van een range. Maar daarboven definieer je de range als 1 cel A32, kan het daar aan liggen?
Hoe zou ik dat anders moeten doen dan?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_98072200
leg eerst eens uit wat je met die tweede code wilt bewerkstelligen? Dan zal ik na de pinksteren eens een poging wagen.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  maandag 13 juni 2011 @ 01:41:34 #237
62215 qu63
..de tijd drinkt..
pi_98098983
quote:
3s.gif Op zondag 12 juni 2011 17:58 schreef Deetch het volgende:
leg eerst eens uit wat je met die tweede code wilt bewerkstelligen? Dan zal ik na de pinksteren eens een poging wagen.
Vanaf cel A32 naar beneden wil ik een lijst met sheetnamen
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_98102539
quote:
0s.gif Op maandag 13 juni 2011 01:41 schreef qu63 het volgende:

[..]

Vanaf cel A32 naar beneden wil ik een lijst met sheetnamen
1
2
3
For i = 1 To Sheets.Count
   Range("A" & i + 31) = Sheets(i).Name
Next i
pi_98147899
quote:
7s.gif Op maandag 13 juni 2011 09:28 schreef DaFan het volgende:

[..]
[ code verwijderd ]

zo ga je van 20 regels code naar 6 dat is vast sneller.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
  dinsdag 14 juni 2011 @ 10:50:53 #240
249182 Holy_Goat
mhèèhèhè
pi_98149284
quote:
7s.gif Op maandag 13 juni 2011 09:28 schreef DaFan het volgende:

[..]
[ code verwijderd ]

1
2
3
4
dim ws as worksheet
for each ws in thisworkbook.sheets
   .... ws.name gebruiken
next ws

echter, wat wel leuk zou zijn in vba....
cells(i++,1) als zijnde gebruik i, en voeg daarna automatisch 1 toe aan i.
Toch jammer.
  woensdag 15 juni 2011 @ 09:14:17 #241
62215 qu63
..de tijd drinkt..
pi_98190941
quote:
7s.gif Op maandag 13 juni 2011 09:28 schreef DaFan het volgende:

[..]
[ code verwijderd ]

Hmz, die code kost me alasnogruim 20 seconden.. Geen verbetering t.o.v. dit dus:
1
2
3
4
5
6
7
8
Dim Ws As Worksheet, Wb As Workbook, R As Range, S As Integer
Set Wb = ActiveWorkbook
Set R = Sheets("Hulpsheet Sven").Range("a32")
S = 1
For Each Ws In Wb.Worksheets
R.Cells(S, 1) = Ws.Name
S = S + 1
Next Ws
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_98192591
quote:
0s.gif Op woensdag 15 juni 2011 09:14 schreef qu63 het volgende:

[..]

Hmz, die code kost me alasnogruim 20 seconden.. Geen verbetering t.o.v. dit dus:

[ code verwijderd ]

Qua tijd niet...code wel. Korter is beter ;)
Misschien moet je calculate ook ff uitzetten. Het zou best een kunnen dat Excel gaat rekenen als de macro de sheet raadpleegt?

17 lege sheets duurt <1 sec

[ Bericht 2% gewijzigd door DaFan op 15-06-2011 10:30:21 ]
  woensdag 15 juni 2011 @ 11:29:25 #243
62215 qu63
..de tijd drinkt..
pi_98194514
quote:
7s.gif Op woensdag 15 juni 2011 10:24 schreef DaFan het volgende:

[..]

Qua tijd niet...code wel. Korter is beter ;)
Misschien moet je calculate ook ff uitzetten. Het zou best een kunnen dat Excel gaat rekenen als de macro de sheet raadpleegt?

17 lege sheets duurt <1 sec
Ik denk dat het vooral komt door bijna 800 cellen met een UNIQUE()-functie..

Berekenen uitzetten was idd wel een goede, nu duurde het <1sec ipv 12 sec!

[ Bericht 4% gewijzigd door qu63 op 15-06-2011 11:36:16 ]
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  woensdag 15 juni 2011 @ 11:37:50 #244
62215 qu63
..de tijd drinkt..
pi_98194805
Nu moet ik alleen nog iets bedenken hoe ik die UNIQUE-functie lege cellen over kan laten slaan en of deze nog sneller kan. In grote sheets duurt het namelijk soms 0,5sec voordat ik weer verder kan..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_98195960
quote:
0s.gif Op woensdag 15 juni 2011 11:37 schreef qu63 het volgende:
Nu moet ik alleen nog iets bedenken hoe ik die UNIQUE-functie lege cellen over kan laten slaan en of deze nog sneller kan. In grote sheets duurt het namelijk soms 0,5sec voordat ik weer verder kan..
Ik denk gewoon met een IF, volgens mij evalueert ie pas FALSE of TRUE na de IF
pi_98197497
1
2
3
4
5
6
7
8
For Each cl In InputRange
     If cl.Formula <> "" Then
         cUnique.Add cl.Value, CStr(cl.Value)
     Else
         Goto Volgende
     End If
Volgende:
Next cl
?

[ Bericht 19% gewijzigd door DaFan op 15-06-2011 13:22:03 ]
pi_98198209
quote:
7s.gif Op woensdag 15 juni 2011 12:56 schreef DaFan het volgende:

[ code verwijderd ]

?
dan stopt de code toch bij de eerste de beste lege cel? vraag me af of dat de bedoeling is.
Supra Groningam Nihil
Postjubilea: 10.000 15.000 20.000 25.000
Sit jou kop in die koei se kont en wag tot die bul jou kom holnaai
Wat niemand je vertelt over de bioindustrie, geen bloed maar feiten
pi_98198578
quote:
3s.gif Op woensdag 15 juni 2011 13:12 schreef Deetch het volgende:

[..]

dan stopt de code toch bij de eerste de beste lege cel? vraag me af of dat de bedoeling is.
Aangepast, thanks.
VBA heeft geen 'Continue' :r
  woensdag 15 juni 2011 @ 13:29:33 #249
62215 qu63
..de tijd drinkt..
pi_98198896
quote:
7s.gif Op woensdag 15 juni 2011 12:56 schreef DaFan het volgende:

[ code verwijderd ]

?
Helaas, het veranderd niets, ik krijg nog steeds in een lijst unieke waarden een lege cel ;(
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_98199733
quote:
0s.gif Op woensdag 15 juni 2011 13:29 schreef qu63 het volgende:

[..]

Helaas, het veranderd niets, ik krijg nog steeds in een lijst unieke waarden een lege cel ;(
Is je waarde in cl leeg leeg of is hij leeg door een formule?
Want dan is cl.Formula natuurlijk nooit ""

cl.Value <> "" is dan beter ;)

vb;
Als ik A1:A10 heb staan
1=IF(ROW(A1)=4;"";ROW(A1))
(doorgetrokken)
Dan geeft cl.Value = 9
cl.Formula = 10

Edit, zo dus:
1
2
3
4
5
For Each cl In InputRange
     If cl.Value<> "" Then
         cUnique.Add cl.Value, CStr(cl.Value)
     End If
Next cl
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')