• 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.

Wijzigingen (semi) automatisch verwerken

Status
Niet open voor verdere reacties.

DieterV84

Gebruiker
Lid geworden
21 aug 2023
Berichten
9
Beste,

Op mijn werk maakt men gebruik van een excelbestand van +30.000 lijnen. (ik weet het niet meer van deze tijd maar kan er niets aan veranderen)
In mijn persoonlijke versie dien ik enkele aanpassingen uit te voeren waarna ik dit excelbestand kan gebruiken om te importeren in een extern softwarepakket.

Nu komt er bijna wekelijks een nieuwe versie van het excelbestand van +30.000 lijnen.

Het is onbegonnen werk om telkens opnieuw mijn aanpassingen aan dit bestand opnieuw in te voeren.
Ik kan een eigen excelbestand maken met de aanpassingen die voor mij van toepassing zijn, maar dan heb ik dus 1 groot bestand en 1 klein bestand met de aanpassingen.
Ik zoek dus een manier om de wijzigingen/vervangingen toe te voegen aan in mijn persoonlijk aangepast "groot" bestand.
layout van beide bestanden is identiek.

Ik maakte als voorbeeld om te verduidelijken wat ik wil zeggen een klein excelbestand in bijlage.
Is er iemand die me kan helpen of toch op weg kan zetten richting een werkbare oplossing?

Mvg

Dieter
 

Bijlagen

Zet de nieuwe gegevens onder je bestaande 'grote bestand'.
Zet bij de nieuwe gegevens in kolom E de huidige datum "=Today()"
Zet in kolom F de formule "=countif("A$2:A$40000;A2) & E2
Filter de rijen met als resultaat "2" in kolom F en verwijder deze rijen.
Verwijder de formules in kolom E.
Klaar is Kees.
 
iedereen al bedankt voor de snelle reacties. :cool: ik bekijk welke oplossing ik zelf toegepast krijg.
 
Zet de nieuwe gegevens onder je bestaande 'grote bestand'.
Zet bij de nieuwe gegevens in kolom E de huidige datum "=Today()"
Zet in kolom F de formule "=countif("A$2:A$40000;A2) & E2
Filter de rijen met als resultaat "2" in kolom F en verwijder deze rijen.
Verwijder de formules in kolom E.
Klaar is Kees.

zou het kunnen dat er ergens een foutje ergens in je formule staat? Krijg foutmelding en geen resultaat.
Formule leek me voor mij (met mn beperkte kennis van excel) idd de eenvoudigste manier van werken.
 
Heb het gevonden:

in mijn nederlandstalige excel slaat hij blijkbaar tilt op countif (terwijl hij dit wel als formule herkent). Aantal als lukt wel.

Formule die ik werkend gekregen heb:
=AANTAL.ALS($A$2:$A$40000; A2) & E2
 
Als je een Nederlandstalige Excel gebruikt:
countif -> aantal.als
today -> vandaag
 
Een snellere manier (uiteraard bij veel meer wijzigingen merkbaar met een max van dik 65K lijnen) door eenmalig wegschrijven in de macro.
Code:
Sub hsv()
Dim sv, sv2, r, i As Long
With Sheets("bestaand groot bestand")
   sv = Application.Transpose(.Cells(1).CurrentRegion)
   sv2 = Sheets("nieuwe aanlevering").Cells(1).CurrentRegion
      For i = 2 To UBound(sv2)
       r = Application.Match(sv2(i, 1), Sheets("bestaand groot bestand").Columns(1), 0)
          If IsNumeric(r) Then
            sv(2, r) = sv2(i, 2)
            sv(3, r) = sv2(i, 3)
            sv(4, r) = sv2(i, 4)
         Else
            ReDim Preserve sv(1 To 4, 1 To UBound(sv, 2) + 1)
              sv(1, UBound(sv, 2)) = sv2(i, 1)
              sv(2, UBound(sv, 2)) = sv2(i, 2)
              sv(3, UBound(sv, 2)) = sv2(i, 3)
              sv(4, UBound(sv, 2)) = sv2(i, 4)
          End If
      Next i
     .Cells(1).Resize(UBound(sv, 2), 4) = Application.Transpose(sv)
 End With
End Sub
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan