04. juni 2010 - 09:19Der er
7 kommentarer og 1 løsning
Eksporter data som ekstern fil
Jeg har fundet denne programstump, som henter kildedata fra en pivottabel i regnearket, og skriver resultatet / kildedata i en ny arkfane :
Public Sub ExtractPivotTableData()
Dim objActiveBook As Workbook Dim objSheet As Worksheet Dim objPivotTable As PivotTable Dim objTempSheet As Worksheet Dim objTempPivot As PivotTable
If TypeName(Application.Selection) <> "Range" Then Beep Exit Sub ElseIf WorksheetFunction.CountA(Cells) = 0 Then Beep Exit Sub Else Set objActiveBook = ActiveWorkbook End If
With Application .ScreenUpdating = False .DisplayAlerts = False End With
For Each objSheet In objActiveBook.Sheets For Each objPivotTable In objSheet.PivotTables With objActiveBook.Sheets.Add(, objSheet) With objPivotTable.PivotCache.CreatePivotTable(.Range("A1")) .AddDataField .PivotFields(1) End With .Range("B2").ShowDetail = True objActiveBook.Sheets(.Index - 1).Name = "SOURCE DATA FOR SHEET " & objSheet.Index objActiveBook.Sheets(.Index - 1).Tab.Color = 255 .Delete End With Next Next
With Application .ScreenUpdating = True .DisplayAlerts = True End With
End Sub
Data i mit regneark består af mere end 65.000 rækker, hvorfor programmet naturligvis stopper ( forventeligt )
Kan jeg istedet få denne udlæst som en ekstern csv-fil ( eller lignende ) som kan benyttes i en database ... hvordan ???
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Du må bedst selv kunne se hvilke data det er du kopierer over i det andet sheet. Jeg kan ikke gennemskue din kode, det ser ud som om den opretter flere sheets. Men det er ligemeget - du skal bare finde det data du ønsker at skrive til filen - herefter er det bare copy-paste :)
Mon ikke det er f.eks. denne linje der angiver det data der skal kopieres (og dermed skrives til fil) [code] .AddDataField.PivotFields(1) [/code]
Det kan du ændre til
FilNavn = "C:\Data.txt" Filnummer= Freefile Open Filnavn For output As #Filnummer Print #FilNummer, .AddDataField.PivotFields(1) & ";" close filnavn
Du kan sætte open/close uden for løkken, så den ikek skal åbne og lukke filen en milliard gange ;-)
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.