Avatar billede munof Nybegynder
21. marts 2007 - 12:29 Der er 5 kommentarer og
1 løsning

Find tilsvarende x i excel database og udskift den

Jeg har et excel regneark som vi bruge til at udregne en masse oplysninger efter der er blevet tastet nogle få oplysninger ind, desuden udskriver den diverse breve.

Når jeg trykker på min udskriv macro kopiere den udvalgte oplysninger over i et eksternt excel regneark som er lavet som en database.

Det jeg skal bruge er en macro som kigge i databasen efter et tilsvarende X i kolonne A, hvis denne ikke eksistere skal den skrive de nye oplysninger i bunden af databasen. Hvis X allerede eksistere i kolonne A, så skal den overskrives med de nyeste oplysninger.

Jeg har lavet macroen der kopiere oplysninger ned i bunden af databasen, men mangler den der checker for gengangere og overskrive den.

Håber det er forståligt.
Avatar billede excelent Ekspert
21. marts 2007 - 17:58 #1
kan du ikke paste koden du kopierer med nu
hvor mange rækker har du i databasen ca. ?
Avatar billede munof Nybegynder
22. marts 2007 - 08:02 #2
Jo det kan jeg godt, får den i en forkortet version. Ialt er der vel omkring 100 linje.

Dim stel As String
Dim brand As String
Dim model As String
Dim navn As String

stel = Worksheets("Udfaktuering").Range("I25")
brand = 1
model = Worksheets("Udfaktuering").Range("b25")
navn = Worksheets("Udfaktuering").Range("b23")

Workbooks.Open Filename:="Y:\Opgaver\Projekt\Export.xls"


Range("a2").Select
If Range("a2").Value = "" Then
Range("a2").Activate
Else
Range("a2").CurrentRegion.Select
ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If

With ActiveCell
.Value = stel
.Offset(0, 1).Value = brand
.Offset(0, 2).Value = model
.Offset(0, 3).Value = navn


End With

    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
Avatar billede munof Nybegynder
22. marts 2007 - 08:05 #3
Ups antal linjer i databasen, svarede lidt forkert der, den bliver hele tiden større da der kommer nye til hver dag.

Grunden til at den skal checke og overskrive er at der kun må eksistere et stel i databasen, denne ligger i kolonne A i databasen.
Avatar billede excelent Ekspert
22. marts 2007 - 15:37 #4
prøv:

Dim stel As String
Dim brand As String
Dim model As String
Dim navn As String

stel = Worksheets("Udfaktuering").Range("I25")
brand = 1
model = Worksheets("Udfaktuering").Range("b25")
navn = Worksheets("Udfaktuering").Range("b23")

Workbooks.Open Filename:="Y:\Opgaver\Projekt\Export.xls"
Sheets(1).Activate '*
Range("A2").Select '*
On Error GoTo NoMatch '*
Cells.Find(What:=stel, After:=[A1], LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate '*

GoTo ud '*
NoMatch: '*

Range("a2").Select
If Range("a2").Value = "" Then
Range("a2").Activate
Else
Range("a2").CurrentRegion.Select
ActiveCell.Offset(Selection.Rows.Count, 0).Activate
End If

ud:

With ActiveCell
.Value = stel
.Offset(0, 1).Value = brand
.Offset(0, 2).Value = model
.Offset(0, 3).Value = navn

End With
  ActiveWorkbook.Save
  ActiveWindow.Close
End Sub
Avatar billede munof Nybegynder
23. marts 2007 - 10:43 #5
Fornemt og det virkede ved første forsøg.

Kom med et svar og du får dine point.

Og tak for hjælpen. :-)
Avatar billede excelent Ekspert
23. marts 2007 - 14:25 #6
OK VELBEKOM
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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