• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

importeer data of update data

Status
Niet open voor verdere reacties.

marijn12

Gebruiker
Lid geworden
8 okt 2012
Berichten
13
Beste,


ik heb een VB code om uit een bepaald excell bestand via een knop een rij te exporteren naar een ander bestand.
graag had ik er ook nog iets bijgehad die in het ander bestand in eerste instantie gaat opzoeken of deze rij al reeds geimporteerd is, zo ja wil ik deze updaten met de nieuwe info, zo niet wil ik dat er onderaan een nieuwe rij aangemaakt word.
hieronder de code voor het exporteren naar een ander bestand die ik nu gebruik. Het zoeken naar een bepaalde rij in het doelbestand zou ik aan de hand van een nummer willen doen (klantnummer) die in het oorsprongbestand wordt opgegeven.

Sub overzetten()
Workbooks.Open Filename:="z:\PLANNING\VDK OFFERTES2.xlsx"
With Workbooks("VDK OFFERTES2.xlsx").Sheets("OFFERTES")
Lrow = .Cells(Rows.Count, "A").End(xlUp).row + 1
.Range("a" & Lrow).Resize(1, 15).Value = Blad1.Range("A58:U58").Value
End With
Workbooks("VDK OFFERTES2.xlsx").Close savechanges:=True
End Sub


dank ,
 
Die code kwam verdacht bekent voor ;-)

Code:
Sub overzetten()
Workbooks.Open Filename:="z:\PLANNING\VDK OFFERTES2.xlsx"
With Workbooks("VDK OFFERTES2.xlsx").Sheets("OFFERTES")


 Lrow = .Cells(Rows.Count, "A").End(xlUp).Row + 1
  Set c = .Range("A1:A" & Lrow).Find(ThisWorkbook.Sheets("Blad1").Range("A58").Value)
  If Not c Is Nothing Then
  i = c.Row
  .Range("a" & c.Row).Resize(1, 15).Value = Sheets("Blad1").Range("A58:U58").Value
  Else
 .Range("a" & Lrow).Resize(1, 15).Value = Sheets("Blad1").Range("A58:U58").Value
 End If
 End With
 Workbooks("VDK OFFERTES2.xlsx").Close savechanges:=True
 End Sub

Niels
 
Beste,

Zou goed kunnen dat je het herkent :)

correct me if i'm wrong :)

Lrow = (hier ga je gewoon op zoek naar de laatste rij? )
Set C = (hier specifeer wat de waarde is die later in het doelbestand moet worden gezocht? ) maw het klantnummer
i = C.row (dit weet ik niet)
.Range("a" 'waarom a? voor de ganse kolom?' & c.row).Resize(1, 15).Value = Sheets("Blad1").Range("A58:U58").Value

(ik zou het heel graag zelf aanpassen, heb ook al een aantal dingen geprobeerd. maar er komt telkens geen lijn meer bij?, of de reeds bestaande lijn wordt verwijdert maar neit aangepast.)

dank
 
Lrow = (hier ga je gewoon op zoek naar de laatste rij? )
Ja

Set C = (hier specifeer wat de waarde is die later in het doelbestand moet worden gezocht? ) maw het klantnummer
Nee, hier zoek ik het celaddres van de cel waarin het gevraagde klantnummer staat.
i = C.row (dit weet ik niet)
Het rijnummer van de cel waarin het gevraagde klantnummer staat.

.Range("a" 'waarom a? voor de ganse kolom?' & c.row).Resize(1, 15).Value = Sheets("Blad1").Range("A58:U58").Value
kolom a omdat dit de eerste kolom in het bereik is en dan met resize makkelijk alle kolommen in zijn te vullen
en nee niet heel de kolom A maar A en het gevonden rijnummer (bijvoorbeeld 11) wordt dan A11

E.e.a. wordt mischien duidelijker als je de bijlage bekijkt.

Bekijk bijlage voorbeeld 1.xlsm


Niels
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan