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

Cellen in huidige regel selecteren

Status
Niet open voor verdere reacties.

Wampie Beukies

Gebruiker
Lid geworden
7 sep 2009
Berichten
88
Hallo,

Ik wil in een macro in de huidige regel een cellenbereik selecteren. Ik heb wel gevonden hoe dit per cel toegepast kan worden:

Code:
    Range("E" & (ActiveCell.Row)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("f" & (ActiveCell.Row)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("g" & (ActiveCell.Row)).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Hoe kan ik dit vereenvoudigen tot 1 regel met het bereik E:G?
 
Om het te vereenvoudigen tot één regel

Code:
Cells(ActiveCell.Row, 5).Resize(, 3) = Cells(ActiveCell.Row, 5).Resize(, 3).Value
 
Zoekterm: gewoon bij het begin beginnen.
 
@snb
Brugklassertje pesten?
Ik ben heus geen beginner, maar na verschillende varianten te hebben uitgeprobeerd, kom ik er nog niet uit. Wellicht is de oplossing héél simpel als je hem weet. Als jij je kennis niet wilt delen, snap ik niet wat je op dit forum doet.
 
Laatst bewerkt:
@VenA en anderen,

Ik kom er nog niet uit... Ik begin met de volgende code om een lijst aan te vullen:
Code:
Sub laatste_rij_Werken_Alle()
  Dim j As Long
  With Sheets("Werken Alle")
   rij = .Range("A1").CurrentRegion.Rows.Count + 1
   Cells(rij, 1).Formula = "=IF('Werken alle'!RC[1]<>"""",IF(R1C9-'Werken alle'!RC[1]>14,0,1),1)"
   Cells(rij, 2).Formula = "=IF('Werken alle'!RC[2]>0,'Werken alle'!RC[2],RC[6])"
   Cells(rij, 3).Formula = "=Projectgegevens!R2C4"
   Cells(rij, 5).Formula = "=Projectgegevens!R2C1"
   Cells(rij, 6).Formula = "=Projectgegevens!R2C3"
   Cells(rij, 7).Formula = "=IF(Projectgegevens!R2C2=""Kooiker Milieu"",""KM"",""KH"")"
   Cells(rij, 8).Formula = "=IF(ISNA(VLOOKUP('Werken alle'!RC[-3],'[Uren Alle.xlsm]Laatste datum'!R1C1:R500C2,2,0)),"""",VLOOKUP('Werken alle'!RC[-3],'[Uren Alle.xlsm]Laatste datum'!R1C1:R500C2,2,0))"
   
 End With
End Sub

Vervolgens moeten de waarden van E t/m G geplakt worden.
Hoe komt het er dan uit te zien?
 
Ook nog eens te lui om mijn profiel te bekijken voordat je iets beweert ?
 
Maak een echte Excel Table van je tabel, dan heb je helemaal geen VBA nodig om je formules op een nieuw record te krijgen.
 
Dat had ik eerst Ginger en dat werkte inderdaad prima. Helaas, wegens gebrek aan Access, probeer ik het bestand werkend te delen en dát gaat niét met een Table.
 
@snb
Had ik dan mijn vraag moeten inluiden met de aanhef:
Weledelgestelde Giga Honourable Senior Members?

Ik wil gewoon graag concrete hulp bij een concreet probleem. Ik dacht dat dit forum daarvoor was....
 
probeer dit eens

Code:
rgl=activecell.row
range("E"& rgl &":G"& rgl)=range("E"& rgl &":G"& rgl).value
 
Volgens mij was dit de vraag
Ik wil in een macro in de huidige regel een cellenbereik selecteren

Het antwoord daarop staat staat in #4

Als dmv een macro in een nieuwe rij gegevens worden toegevoegd is de kans zeer klein dat activecell.row gelijk is aan jouw variabele 'rij' De aanpassing in de code in #4 lijkt mij dan ook niet zo moeilijk.;)

Wat overigens totaal niet nodig is.

De variabele j moet volgens mij 'rij' zijn
Als je niet voor onverwachte resultaten wilt komen te staan dan kan je beter binnen een With/End With een . gebruiken voor de gegevens die hier binnen vallen.

Code:
Sub VenA()
Dim [COLOR="#FF0000"][SIZE=4][B]rij[/B][/SIZE][/COLOR] As Long, ar
With Sheets("Projectgegevens")
    ar = Array(.[D2].Value, .[A2].Value, .[c2].Value)
End With
With Sheets("Werken Alle")
    rij = .Range("A1").CurrentRegion.Rows.Count + 1
    [COLOR="#FF0000"][SIZE=4][B].[/B][/SIZE][/COLOR]Cells(rij, 1).Formula = "=IF('Werken alle'!RC[1]<>"""",IF(R1C9-'Werken alle'!RC[1]>14,0,1),1)"
    [COLOR="#FF0000"][SIZE=4][B].[/B][/SIZE][/COLOR]Cells(rij, 2).Formula = "=IF('Werken alle'!RC[2]>0,'Werken alle'!RC[2],RC[6])"
    [COLOR="#FF0000"][SIZE=4][B].[/B][/SIZE][/COLOR]Cells(rij, 5).Resize(, 3) = ar
    [COLOR="#FF0000"][SIZE=4][B].[/B][/SIZE][/COLOR]Cells(rij, 7).Formula = "=IF(Projectgegevens!R2C2=""Kooiker Milieu"",""KM"",""KH"")"
    [COLOR="#FF0000"][SIZE=4][B].[/B][/SIZE][/COLOR]Cells(rij, 8).Formula = "=IF(ISNA(VLOOKUP('Werken alle'!RC[-3],'[Uren Alle.xlsm]Laatste datum'!R1C1:R500C2,2,0)),"""",VLOOKUP('Werken alle'!RC[-3],'[Uren Alle.xlsm]Laatste datum'!R1C1:R500C2,2,0))"
End With
End Sub
 
Laatst bewerkt:
@VenA:
Met de code uit #4 plakt hij niét de waarden in de juiste regel, ofwel, de formules blijven staan.
Met de code uit # 13 en nog wat kleine aanpassingen heb ik de oplossing gevonden.

Dank jullie wel!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan