21. september 2015 - 10:09Der er
2 kommentarer og 1 løsning
Makro til indlæsning ombytning af kolonner, sortering og eksport af data
Hej,
Jeg har en lidt specifik problemstilling.
Jeg vil gerne have en makro der kan: - Indlæse en fil man selv skal vælge når man aktivere makroen. - Sortere kolonne (A:E) efter dato i kolonne A med ældste først. - Indsætte ny linie øverst med tekste "A1=Dato, A2=Rente, A3=Tekst, A4=Beløb, A5=Saldo" - Bytte rundt på kolonne B og C - Eksportere kolonne A:E til nyt regneark
Sub DanFil() Dim file As String Dim i As Integer i = Application.FileDialog(msoFileDialogOpen).Show If i <> 0 Then file = Application.FileDialog(msoFileDialogOpen).SelectedItems(1) Dim wkbImport As Workbook Set wkbImport = Workbooks.Open(file, local:=True)
'Sortering With wkbImport.Worksheets(1).Sort .SortFields.Clear .SortFields.Add Key:=Range("A1", Range("A1").End(xlDown)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("A1", Range("E1").End(xlDown)) .Header = False .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With
'Overskrift With wkbImport.Worksheets(1) .Range("A1").EntireRow.Insert .Range("A1").Value = "Dato" .Range("B1").Value = "Rente" .Range("C1").Value = "Tekst" .Range("D1").Value = "Beløb" .Range("E1").Value = "Saldo" End With
'Byt B og C With wkbImport.Worksheets(1) .Range("D1").EntireColumn.Insert .Range("B1").EntireColumn.Copy Destination:=wkbImport.Worksheets(1).Range("D1") .Range("B1").EntireColumn.Delete End With
'Gem i = Application.FileDialog(msoFileDialogSaveAs).Show If i <> 0 Then wkbImport.SaveAs Application.FileDialog(msoFileDialogSaveAs).SelectedItems(1) End If End If End Sub
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.