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

Autofill in functie van wat in kolom A staat

Status
Niet open voor verdere reacties.

Hoi Trucker

bedankt voor de link en deze werkt ook, alleen heb nu een ander probleem.
Als ik excel start, dan start deze zonder een nieuw werkboek te openen. Als ik zelf een nieuwe aanmaak en mijn macro test, dan werkt deze wel zoals het hoort.
Wat kan hier nu het probleem zijn?

Mvg
 
Dat kan aangegeven worden in de opstartmap van excel , die ik nu niet direct van buiten weet staan C:\.....office 11 ( 12 )
 
Ja inderdaad. Ik heb een bestand moeten aanmaken "personal.xls" die uiteindelijk verborgen is via "Venster -> verbergen" en dit bestand moest ik opslaan in de map C:\Program Files\Microsoft Office\OFFICE11\XLSTART

Het probleem is nu als ik excel opstart, dan zie ik geen nieuw werkboek staan.
Mijn bestand "personal.xls" staat er wel nog altijd in verborgen.
Ik heb al geprobeerd om mijn personal.xls aan te passen met een nieuw werkblad erin en dan mijn bestand op te slaan. Maar telkens ik nu Excel open, dan opent hij personal.xls en overschijft hij deze. Het is de bedoeling dat er gewoon "map 1" komt te staan, zoals een gewone startup van excel.

Grtz
 
Ja inderdaad. Ik heb een bestand moeten aanmaken "personal.xls" die uiteindelijk verborgen is via "Venster -> verbergen" en dit bestand moest ik opslaan in de map C:\Program Files\Microsoft Office\OFFICE11\XLSTART

Het probleem is nu als ik excel opstart, dan zie ik geen nieuw werkboek staan.
Mijn bestand "personal.xls" staat er wel nog altijd in verborgen.
Ik heb al geprobeerd om mijn personal.xls aan te passen met een nieuw werkblad erin en dan mijn bestand op te slaan. Maar telkens ik nu Excel open, dan opent hij personal.xls en overschijft hij deze. Het is de bedoeling dat er gewoon "map 1" komt te staan, zoals een gewone startup van excel.

Grtz

Beste,

Het is uiteindelijke gelukt!
In de VBA Editor staat er VBAProject (Persnlk.xls) en daar heb ik een module aan toegevoegd en mijn macro in geplakt. Als ik nu excel opstart heb ik een gewoon nieuw werkboek en mijn macro kan ik gebruiken! Bedankt alvast om hierover mee te denken!!

Nu nog 1 kort vraagje :cool:

Het is de bedoeling dat er gezocht wordt in 1 bepaalde kolome vb kolom "P : P" vanaf rij 10.
Vanaf dat hij een lege cel tegenkomt, moet hij deze rij verwijderen (echt deleten).

ik had gedacht aan de volgende code, maar hier wist hij enkel de cel ofzo.

Range("P : P").End(xlDown).Delete Shift:=xlUp

Mvg
Snitsel
 
Laatst bewerkt:
Code:
[P10:P100].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
 
Laatst bewerkt:
Deze zal idd waarschijnlijk wel werken!

Het is de bedoeling dat ik werk met msgboxen en IF.

Als er niets binnen het bereik staat, dan moet hij een msgbox weergeven en de macro aflsuiten.
Als er wel iets binnen het bereik staat dan krijg ik ook een msgbox met de keuze ja of nee.
Als ik Ja klik dan moeten de rijen verwijderd worden, als ik Nee klik dan moet hij ook uit de macro gaan.

Code:
    If Range("X5:X300") = "" Then
        MsgBox "Er zijn geen meerprijzen! Einde van de macro", vbExclamation, "Geen meerprijs!"
        Exit Sub
    [COLOR="Red"]If Range("X5:X300") = "" Then[/COLOR]
        Select Case MsgBox("Er zijn meerprijzen! Moet de beglazing zonder meerprijs verwijderd worden?", vbYesNo, "Meerprijs!")
            Case vbYes
                [P10:P300].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Case vbNo
                Exit Sub
            End If

Ik vraag me nu af hoe ik het moet schrijven in mijn macro als er wel iets binnen mijn bereik staat (de code in het rood moet dus nog worden aangepast).

Mvg
 
Probeer volgende eens
Code:
Sub tst()
    If WorksheetFunction.CountA([X5:X300]) > 0 Then
        Select Case MsgBox("Er zijn meerprijzen! Moet de beglazing zonder meerprijs verwijderd worden?", vbYesNo, "Meerprijs!")
            Case vbYes
                [P10:P300].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Case vbNo
                Exit Sub
        End Select
    Else
        MsgBox "Er zijn geen meerprijzen! Einde van de macro", vbExclamation, "Geen meerprijs!"
    End If
End Sub
 
of
Code:
Sub tst()
  on error resume next
  [X5:X300].specialcells(2).select
  If err.number=0 then 
    If MsgBox("Moet de beglazing zonder meerprijs verwijderd worden?", vbYesNo, "Meerprijs")=vbYes then [P10:P300].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  Else
    MsgBox "Er zijn geen meerprijzen; einde van de macro", vbExclamation, "Geen meerprijs"
  End If
End Sub
 
Laatst bewerkt:
Beste

Ik heb de 2 codes getest in mijn macro en ze werken alle 2!
Alleen heb ik bij alle 2 dezelfde fout, en het komt door deze code:

[P10 : P300].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Hij kijkt idd in de kolom P en vanaf er geen ingevulde waarden meer zijn verwijderd hij de rijen. Het is de bedoeling dat hij ook de tussenliggende rijen verwijderd.
Vb. er staan waarden in cel P5, P7 en P8.
Dan is het de bedoeling dat rij 6 verwijderd wordt en alles achter rij 8 want daar staat niets meer ingevuld in kolom P.

Mvg
 
in post # geef je aan dat er vanaf rij 10 gekeken moet worden.....

dus wordt er niets verwijderd boven rij 10
 
Dit zou inderdaad wel eventueel eens het probleem kunnen zijn!
Ik had het getest in een nieuwe werkmap, maar er waren geen waarden onder rij 10...:rolleyes:
Ik zal het morgen opnieuw proberen en laat jullie wel iets weten!
Bedankt voor je attentheid Haije!!

Grtz
 
Beste

Ik heb het nogmaals getest en toch klopt er iets niet.
Als ik mijn macro uitvoer (zonder dat ik de rijen probeer te verwijderen) dan krijg het bestand zoals in de bijlage.
Het rare er aan is, als ik de code aanpas om de rijen te verwijderen op een andere kolom, dan werkt het wel! Maar op het bereik X5:X300 werkt het niet.
Wat is hier dan het probleem?

Mvg
 

Bijlagen

  • Verwijderen van rijen.xls
    99,5 KB · Weergaven: 21
Waar is je gebruikte code?
Zolang de informatie die jij ons verstrekte in post#28 (jouw macro die moest aangepast worden) correct is werkt dit voor mij perfect. Van zodra er een waarde in kolom X staat gaat hij de lege rijen in kolom P verwijderen na bevestigen in de MsgBox. Waar ligt dus het probleem?
 
Test het even uit op mijn bestandje in bijlage voor kolom X met deze code

Code:
 If WorksheetFunction.CountA([X5:X300]) > 0 Then
        Select Case MsgBox("Er zijn meerprijzen! Moet de beglazing zonder meerprijs verwijderd worden?", vbYesNo, "Meerprijs!")
            Case vbYes
                [X5:X300].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Case vbNo
                Exit Sub
        End Select
    Else
        MsgBox "Er zijn geen meerprijzen! Einde van de macro", vbExclamation, "Geen meerprijs!"
    End If

Als ik deze code toepas op het bereik X5 : X300 dan werkt het echt niet!
Als ik deze code aanpas naar vb kolom V, dan werkt het wel...
 

Bijlagen

  • Verwijderen van rijen.xls
    62,5 KB · Weergaven: 19
Snitsel , ik heb gestest en kom tot volgende resultaat bekijk blad 2 in je bestandje , wat gaat er mis , moet er meer ,minder verwijderd worden , ik zie het niet direct zitten , mea maxima culpa
 

Bijlagen

  • Verwijderenvanrijen(1).zip
    89,1 KB · Weergaven: 19
Blijkbaar was je cel X5 niet leeg (heb'm eens gedelet)want nu doet hij het wel
 

Bijlagen

  • Verwijderen van rijen.xls
    66,5 KB · Weergaven: 29
Dat is dus een probleempje!

Het dan door deze formule:

Code:
    [AK13].Formula = "=IF(AND(RC[-1]<=3060,RC[-2]<=1950),[COLOR="Red"]""""[/COLOR],IF(AND(RC[-1]<=3060,AND(RC[-2]>1950,RC[-2]<=2500)),15,IF(AND(AND(RC[-1]>3060,RC[-1]<=4400),RC[-2]<=2500),30,IF(OR(RC[-2]>2500,RC[-1]>4400),""Jumbo"",ONWAAR))))"

Er is idd niets te zien in de cel, maar er is toch iets aan wezig door de """" in de formule.
Het probleem is dat ik mij op geen 1 andere kolom mag baseren om rijen te verwijderen, het moet op kolom X gebeuren waar deze waarden ("""" , 15, 30, Jumbo) worden ingevuld.

Ik dacht om misschien dit nog toe te voegen:

Code:
        If Range(["X5:X5"]) = "" Then
            Range(["X5:X5"]).ClearContents
            End If

Maar dit zou ik moeten kunnen toevoegen op alle cellen tot X300.

Grtz
 
Laatst bewerkt:
Aha! Probleem opgelost!

Ipv """" te laten invullen heb ik dit aangepast naar vb "999"
en dan heb ik de volgende code toegepast die perfect werkt:

Code:
    Range("X5:X300").Select
    Selection.Replace What:="999", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        
 If WorksheetFunction.CountA([X5:X300]) > 0 Then
        Select Case MsgBox("Er zijn meerprijzen! Moet de beglazing zonder meerprijs verwijderd worden?", vbYesNo, "Meerprijs!")
            Case vbYes
                [X5:X300].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Case vbNo
                Exit Sub
        End Select
    Else
        MsgBox "Er zijn geen meerprijzen! Einde van de macro", vbExclamation, "Geen meerprijs!"
    End If

Bedankt iedereen om mij hier te helpen en tot een oplossing te komen!!!

Grtz Snitsel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan