Toon posts:

Excel sheets copy via macro

Pagina: 1
Acties:
  • 257 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een excel (2003) bestand met daarin verschillende kolommen. In kolom A staan (meerdere) namen (ook duplicate) en in de overige kolommen verschillende waarden die bij de namen horen.

Via een filter op kolom A kopieer ik alle rijen per naam naar een aparte sheet. Dit gebeurt al via een macro.

Wat ik graag zou willen is dat de macro zelf alle namen uitleest en elke naam naar een aparte sheet kopieert, zonder dat ik zelf de filter moet aanpassen en per naam naar een aparte sheet kopieer. Ik heb al op heel wat plekken gezocht, maar ik heb helaas nog niets kunnen vinden .......

Verwijderd

Topicstarter
een iets duidelijkere uitleg:

Is het mogelijk om een autofilter uit te lezen en aan de hand hiervan sheets te maken met de waarden van de autofilter?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Duidelijker wordt het daar niet van, een voorbeeld helpt :+

Maar goed, je vraagt naar een macro. Ik zou zeggen: doe alvast een opzet. Waar loop je vast? Hoeft niet in code, pseudocode kan ook.

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


  • Bud_s
  • Registratie: Maart 2002
  • Laatst online: 27-08 14:13
in VBA iets van :
code:
1
2
3
4
Sub CopyVisible()
Sheet1.Range("A1:C3").SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheet2.Range("A1")
End Sub

Verwijderd

Topicstarter
Dit is wat ik al heb
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Copynewsheet()
'
' Copynewsheet Macro

'
' Keyboard Shortcut: Ctrl+w
'
    Cells.Select
    Range("B1919").Activate
    Selection.Copy
    ActiveSheet.Select
    Sheets.Add
    ActiveSheet.Paste
End Sub

Dit is overigens een macro wat ik eerst heb opgenomen en daarna heb bewerkt.

De Cells.Select activeert de cellen die via de autofilter worden getoond. Wat ik nu graag zou willen is dat ik met dezelfde macro alle waarden die binnen de autofilter beschikbaar zijn in kolom A aparte sheets kan maken.

Voorbeeld

kolom A Kolom B

A 23
B 135
C 54
D 54
A 84
A 85
D 21

Ik selecteer nu via autofilter in kolom a bv de waarde A. De macro hierboven beschreven kopieert nu de getoonde rijen naar een aparte sheet. Dan pas ik de autofilter aan op de waarde B, run de macro en wederom heb ik weer een aparte sheet met de rijen behorende bij B. Wat ik graag zou willen is dat de macro zelf A en B en C enz. herkent en alles naar aparte sheets kopieert. En nog mooier zou zijn als de sheet al meteen de naam heeft van de waarde in kolom A :)

[ Voor 2% gewijzigd door Verwijderd op 28-09-2004 10:49 . Reden: tiebvoudje ]


Verwijderd

Topicstarter
stiekeme ieniemienieschoppie

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je wilt een aantal dingen:
• Zelf auto-filter instellen en daarna de macro draaien
• Alle cellen kopieren
• Nieuwe worksheet aanmaken
• Naam geven aan worksheet
• De cellen plakken in de nieuwe worksheet

Probeer eerst bovenstaand. Ik kan dit nl. met de macro-recorder zo nadoen (en dan krijg ik dus goede relevante code, die je kan aanpassen)

Daarna kan je kijken naar mogelijkheden om filters zelf te zetten ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
en wat is het verschil met mn vorige post?

Verwijderd

Topicstarter
ok, ik heb nu in principe alles. Ik kan de autofilter aan en uit zetten. Naam van de sheet veranderen. Het enige wat ik nog niet niet kan is dus de autofilter automatisch uit te lezen

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 28 september 2004 @ 11:05:
en wat is het verschil met mn vorige post?
Als je het zelf ook puntsgewijs had benoemd, dan had je het zelf kunnen achterhalen met de Macro-recorder :/

oh ja, tip van flip: Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Dat is ook wat ik heb gedaan, maar een namechange van een sheet word niet in mn macro opgenomen door de recorder, dus helaas. En ik zou niet weten hoe ik moet opnemen dat de excel de autofilter helemaal automatisch leest :?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 28 september 2004 @ 11:51:
Dat is ook wat ik heb gedaan, maar een namechange van een sheet word niet in mn macro opgenomen door de recorder, dus helaas. En ik zou niet weten hoe ik moet opnemen dat de excel de autofilter helemaal automatisch leest :?
ALT + F11 en dan op de F1 rammen... Er zit een zeer volledige naslagwerk onder de VBA Help in Excel.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
Dan staat er nog steeds niet in hoe het automatisch kan. Misschien begrijp je me verkeerd.
Ik wil de Criteria niet zelf op geven, maar ik wil dat excel dat zelf ziet en aanpast

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Ja, dat is toch simpel? Zoek even de eigenschappen van een sheet op onder F1 (het zal wel Name zijn), zie het voorbeeld onder F1, pas het toe. Macrorecorder is een van de vele hulpmiddeltjes, niet de enige manier om code te "schrijven" ;)

Uit mn hoofd weet ik het niet zeker en Excel heb ik niet op deze laptop hier draaien, maar ik weet vrij zeker dat het is uit te vogelen.

Doe het anders eerst even in pseudocode,

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


Verwijderd

Topicstarter
naam veranderen is al gelukt. Piece of cake :)

Het enige wat niet lukt:
code:
1
2
3
4
5
6
7
8
read from autofilter

do while autofilter not at the end
set autofilter to value(i)

  //en dan het kopier gedeelte, heb ik dus al
i++
end while


in excel zie je dan een dropdown box als je het handmatig doet. Daar kan je dan een naam kiezen en excel filtert dan de gegevens. Dat kiezen moet de macro dus zelf kunnen
Pagina: 1