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

Hulp nodig bij een macro maken

Status
Niet open voor verdere reacties.

daan1974

Gebruiker
Lid geworden
12 mei 2006
Berichten
44
Hallo,

Allereerst, ik heb weinig ervaring met uitgebreide macro's, alleen wat met hele eenvoudige ..... Graag wil ik een macro maken voor een hele tijdrovende klus, waar nog een aantal randvoorwaarden aan vast zitten.....

Omschrijving data:

-Maandelijks worden door een geautomatiseerd systeem excelbestanden gegenereerd, waarvan de naam bestaat uit een systeemvolgnummer.

-De opbouw van ieder bestand is gelijk, rij 1 cel A en rij 2 cel B bevatten geen informatie die verder nodig is.

-Cel A3 bevat altijd de ID (alfanumeriek) die aangeeft over welk onderdeel de gegevens gaan.

-Kolom B (vanaf rij 3!!!) bevat de data die nodig is, de lengte van het aantal rijen is variabel, tevens wordt door het systeem af en toe een cel leeg gelaten.


Omschrijving benodigde functie van de macro:

- De gegevens (van ieder document) in kolom B moeten geconverteerd worden van enkele vaste codes naar een getal.

- De getallen in kolom B moeten worden opgeteld

- De ID in cel A3 en de som van de getallen in kolom B van ieder document moet worden verzameld op 1 blad met een totaaloverzicht van ID's en som per ID onder elkaar.


Ik hoop dat iemand mij op weg kan helpen.....

Alvast bedankt!!
 
daan1974 zei:
- De gegevens (van ieder document) in kolom B moeten geconverteerd worden van enkele vaste codes naar een getal.

- De getallen in kolom B moeten worden opgeteld

- De ID in cel A3 en de som van de getallen in kolom B van ieder document moet worden verzameld op 1 blad met een totaaloverzicht van ID's en som per ID onder elkaar.

Kun je een voorbeeld van zo'n document op het forum plaatsen, dan zal ik een macro'tje in elkaar plakken...
 
Het importeren van een macro kan niet op deze comp, is beveiligd :(
Ik kan macro's wel draaien als ik ze zelf heb ingevoerd...

Maar zal wel even verder ingaan op de format....

Cel A1: Text die datum en onderwerp bevat
Cel A2: Kolomkop - Cel B2 : Kolomkop
Cel A3 - A?: ID (Format: XXXXX99, in alle gebruikte velden in kolom A identiek, verschilt alleen per document)
Cel B3 - B?: Standaard code (Format 99XX of 9XXX, iedere code staat voor waarde 1 of 2), soms slaat het systeem een veld over en laat deze leeg.

Na conversie van de code in de velden B3-B? naar waarde 1 of 2, lege velden blijven leeg, moeten de waardes in kolom B worden opgeteld.

De ID (cel A3) en de som van de waarden in kolom B (na conversie) dienen naar 1 centraal blad te worden gekopieerd.

Meestal zijn het 100 - 150 excel documenten in 1 map, die dus moeten worden geconverteerd, en per ID op een aparte regel met totaalwaarde kolom B (per ID) op 1 excelblad voor al deze documenten tesamen.

...

Hopelijk kun je mij hiermee verder helpen.
 
Het blijft een beetje behelpen zonder voorbeeld, want "testen" is er dan aan deze zijde niet bij.
Ik kan je wel proberen een stukje opweg te helpen.
Hieronder een stukje code waarme je diverse files in een map kunt openen, gegevens ophalen en sluiten.
Kijk eens of je hier iets mee kunt....

Code:
Sub OpenEveryDirFile()
Dim strPath As String
Dim lFile As Long
Dim wkb As Workbook
Dim Source As String


Application.ScreenUpdating = False
'zoek de juiste map op
With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Application.DefaultFilePath & "\"
    .Title = "Selecteer een folder"
    .Show
    If .SelectedItems.Count = 0 Then
        MsgBox ("Ophalen download-bestand gecanceled")
    Else
        strPath = .SelectedItems(1)
    End If
End With


With Application.FileSearch
.NewSearch
.LookIn = strPath
.SearchSubFolders = False
.MatchTextExactly = False
.FileType = msoFileTypeExcelWorkbooks
If .Execute() < 1 Then
MsgBox "There were no files found."
Exit Sub
End If

For lFile = 1 To .FoundFiles.Count
Set wkb = Workbooks.Open(Filename:=.FoundFiles(lFile), _
UpdateLinks:=False, ReadOnly:=True, _
IgnoreReadOnlyRecommended:=True)
' doe hier iets (een andere macro)
wkb.Close (False)
Next lFile
End With
Set wkb = Nothing
ActiveWorkbook.Close SaveChanges:=True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan