Avatar billede 171257 Nybegynder
08. marts 2002 - 09:54 Der er 12 kommentarer og
1 løsning

BOF, EOF, "Bogmærke"?

Jeg bruger Excel til brevfletning og nogle gange får jeg nogle mærkelige advarsler med EOF, BOF, "ugyldigt bogmærke". Jeg har prøvet at gemme data i alle mulige formater (csv, txt, prn) for at fjerne al mulig "snask" (formatering, CR/LF).

Hva' kan jeg gøre for at data bliver ens?
Jeg har mistanke om at der mangler nogle CR/LF nogle steder  :-(
Avatar billede bak Seniormester
08. marts 2002 - 10:21 #1
Nu forstår jeg ikke lige spm. helt men hvis ikke du kan få det til at virke med de andre formater så prøv at bruge dBaseIII (DBF3) format. Det er meget stabilt og gemmer ingen formateringer.
Avatar billede 171257 Nybegynder
08. marts 2002 - 11:07 #2
Hej bak

Jeg bruger den makro du lavede i går
Sub del()
x = Application.WorksheetFunction.CountA(Range("A:A"))
y = Application.WorksheetFunction.CountA(Range("1:1"))
If WorksheetFunction.Odd(Int(x / 2)) Then z = Int((x) / 2) + 1 Else z = Int(x / 2)
Range(Cells(z + 1, 1), Cells(x + 1, y)).Cut
Cells(2, y + 1).Select
ActiveSheet.Paste
Range(Cells(1, 1), Cells(1, y)).Copy
Cells(1, y + 1).Select
ActiveSheet.Paste
End Sub

Der er 7783 rækker, men det går galt omkring 1480. Der bliver et hul og så kommer der data igen længere nede. Så makroen tror der ikke er flere rækker.
Avatar billede 171257 Nybegynder
08. marts 2002 - 11:31 #3
Hej bak

Jeg har prøvet på andre data - der virker det perfekt. Så det må være de data jeg sidder med nu der er noget snavs i?
Avatar billede bak Seniormester
08. marts 2002 - 17:43 #4
Jeg kan heller ikke umiddelbart se fejlen men prøv lige at erstatte 1. linie med:
x= Range("A65536").End(xlUp).Row
Avatar billede 171257 Nybegynder
08. marts 2002 - 19:48 #5
Hej bak

Det hjalp. Der kommer bare 1 række for meget med over på 7784 rækker (det er incl. overskriften). Er det en af tællerne der skal rettes?
Avatar billede bak Seniormester
09. marts 2002 - 09:47 #6
tællere rettet til:
Sub del()
x = Range("A65536").End(xlUp).Row - 1
y = Application.WorksheetFunction.CountA(Range("1:1"))
If (x Mod 2) = 0 Then z = (x / 2) + 2 Else z = ((x + 1) / 2) + 2
Range(Cells(z, 1), Cells(x + 1, y)).Cut
Cells(2, y + 1).Select
ActiveSheet.Paste
Range(Cells(1, 1), Cells(1, y)).Copy
Cells(1, y + 1).Select
ActiveSheet.Paste
End Sub
Avatar billede 171257 Nybegynder
11. marts 2002 - 10:10 #7
Hej bak

Nu går det helt galt - række 7782, 7783, 7784 bliver stående hvor de er.

Jeg skal prøve at se om jeg kan forklare det lidt bedre.
Der er data i 7783 rækker (det er minus kolonneoverskriften). Efter kørsel
af din makro skal der være 3892 rækker i "første hold" og 3891 rækker i
"andet hold". Det er vigtigt at rækkefølgen af data ikke ændres fordi
data først bruges til brevfletning og print af breve i A4 format og efter
kørsel af makroen til brevfletning og print af svarkort hvor der 2 stk.
på 1 A4. Herefter skæres svarkortene over og lægges bag hinanden.
Breve og svarkort kuverteres og her skulle navn, adresse osv. jo
gerne være den samme på begge dele.
En lang forklaring - håber det hjælper  :-)
Avatar billede 171257 Nybegynder
11. marts 2002 - 11:02 #8
PS. Makroen skal stadig kunne køre uanset hvor mange rækker og kolonner der er.
Avatar billede bak Seniormester
11. marts 2002 - 14:07 #9
Har du mulighed for at zippe dine data og sende til mig ?
tommybak@netscape.net
Her kører den nemlig godt nok, så jeg vil gerne se om der er et eller andet snavns der skal korrigeres for.
Avatar billede bak Seniormester
11. marts 2002 - 15:45 #10
Ok, jeg har fundet fejlen. Du har flere data i kolonne B end i Kolonne A, men makroen checker på kolonne A.
Det ændrer vi da bare.
x = Range("A65536").End(xlUp).Row - 1
ændres til
x = Range("B65536").End(xlUp).Row - 1
Avatar billede bak Seniormester
11. marts 2002 - 15:54 #11
eller
x = range("A1").CurrentRegion.Rows.Count - 1
Avatar billede 171257 Nybegynder
12. marts 2002 - 13:14 #12
Hej bak

Det kører bare - smukt arbejde  :-)
Endu engang tak for hjælpen.

Send svar.
Avatar billede bak Seniormester
12. marts 2002 - 14:11 #13
Så er der svaret :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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