Avatar billede kim1a Ekspert
16. maj 2013 - 10:48 Der er 7 kommentarer og
1 løsning

VBA Loop

Hej

Vedrørende dette spm: http://www.eksperten.dk/spm/981055 (se blandt andet fileksempel)

Jeg har tænkt at jeg blot kan nøjes med at indsætte overskrifter i manglende kolonner - hvorfor jeg forsøger mig med denne lille makro:

Sub Macro1()
'
' Macro1 Macro
'
Dim TomCelle As Integer

'
    ActiveCell.Cells.Select
    Selection.UnMerge
    ActiveCell.Cells.EntireColumn.AutoFit
    Do Until Application.WorksheetFunction.Match("", Range("A22:AT22")) = IsNA
    TomCelle = Application.WorksheetFunction.Match("", Range("A22:AT22"), 22)
    Range(TomCelle).Select
    ActiveCell.FormulaR1C1 = "Tom"
    Loop
End Sub

Tanken er at jeg først fjerner alle merges, derefter laver kolonnerne i passende bredde og så indsætter "tom" som overskrift i kolonner uden overskrift (i linje 22). Den forstår dog ikke min until formel. Er det måske IsNA den hoster over?
Den skal jo loope indtil der ikke er en tom overskrift i A22:AT22
Avatar billede kim1a Ekspert
16. maj 2013 - 11:06 #1
Jeg har så allerede spottet at min optagelse af at markere alt ikke virker. Jeg forsøger nu med:
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

Men xlDown er ikke en løsning, da den kun går til næste gang der er tekst i en celle i kolonne A.

Jeg vil helst undgå at skrive en Range, men lade den dynamisk hele arkets linjer.
Avatar billede sdh Mester
16. maj 2013 - 11:53 #2
Sorry - havde ikke lige haft tid til at følge op på dit tidligere spørgsmål.
Hvilke område og hvilke kolonner vil du gerne have skal indgå i pivottabellen? Og hvordan vil du gerne have kolonner og rækker organiseres i pivottabellen?
Avatar billede kim1a Ekspert
16. maj 2013 - 12:03 #3
Jeg vil bare i første omgang kunne lave en pivot når udtrækket foreligger, så hvilke kolonner og rækker er ligegyldigt.
Avatar billede sdh Mester
16. maj 2013 - 12:14 #4
Du skriver at alle importerede data er i tekst format - det kan jeg ikke se af din fil. Tal og datoer ser ud som om at de er angivet i talformat. Ved ikke om du selv har formateret disse.
Men med udgangspunkt i at data er som i din fil ville jeg marker dataområdet og lave dette om til en tabel - ctrl+t og angive at tabellen indeholder overskrifter - derved ophæver du de flettede celler og kolonner uden data få automatisk en overskrift. Disse skal jo så undlades i pivottabellen.

Håber det er svar på dit spørgsmål.
Avatar billede kim1a Ekspert
16. maj 2013 - 15:13 #5
Superelegant og nemt :-)

Kom med et svar og få point. Der er bonuspoint hvis du også kan løse min vba :-)
Avatar billede sdh Mester
16. maj 2013 - 15:20 #6
Desværre kan jeg ikke med vba'en. Det er ikke lige min stærke side.
Avatar billede sdh Mester
16. maj 2013 - 15:58 #7
Hej igen

Forsøger lige alligevel med nedenstående VBA kode:

Sub Macro1()
'
' Macro1 Macro
'
'
    ActiveCell.Cells.Select
    Selection.UnMerge
    ActiveCell.Cells.EntireColumn.AutoFit
    Range("A22:at22").Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.FormulaR1C1 = "Tom Celle"
End Sub

Forstå dog ikke at kolonne Y's data står anført med #####.??
Avatar billede sdh Mester
16. maj 2013 - 16:40 #8
Drop min sidste besvarelse. Som sagt er jeg lidt svag til VBA
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester