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

verschillende handelingen automatiseren middels macro, is dit mogelijk?

Status
Niet open voor verdere reacties.

kevinovics

Nieuwe gebruiker
Lid geworden
28 apr 2019
Berichten
4
goeiemorgen allemaal

ik ben nieuw wat betreft macro's in excel, maar begrijp dat er een hoop mogelijk is.

ik heb een sheet wat gegenereerd wordt vanuit een programma, waarin ik middels een macro wat aanpassingen in wil doen. De sheet is ook telkens anders qua hoeveelheid regels die erin staan, doordat dit elke dag opnieuw wordt gegenereerd. zie bijlage voor hoe het sheet eruit ziet.

nu wil ik graag het volgende:

1) ik zou willen dat er wordt gekeken naar de waardes in de D kolom. Als de waarde "Ongoing" is, wil ik de comments uit de corresponderende F kolom verwijderen. Tegelijkertijd moeten de comments in de F kolom blijven staan als de waarde in de D kolom Scheduled is(Héél belangrijk).

2) in de A kolom staan verschillende takken waarin ik graag een extra vrije regel wil invoeren tussen de verschillende takken, zodat het wat overzichtelijker is. bijvoorbeeld een extra vrije regel tussen de CDU3 en CDU4

is er iemand die veel verstand heeft van macro's en die hiervoor zo iets weet te verzinnen? ik hoor het graag


Kevin
 

Bijlagen

  • Capture.PNG
    Capture.PNG
    41,9 KB · Weergaven: 81
  • Capture.PNG
    Capture.PNG
    81,4 KB · Weergaven: 78
Hallo Kevin,

Welkom op dit forum!. Er zijn hier een heleboel mensen die verstand hebben van macro's en die je graag op weg helpen. Er zijn niet zo veel mensen die zin hebben op informatie vanuit een plaatje in een Excel bestand over te typen, met andere woorden plaats even een waarheidsgetrouw voorbeeldbestand, maar wel zonder privacy gevoelige informatie.
 
Kevin,

Welkom op het forum. Het is beter om een voorbeeldbestand (excelbestand) te plaatsen. Met de foto's kunnen we niet zoveel.

Gr.

Sjon
 
Zoiets aan de hand van je voorbeeld:
Code:
Sub Bewerk()
    i = 3
    Application.ScreenUpdating = False
    While Cells(i, 1) <> ""
        If Cells(i, 5) = "Ongoing" Then Cells(i, 7) = ""
        If Cells(i - 1, 1) <> "" And i > 3 And Cells(i, 1) <> Cells(i - 1, 1) Then Rows(i).Insert
        i = i + 1
    Wend
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
nou heb ik eigenlijk nog 1 klein dingetje wat nog niet geautomatiseerd is in dit sheetje.. elke keer als ik de excel bestand open wordt er onderaan een regel neergezet met het volgende:

OAS Report OAUR0570 printed 28/Apr/2019 13:05:28 by Kevin

deze regel zit telkens op een ander nr in de eerste cel, is hier een makkelijke manier voor om dit ook automatisch in de macro weg te laten halen?
 
Laat daar eens een voorbeeld van zien.
 
deze in de Thisworkbook module:
Code:
Code:
Private Sub Workbook_Open()
Sheets("Sheet1").Columns(1).Find("OAS", , , xlPart).ClearContents
End Sub
 
Hij bedankt je vurig :)
 
Het eerste bestand wijkt qua lay-out af van het tweede. Obv het het eerste bestand met de extra regel uit het tweede bestand kan het allemaal wel wat sneller.

Code:
Sub VenA()
  t = Cells(Rows.Count, 1).End(xlUp).Row
  If Left(Cells(t, 1), 3) = "OAS" Then
    Cells(t, 1).ClearContents
    Columns(5).SpecialCells(2).Name = "temp"
    [temp].Offset(, 2) = ([if(temp = "Ongoing","",offset(temp,,2))])
    ar = Cells(1).CurrentRegion
    For j = UBound(ar) To 4 Step -1
      If ar(j, 1) <> ar(j - 1, 1) Then c00 = c00 & "," & j & ":" & j
    Next j
    Range(Mid(c00, 2)).Insert
  End If
End Sub
 
Zonder loopje.
Code:
Sub hsv()
Set t = Cells(Rows.Count, 1).End(xlUp)
  If Left(t, 3) = "OAS" Then t.ClearContents
    Columns(1).SpecialCells(2).Offset(2).SpecialCells(2).Name = "temp"
    [temp].Offset(, 6) = [if(offset(temp,,4)="Ongoing","",offset(temp,,6))]
    s0 = Join(Filter([transpose(if(temp<>offset(temp,1,0),"A"&row(temp)+1,"~"))], "~", 0), ",")
    If Len(s0) > 0 Then Range(s0).EntireRow.Insert
End Sub
 
Hoi Kevin,

Macro werkt goed. Geef nog even aan bij deze mensen dat je vraag opgelost is.

Groeten van je collega
 
je kan de vraag als opgelost stellen in je eerste post.
 
HSV en VenA,

De codes die jullie hier geven werken helaas niet in het originele bestand.
Misschien dat ik deze week deze eens ergens uitwerk om een fictief bestand neer te zetten in de originele opmaak.
Het is een leuk projectje, met een uitkomst waar de "professionals" niet aan uitkomen, ofwel zij kunnen wel de gegevens laten zien, maar niet in de opmaak waarin wij het willen zien.

Groeten,
Formatfrits
 
Misschien zijn de "professionals" niet zo professioneel? :D
 
Hier is geen privé oorlogje, wij zijn slechts goedwillende amateurs in Excel,, de professionals zijn de mensen die gegevens vanuit het programma in een excelsheet zetten, deze is vele malen groter dan hetgeen je hier ziet. Het programma kan hier wel een sheet uit genereren die er ongeveer uitziet zoals wij dat willen zien, maar daar staat wat info in die er met een simpele handeling uitgefilterd moet worden en vervolgens geprint wordt, dit printje dient als geheugensteun en kladblaadje voor de operator van dienst. We zijn erg geholpen door de specialisten hier met de formule die hier gegeven is. Alle credits voor deze mensen en voor Kevin, hij heeft er voor gezorgd dat een probleempje waar we al een tijdje mee zaten grotendeels is opgelost.
 
Weer al eens een voorbeeld dat aantoont dat het zonder een voorbeeldbestand verspilde tijd is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan