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

Excel, VBA, rij invoegen code bijna perfect, 1 vraag

Status
Niet open voor verdere reacties.

prinsr

Gebruiker
Lid geworden
30 mei 2015
Berichten
28
Beste mensen,

Na wat knutselen in excel ben ik redelijk ver gekomen met een VBA code waarmee een rij ingevoegd kan worden. Datgene wordt gekopieerd waar de cursor staat (inclusief opmaak). Helaas wordt niet de gehele opmaak van de rij meegenomen. Dit is niet heel storend. Indien daar een simpele tip voor is dan is dat sowieso welkom.

Mijn probleem is: op een of andere manier wordt mijn eerste rij ook gewijzigd. Ik snap niet waar het in formule verkeerd gaat. Als ik bijvoorbeeld in rij 23 bezig ben en d.m.v. de macro een nieuwe rij wil invoegen dan kopieert die de opmaak van de cel waar ik op sta (bijvoorbeeld rij 22) en voegt die de rij in, echter wordt rij 1 ook altijd veranderd. Ik zou willen dat de eerste rij gewoon buiten schot blijft.

Code:
Code:
Sub NieuweRijInvoegen()
If ActiveSheet.ProtectContents Then
MsgBox "Het werkblad is beschermd!"
Else
With ActiveCell
.EntireRow.Select
.EntireRow.Insert
.Rows(i).Copy Destination:=Rows(i + 1)
.EntireRow.Copy
End With
With Selection
.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats
.Cells(1, 3).Select
End With
Application.CutCopyMode = False
End If
End Sub


Mijn dank is groot :)

In mijn derde reactie heb ik het juiste hulpbestand geplaatst.
 

Bijlagen

Laatst bewerkt:
Graag de gehele code of jouw bestandje. i lijkt mij een variabele maar is in deze halve vraag niet terug te vinden waar deze vandaan komt. i zal standaard 0 zijn dus plus 1 kom je altijd op rij 1 uit. Denk ik.
 
Hoi Vena,

Dit is de volledige code...
Ik heb inmiddels wel een hulp bestandje ingevoegd.

Bedankt voor je bericht
 
Volgens mij staat er geen code in jouw bestand. En wat er verder moet gebeuren kan ik er ook niet uit opmaken.
 
Hoi,
Ik heb wel wat kennis van VBA (er zijn hier nog wel slimmere aanwezig), maar goed werkende vbtjes hou ik bij.
Blij dat je verder kan:)
Groet
 
Hoi,
Mischien kan je hier ook iets mee?
Als je een rij wil wissen
Angepast aan uw vbtje, in kolom Q staat een "b" (van bewaren zeg maar)
Als je een kolom wil wissen "b" in rij Q verwijderen en knop "rij verwijderen" drukken
Groet
 

Bijlagen

Hoi gast0660,

Ik krijg een foutmelding in mijn excel (op een of andere reden ondersteund mijn versie het niet.)
Ik ben wel geïnteresseerd in die code, die kan nog wel eens van pas komen. Kan je de code hier op dit forum plakken, eventueel zonder die 'b' eis? Dus hetzelfde als voor kopiëren alleen dan verwijderen. Bedankt voor je hulp en meedenken.

Groeten
 
Hoi,
Met deze:
Code:
Private Sub CommandButton2_Click()
Dim answer As Integer
Dim RowNum As Long
    RowNum = InputBox("Nummer van de te wissen rij invullen.")
    
answer = MsgBox("Wissen! Ben je zeker?", vbYesNo + vbExclamation, "Rijen  wissen?")
If answer = vbYes Then
Range(Cells(RowNum, 1), Cells(RowNum, 16384)).Delete 
End If
End Sub
Groet
 
Voor het invoegen kan je ook de dubbelklik gebruiken.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
    If .Column = 1 And .Row > 4 Then
        .EntireRow.Copy
        .EntireRow.Insert Shift:=xlDown
    End If
End With
Application.CutCopyMode = False
Cancel = True
End Sub
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan