Avatar billede splokit Nybegynder
01. december 2005 - 17:57 Der er 14 kommentarer og
1 løsning

Vb Kode Hjælp til Trim

Sub Tekstfil()
 
  Dim fso As FileSystemObject
  Dim fsoFld As folder
  Dim fsoFil As File
 
  Dim filnavn As String
  Dim rngCopyRange As Range
  Dim n As Variant
  Dim s As String
  s = ""
  Set rngCopyRange = ThisWorkbook.Sheets(1).Range("a1:a264")
  filnavn = "Lager " & ThisWorkbook.Sheets(2).Cells(2, 14).Value & ".txt"
 
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set fsoFld = fso.GetFolder("G:\DOKUMENTER\HTFilter\")
 
  If fso.FileExists(fsoFld & "\" & filnavn) Then
    n = 1
    Do While fso.FileExists(fsoFld & "\" & Left( _
      filnavn, Len(filnavn) - 4) & "" & n & ".txt")
      n = n + 1
    Loop
    s = ""
  End If
  filnavn = Left(filnavn, Len(filnavn) - 4) & s & n & ".txt"
 
  With Workbooks.Add
    With Sheets(1)
      rngCopyRange.Copy .Range("a1:a263")
      '.Range("a1:a263").Value = rngCopyRange.Value
      ActiveWorkbook.SaveAs Filename:=fsoFld & "\" & filnavn, FileFormat:=xlText
    End With
    Application.DisplayAlerts = False
    .Close
    Application.DisplayAlerts = True
  End With
 
  Set fso = Nothing
  Set fsoFld = Nothing
End Sub
Avatar billede splokit Nybegynder
01. december 2005 - 17:58 #1
Kan man ikke gøre at hvis det ikke er værdi i de celler den kopier skal den ikke mærke dem... :S
Avatar billede sjap Praktikant
01. december 2005 - 18:33 #2
Hvor er det lige at du bruger trim (jeg har kigget, men kan ikke få øje på den).
Avatar billede splokit Nybegynder
01. december 2005 - 18:36 #3
det er bare når den laver end txt fil skal den ikke tage de tomme celler med over på txt filen...
Avatar billede splokit Nybegynder
01. december 2005 - 18:44 #4
eller med andre ord den laver tomme celler om til linje skift på txt filen
og det skal den helst ikke gøre... :S
Avatar billede sjap Praktikant
01. december 2005 - 20:17 #5
Prøv at erstatte det sidste kode med følgende (jeg har ikke testet - det er rent gæt)

With Workbooks.Add
    With Sheets(1)
        iCopyCount = 0
        For Each c In rngCopyRange
            If Not IsEmpty(c) Then
                iCopyCount = iCopyCount + 1
                rngCopyRange.Copy .Range("a" & iCopyCount)
            End If
        Next c
        ActiveWorkbook.SaveAs FileName:=fsoFld & "\" & filnavn, FileFormat:=xlText
    End With
    Application.DisplayAlerts = False
    .Close
    Application.DisplayAlerts = True
End With
Avatar billede splokit Nybegynder
01. december 2005 - 21:45 #6
:S det kan den ikke lide... den rykker det bare ned og A1 Bliver smide i de første 56 celler...
Avatar billede sjap Praktikant
01. december 2005 - 21:49 #7
Jamen der var da vist også lidt "sludder" midt i det hele

With Workbooks.Add
    With Sheets(1)
        iCopyCount = 0
        For Each c In rngCopyRange
            If Not IsEmpty(c) Then
                iCopyCount = iCopyCount + 1
                c.Copy .Range("a" & iCopyCount)
            End If
        Next c
        ActiveWorkbook.SaveAs FileName:=fsoFld & "\" & filnavn, FileFormat:=xlText
    End With
    Application.DisplayAlerts = False
    .Close
    Application.DisplayAlerts = True
End With
Avatar billede splokit Nybegynder
01. december 2005 - 22:13 #8
Test
22:09
Test
Test
Test
Test
Test
Test
Test
Test
---
Test
22:09
Test
Test
Test
Test
Test
Test
Test
Test
---

---

---

---

---

---

---

---

---

---

---

---

---

---

---

---

---

---
Avatar billede splokit Nybegynder
01. december 2005 - 22:14 #9
Den tager de formler med som er på arket... kan man gøre at de ikke kommer med hvis de ikke giver værdi!?
Avatar billede splokit Nybegynder
01. december 2005 - 22:16 #10
Sådan nogle formler er der på den side den henter fra...
=HVIS(A12 = "";"";"---")
Avatar billede sjap Praktikant
01. december 2005 - 22:20 #11
--- er jo en "værdi" - eller rettere: det er en ikke-tom celle.

Skal jeg forstå det sådan at du IKKE vil have --- overført?
Avatar billede splokit Nybegynder
01. december 2005 - 22:22 #12
jo det er fordi af det program som bruger den txt fil.. bruger --- som et tomt felt og slutning men jeg vil lige se om jeg kan lave noget andet så det ark den henter fra er tomt..
Avatar billede sjap Praktikant
01. december 2005 - 22:24 #13
Ændringen er relativt enkel. Du skal blot ændre følgende sætning

If Not IsEmpty(c) Then

til

If Not IsEmpty(c) And c<>"---" Then
Avatar billede splokit Nybegynder
02. december 2005 - 16:07 #14
Virker  Men sådan If Not IsEmpty(c) And c<>"" Then ellers ikke.. men det virker lige pt så den er oki... :D Kom med et svar
Avatar billede sjap Praktikant
02. december 2005 - 19:04 #15
OK :0)
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