12. oktober 2003 - 10:51Der er
13 kommentarer og 1 løsning
Data Eksport fra Excel til .csv og .htm
Jeg har et ark som automatisk står og samler data fra en extern data kilde.
Problemet er at jeg gerne vil gemme et ark løbende i .csv filer og et andet ark som .html. Det skal gemmes i hver sin mappe. Navnene kommer fra celler i et tredie ark.
Begge dele skal gøres via en timer som jeg allerede har - så det er ikke det som er problemet.
Jeg har prøvet at lave en makro som gemmer, problemet er at når jeg har gemt i csv eller html så bliver mit 'oprindelige' ark lukket og det 'nye' ark er åbent - og det er jo ikke det som er meningen...
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Jeg fik fat i et forkert eksempel - ideen var at lave en ny workbook: Worksheets("Ark1").UsedRange.Copy Set newBook = Workbooks.Add newBook("ark1").Range("A1").PasteSpecial Paste:=xlValues ... saveas.... - har ikke testet det, men det må være noget i den stil
Hvis jeg laver en ny workbook med det ark som jeg vil gemme, så kan jeg vel gemme det i det ønskede format og så 'tvinge' den nye workbook til at lukke sig selv bagefter (og genåbne den gamle)?
Sub ExportToHTML(Filename As String, Rng As Range) ' Dim ws As Worksheet Dim Filename As Variant Dim TDOpenTag As String, TDCloseTag As String Dim CellContents As String Dim Rng As Range Dim r As Long, c As Integer
' Open the text file Open Filename For Output As #1
' Write the <TABLE> tag Print #1, "<TABLE BORDER=1 CELLPADDING=3>"
' Loop through the cells For r = 1 To Rng.Rows.Count Print #1, "<TR>" For c = 1 To Rng.Columns.Count TDOpenTag = "<TD ALIGN=RIGHT>" TDCloseTag = "</TD>" If Rng.Cells(r, c).Font.Bold Then TDOpenTag = TDOpenTag & "<B>" TDCloseTag = "</B>" & TDCloseTag End If If Rng.Cells(r, c).Font.Italic Then TDOpenTag = TDOpenTag & "<I>" TDCloseTag = "</I>" & TDCloseTag End If CellContents = Rng.Cells(r, c).Text Print #1, TDOpenTag & CellContents & TDCloseTag Next c Print #1, "</TR>" Next r ' Close the table Print #1, "</TABLE>"
' Close the file Close #1
' Tell the user MsgBox Rng.Count & " cells exported to " & Filename End Sub
Sub EksportAsCSV_DK(strFileName As String, rngOmr As Range) Const Delim As String = ";" 'afgrænser (delimiter) Dim y As Long 'tæller Dim x As Long 'tæller Dim strTemp As String 'streng til de enkelte rækker Dim lRows As Long 'antal rækker Dim lCols As Long 'antal kolonner Dim lFno As Long 'fil nummer
lFno = FreeFile lRows = rngOmr.Rows.Count lCols = rngOmr.Columns.Count Open strFileName For Output As #lFno
For x = 1 To lRows strTemp = "" For y = 1 To lCols strTemp = strTemp & rngOmr(x, y).Text If y < lCols Then strTemp = strTemp & Delim Else Print #lFno, strTemp End If Next
ActiveWindow.Close Application.DisplayAlerts = True End Sub
Sidder og leger med denne kode som jeg har tyvstjålet fra kabbak (sorry bak, men for en novise som mig lignede det noget jeg kunne gå til - dit ser meget komplekst ud). Har lidt problemer med at hente filnavn fra en celle (der er tale om bla. en dato/tidspunkt.) nogen bud?
mht tid hvade jeg tænkt mig noget ala 2003-10-12 2219.csv
Men jeg kan ikke få det til at virke. Jeg har en makro som skriver +now() i en celle og derefter paster indholdet af celle ind i 'sig selv' med paste special, value. Det virker som et 'tidsstempel' hvergang makroen kører. Jeg har lavet formatereingen til 2003-10-12 2219. Men det virker ikke. (det virker fint hvis jeg bare skriver noget i cellen - så det er fordi makroen ikke kan håndterere formatet. (hvis jeg ændre format på cellen til generel eller nummer får jeg bare et tal). Så jeg har brug for at få skrevet dato+tid i en celle som et nummer og ikke som en 'værdi'.
Alt afhænger af øjene der ser - Som du nok har luret er jeg stadig begynder og jeg vil helst forstå det jeg laver - og jeg er bare ikke dygtig nok til at forstå det hele... Men jeg har indtil nu lært meget af dig;-)
I skal begge have tusiend tak for hjælpen. >> stefanfuglsang får 30 for at sætte mig i gang. >> bak får 30 for at følge mig til dørs.
Håber i vil hjælpe mig igen en anden gang.
/brille
Synes godt om
Ny brugerNybegynder
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.