Avatar billede vv25 Nybegynder
19. januar 2010 - 11:32 Der er 13 kommentarer og
1 løsning

Data fra Excel med VBA

Hej,

Jeg skal se om jeg kan forklarer mig, jeg har lavet en generator der laver en journalnotat alt efter hvad der er skrevet tidligere i skemaet, dette fungere også fint, men når hele journalnotatet er lavet står det i én celle som jeg så ønsker at kopiere over i et andet program (KMD-sag), men når jeg gør dette kommer teksten til at stå i en kasse, og jeg ved ikke hvordan jeg skal få den til at lade være.

Min kode ser således ud:
Sub JournalNotat()

Dim Journal As String
Dim Periode As String
Dim Modtaget As Date
Dim Sygedage As Integer
Dim Tilskudsgrad As String
Dim TilskudsberettigetBeløb As Long
Dim FradragSygdom As Long
Dim Udbetaling As Long
Dim Navn As String

Periode = ActiveSheet.Range("D17")
Modtaget = ActiveSheet.Range("D18")
Sygedage = ActiveSheet.Range("D10")
Tilskudsgrad = ActiveSheet.Range("D8")
TilskudsberettigetBeløb = ActiveSheet.Range("D7")
FradragSygdom = ActiveSheet.Range("D13")
Udbetaling = ActiveSheet.Range("D14")
Navn = ActiveSheet.Range("D16")

Journal = "Refusion : " & Periode & " (" & Modtaget & ")." & " "
& Sygedage & " sygedage i perioden. Tilskud " & Tilskudsgrad & " x " & TilskudsberettigetBeløb & " - " & Sygedage & " sygedage kr. " & FradragSygdom & " = kr. " & Udbetaling & ". Anvist via KMD d.d i.h.t LAB §71." & Navn & "        BIF/Løntilskud"
 
Range("C21").Select
ActiveCell.FormulaR1C1 = Journal
Selection.Copy

End Sub

Der kommer ingen kasse om når man kopiere til word, outlook mm??

Håber at der er en der kan hjælpe mig.
Avatar billede martin_moth Mester
19. januar 2010 - 12:10 #1
Hvad mener du med "kasse", og hvor optræder din kasse henne?

Hvor er det du indsætter dit data henne (excel eller) - din kode viser kun hvordan du sammensætter dit journalnummer, sætter det ind i C21, og kopiere det..
Avatar billede vv25 Nybegynder
19. januar 2010 - 12:29 #2
Teksten er i en kasse, ligesom når man sætter en tabel med tekst ind.
Programmet jeg overfører til er KMD sag, det er et værktøj hos københavns kommune. Men det er sådan set heller ikke vigtigt at den selv overfører til programmet, da jeg ikke tror det kan lade sig gøre.

Det skal blot være muligt at bruge Ctrl+v og så få teksten uden tabel omkring.

Og nej jeg har ikke skrevet det i koden da jeg ikke ved hvad jeg skal skrive, er stadig en smule grøn i VBA.
Avatar billede martin_moth Mester
19. januar 2010 - 13:09 #3
Den kode du har skrevet kopierer cellens indhold til udklipsholderen.

Hvis der kommer en kase rundt om når du paster i et andet program, må det være det andet program der sætter kassen ind. Prøv at paste det ind i notepad, og se om det ikke virker.

Jeg tror din kode er fin-fin
Avatar billede vv25 Nybegynder
19. januar 2010 - 13:26 #4
Den tager netop ikke en kasse med i wordpad, word osv.

Er det muligt fra excel at kopiere teksten til word, hvorefter man kopiere teksten i word og derefter lukker word.

Så må det jo give en tekst uden kasse?
Avatar billede supertekst Ekspert
19. januar 2010 - 13:46 #5
Hvordan ser den omtalte kasse ud?

Forekommer den i andre filer end KMD's?
Avatar billede vv25 Nybegynder
19. januar 2010 - 13:51 #6
Hvordan den ser ud, den ligner som tidligere nævnt en tabel og nej jeg hr ikke fået den til at gøre det i et andet program.
Avatar billede supertekst Ekspert
19. januar 2010 - 14:03 #7
Hvilken fil-type er KMD-systemet?

Har du prøvet at indsætte udklipsdata i et Word-dok og herefter trække teksten over i KMD-filen herfra?
Avatar billede martin_moth Mester
19. januar 2010 - 14:07 #8
Har du prøvet at sætte data ind i KMD, der er kopieret fra et andet sted? Er du SIKKER på, at det ikke bare er KMD programmet, der ALTID putter en kasse omkring det man paster?

Ellers skulle der være en paste special, hvor du kun sætter værdier ind (ligesom excel)

Ellers skal du skrive direkte til udklipsholderen fra Excel-koden - det kan garanteret gøres. Prøv at søg på "VBA Excel Clipboard" på f.eks. google. Så slipper du for at kopiere en celle, hvorfra den "kasse" du omtaler måske stammer...
Avatar billede supertekst Ekspert
19. januar 2010 - 15:14 #9
Alternativ:

Sub JournalNotat()

Dim Journal As String
Dim Periode As String
Dim Modtaget As Date
Dim Sygedage As Integer
Dim Tilskudsgrad As String
Dim TilskudsberettigetBeløb As Long
Dim FradragSygdom As Long
Dim Udbetaling As Long
Dim Navn As String

Dim cbObj As DataObject
    Set cbObj = New DataObject
   
    Periode = ActiveSheet.Range("D17")
    Modtaget = ActiveSheet.Range("D18")
    Sygedage = ActiveSheet.Range("D10")
    Tilskudsgrad = ActiveSheet.Range("D8")
    TilskudsberettigetBeløb = ActiveSheet.Range("D7")
    FradragSygdom = ActiveSheet.Range("D13")
    Udbetaling = ActiveSheet.Range("D14")
    Navn = ActiveSheet.Range("D16")

    Journal = "Refusion : " & Periode & " (" & Modtaget & ")." & " " & Sygedage & " sygedage i perioden. Tilskud " & Tilskudsgrad & " x " & TilskudsberettigetBeløb & " - " & Sygedage & " sygedage kr. " & FradragSygdom & " = kr. " & Udbetaling & ". Anvist via KMD d.d i.h.t LAB §71." & Navn & "        BIF/Løntilskud"
   
    cbObj.settext Journal
    cbObj.putinclipboard
   
   
Rem Vises til orientering
    Range("C21").Select
    ActiveCell.FormulaR1C1 = Journal
End Sub
Avatar billede martin_moth Mester
20. januar 2010 - 08:31 #10
netop :)

cbObj.putinclipboard
Avatar billede vv25 Nybegynder
20. januar 2010 - 15:03 #11
Jeg fandt det selv på google, men brugte DataObj og det virker.
Så jeg ved ikke hvem, men hvis en af jer kan poste et svar skal kan jeg lukke den..
Avatar billede supertekst Ekspert
20. januar 2010 - 15:11 #12
så synes jeg det skal være en gratis omgang - så velkommen til
- ellers må martin sige til
Avatar billede vv25 Nybegynder
20. januar 2010 - 15:16 #13
svar
Avatar billede martin_moth Mester
20. januar 2010 - 16:33 #14
"til"
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
Kurser inden for grundlæggende programmering

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