Overføre data til excel regneark

Tags:    visual-basic

Hejsa.
Jeg har et problem som jeg håber på i kan hjælpe mig.
Jeg er rimelig bybegynder, så min viden er ikke så stor. Jeg er ved og lave et lille program hvor man scanner to stregkoder og sammenligner dem. Jeg gemmer dem i et array. Jeg vil gerne lave det så jeg gemmer resultatet i et excel regneark. Det har jeg for så vidt fundet ud af hvordan man gør. Problemet er bare at hveer gang jeg gemmer i excel, så starter den med og putte data ind i celle A1, og derved sletter den alle de andere data som liger derinde. Kan man ikke lave en kode hvor VB gemmer data i første ledeige celle i kolonne A. Den kode jeg bruger er

Private Sub Command1_Click()
Dim TraID
Open "C:\\PVM.xls" For Output As #1
For TraID = 1 To AntalTransaktioner
Print #1, Transaktion(TraID)
Next
Close #1
End Sub
copernic



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Hejsa.
Jeg har et problem som jeg håber på i kan hjælpe mig.
Jeg er rimelig bybegynder, så min viden er ikke så stor. Jeg er ved og lave et lille program hvor man scanner to stregkoder og sammenligner dem. Jeg gemmer dem i et array. Jeg vil gerne lave det så jeg gemmer resultatet i et excel regneark. Det har jeg for så vidt fundet ud af hvordan man gør. Problemet er bare at hveer gang jeg gemmer i excel, så starter den med og putte data ind i celle A1, og derved sletter den alle de andere data som liger derinde. Kan man ikke lave en kode hvor VB gemmer data i første ledeige celle i kolonne A. Den kode jeg bruger er

Private Sub Command1_Click()
Dim TraID
Open "C:\\PVM.xls" For Output As #1
For TraID = 1 To AntalTransaktioner
Print #1, Transaktion(TraID)
Next
Close #1
End Sub
copernic


Hej copernic,

kunne evt. bruge noget i denne stil

Dim iCnt as integer

iCnt = 0
' afvikel løkke sålænge celle ikke er tom
While Worksheets("Sheet1").Cells(iCnt, 1) <> ""
iCnt = iCnt +1
Wend

' løkke afsluttet, en tom celle er fundet
With Worksheets("Sheet1").Cells(iCnt, 1)
.Value = 'data
End with

Naturligvis skal man lige tage højde for at while løkken ikke bare må køre evigt, man kunne evt. indsætte en grænse på iCnt eks.

AND iCnt < 100

Håber det gav lidt ide nyt

Hilsen Thomas Vanting

[Redigeret d. 19/12-05 11:00:48 af Thomas Vanting]



for at den kode kan virke så skal du huske at oprette forbindelse til dit xls document

Dim excel as New Excel.Application
Dim Workbook as Excel.Workbook
Dim worksheet1 as Excel.Worksheet

Set workbook = Excel.Workbooks.Open "file.xls"
excel.visible = true

set worksheet1 = Workbook.ActiveSheet

og så kan du køre den kode som blev skrevet, hvor du brugerworksheet1 som worksheet object




det komemr så til at hedde

Dim iCnt as integer

iCnt = 0
' afvikel løkke sålænge celle ikke er tom
While worksheet1.Cells(iCnt, 1) <> ""
iCnt = iCnt +1
Wend

' løkke afsluttet, en tom celle er fundet
With worksheet1.Cells(iCnt, 1)
.Value = 'data
End with


og så skal det lige tilføjes at du opppe i project > references skal huske at slå Microsoft Excel XX.X Object Library til

[Redigeret d. 19/12-05 18:17:05 af Christian]



t