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

Dynamische tabel wordt niet groter

Status
Niet open voor verdere reacties.

Lummel

Gebruiker
Lid geworden
9 jul 2008
Berichten
24
Ik heb een logboek gemaakt waarbij een regel wordt verplaatst naar een ander werkblad (Afgehandelde offertes). Dit verplaatsen werkt, maar de regel wordt buiten de dynamische tabel geplaatst.

De module loopt op werkblad "Lopende offertes", zodra je op dat blad bij Status voor "Afgehandeld' kiest, wordt hij geactiveerd.
Wat zie ik over het hoofd :rolleyes:??

Zie bijgevoegd bestand (Excel 2016).
Mocht ergens een ww gevraagd worden; dit is 123
 

Bijlagen

  • OFFERTE LOGBOEK Particulier 2.0.xlsb
    132,7 KB · Weergaven: 14
Laatst bewerkt:
Een oplossing is om de tabel op tabblad afgehandelde offertes te resizen na het verplaatsen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 And Target.Row > 5 And Target.Count = 1 Then
        If Target.Value = "AFGEHANDELD" Then
            If MsgBox("                      Wil je deze offerte verplaatsen" & vbNewLine & vbNewLine & "                       naar Afgehandelde offertes?" & vbNewLine & vbNewLine & vbNewLine & "  Let op! Indien nodig: lopend offertedossier verplaatsen!", vbYesNo, "Attentie") = vbNo Then
                ActiveCell.Value = HuidigeWaarde
                Exit Sub
            End If
        If Target.Offset(, -3).Value = "JA" Then
           If Target.Offset(, -1).Value <> "" Then
                ActiveSheet.Unprotect Password:="123"
                Range("M" & Target.Row).Resize(, 2) = Array(Format(Now, "mm-dd-yy"), Environ("username"))
                Sheets("Afgehandelde offertes").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 17) = Cells(Target.Row, 1).Resize(, 17).Value
[U][B]                Sheets("Afgehandelde offertes").ListObjects("Tabel1").Resize Range("$A$5:$N" & Sheets("Afgehandelde offertes").ListObjects("Tabel1").Range.Rows.Count + 5)[/B][/U]
                Rows(Target.Row).Delete
                ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
                , AllowFormattingCells:=True, AllowFormattingRows:=True, _
                AllowInsertingRows:=True, AllowDeletingRows:=True, AllowSorting:=True, _
                AllowFiltering:=True
                ActiveSheet.EnableSelection = xlUnlockedCells
      Else
            MsgBox "Gesloten bij verzekeraar is niet gevuld!", vbCritical
                ActiveCell.Value = HuidigeWaarde
            Exit Sub
           End If
        ElseIf Target.Offset(, -3).Value = "NEE" Then
                ActiveSheet.Unprotect Password:="123"
                Cells(Target.Row, 9).ClearContents
                Range("M" & Target.Row).Resize(, 2) = Array(Format(Now, "mm-dd-yy"), Environ("username"))
                Sheets("Afgehandelde offertes").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 17) = Cells(Target.Row, 1).Resize(, 17).Value
[U][B]                Sheets("Afgehandelde offertes").ListObjects("Tabel1").Resize Range("$A$5:$N" & Sheets("Afgehandelde offertes").ListObjects("Tabel1").Range.Rows.Count + 5)[/B][/U]
                Rows(Target.Row).Delete
                ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
                , AllowFormattingCells:=True, AllowFormattingRows:=True, _
                AllowInsertingRows:=True, AllowDeletingRows:=True, AllowSorting:=True, _
                AllowFiltering:=True
                ActiveSheet.EnableSelection = xlUnlockedCells
      Else
            MsgBox "Kies JA of Nee in kolom Gesloten!", vbCritical
                ActiveCell.Value = HuidigeWaarde
         Exit Sub
        End If
      End If
    End If
End Sub
 
behandel een tabel als een tabel en voeg gewoon effectief een listrow toe, bv zo
Code:
          If Target.Offset(, -1).Value <> "" Then
                ActiveSheet.Unprotect Password:="123"
                Range("M" & Target.Row).Resize(, 2) = Array(Format(Now, "mm-dd-yy"), Environ("username"))
                [COLOR="#FF0000"]Range("tabel3").ListObject.ListRows.Add.Range.Range("A1").Resize(, 17) = Cells(Target.Row, 1).Resize(, 17).Value
             [/COLOR]   Rows(Target.Row).Delete
                ActiveSheet.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
                , AllowFormattingCells:=True, AllowFormattingRows:=True, _
 
Dank voor de reacties

@cow18: met jouw oplossing wordt de regel niet meer verplaatst.

De oplossing van BarryT werkt wel
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan