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

VBA Activecell aanpassen naar vaste cel

Status
Niet open voor verdere reacties.

skystormer

Gebruiker
Lid geworden
8 mrt 2011
Berichten
194
Heb uit een andere topic een code gehaald welke als ik op een cel ga staan en de macro uitvoer op de geselecteerde locatie rijen invoegt mbv een cmdbutton.

Echter ik wil ze niet van een activecell afhankelijk laten zijn maar van een vaste cel, namelijk een cel uit rij 15 ("B15")

Code:
Private Sub CommandButton1_Click()
Dim Rng As Long
    Dim lngA As Long
    Dim lngB As Long
     
    Application.ScreenUpdating = False
     
    Rng = InputBox("Aantal in te voegen rijen?")
     
    If Rng = 0 Then Exit Sub
     
    Range(ActiveCell, ActiveCell.Offset(Val(Rng) - 1, 0)).EntireRow.Insert
    lngB = ActiveCell.Offset(-1, 0).Row
    lngA = Cells(lngB, Columns.Count).End(xlToLeft).Column
    Range(Cells(lngB, 1), Cells(lngB + Val(Rng), lngA)).FillDown
End Sub
Ik heb zelf een aantal zaken proberen aan te passen, echter kom steeds op foutmeldingen (dit vanwege mijn 0.5% kennis in VBA)

Ik weet dus niet hoe je van activecell overgaat naar een vaste cel waarde.
Iemand een idee in deze?
 
Je mag niet uitgaan van ActiveCell.

Maar goed, hier is een werkbare code.
Beginrij is de rij waarin B15 zich bevindt.

Code:
   Dim Rng As Long
    Dim Beginrij As Long
    
    Application.ScreenUpdating = False
     
    Rng = InputBox("Aantal in te voegen rijen?")
     
    If Rng = 0 Then Exit Sub
    
    Beginrij = 15
    
    Rows(Beginrij & ":" & Beginrij + Rng).EntireRow.Insert

succes ermee
 
Hier ook eentje

Code:
Sub j()
a = InputBox("Hoeveel rijen invoegen?")
If a > 0 Then Cells(15, 2).Resize(a).EntireRow.Insert
End Sub
 
Laatst bewerkt:
Dank je hiermee gaat het lukken.

@LucHeyndrickx werkt helaas niet, omdat deze te veel rijen toevoegt.
@JVeer Hier lukt het zeker mee.

Dank je.
 
Maak gebruik van application.inputbox om een getal als invoer af te dwingen.

Code:
Sub VenA()
 x = Application.InputBox("aantal rijen", , , , , , , 1)
 If x > 0 Then Rows(15).Resize(x).Insert
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan