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

Paar vragen mbt verplaatsen cellen/rijen naar ander tabblad

Status
Niet open voor verdere reacties.

JoostHuizing

Gebruiker
Lid geworden
11 aug 2011
Berichten
25
Goedenavond,

Ik zie door de VBA-bomen het bos even niet meer, dus ik kom bij jullie met een paar vragen t.a.v. het verplaatsen van cellen / rijen. Er is al veel over geschreven op dit forum, maar heb moeite om de zaken goed aan elkaar te knopen. Ik hoop dat jullie mij op weg willen helpen.

Ik zit met het volgende:
1. Ik wil in het tabblad Actueel (zie bijgaand bestand) een aantal cellen verplaatsen naar een ander tabblad wanneer kolom I (Urenraming Totaal) wordt ingevuld.
- Van de betreffende rij moet in alle gevallen de waarde in kolom A, B, D en F gekopieerd worden naar tabblad Urenregistratie, respectievelijk de kolommen A, B, C en E. Wat hierbij van belang is, is dat er gekeken moet worden of het onderwerp (kolom D) i.c.m. de medewerker (kolom F) al voor komt in het betreffende tabblad;
- Indien de fase (kolom E) = "Beroep", moeten de kolommen A, B, D en F gekopieerd worden naar tabblad Beroep, respectievelijk de kolommen A, B, C en D. Wat hierbij van belang is, is dat er gekeken moet worden of het onderwerp (kolom D) al voor komt in het betreffende tabblad.;
- Afhankelijk van het type plan (kolom B) moet het tabblad gekozen worden waar bepaalde waarden heen gekopieerd worden. Bijvoorbeeld Type plan = "Bestemmingsplan", dan moeten de kolommen A, B, C, D en G gekopieerd worden naar tabblad BPs, respectievelijk de kolommen A, B, C, D en AA. Is het type plan "Wabo", dan moeten de kolommen A, B, D, F naar tabblad Wabo, respectievelijk A, B, C en D. Wat hierbij van belang is, is dat er gekeken moet worden of het onderwerp (kolom D) al voor komt in het betreffende tabblad.
Vraag: Kunnen jullie een opzet geven hoe dit in VBA te beschrijven is? Ik kan op basis daarvan zelf wel de andere acties beschrijven

2. In het tabblad BPs wil ik als de 1e medewerker (kolom Q) wordt ingevuld en de Financiering (kolom AA) = "Eigen plan", de kolommen A, B, D, G, Q, AA kopiëren naar tabblad Financiën gemeentelijke plannen, respectievelijk de kolommen A, B, C, D, E, F. Deze actie moet herhaald worden wanneer de fase (kolom G) wijzigt. Er moet hierbij telkens gekeken worden of het onderwerp (kolom D) i.c.m. de fase (kolom G) al voor komt in het tabblad Financiën gemeentelijke plannen. Als dat het geval is, hoeft er nik te gebeuren.
Vraag: Kunnen jullie een opzet geven hoe dit in VBA te beschrijven is?

3. Ook in het tabblad BPs. Als ik dubbelklik op Vervallen (kolom CJ) (waarde wordt dan "R"), dan wil ik die rij knippen en plakken op de eerstvolgende lege regel onder rij 4 in tabblad Archief BPs.
Vraag: hoe moet ik het in VBA ook alweer beschrijven om de eerste lege regel te kiezen?

4. In het tabblad Beroep. Als ik dubbelklik op Afgehandeld (kolom S) (waarde wordt dan "R"), dan wil ik als Type plan = "Bestemmingsplan" de waarden voor die rij uit de kolommen J t/m Q kopiëren naar tabblad BPs, respectievelijk de kolommen CG t/m CN. Daarbij moet gekeken worden naar het onderwerp (kolom C in tabblad Beroep en kolom D in tabblad BPs) om de betreffende rij te selecteren.
Vraag: hoe moet ik het in VBA beschrijven dat hij bepaalde waarden met elkaar gaat vergelijken om de rij te kiezen?

Ik hoop dat de vragen helder zijn, anders verneem ik dat graag. Ik hoop dat jullie me willen helpen hiermee!

Bekijk bijlage Matrix.xls

Joost
 
Goedemiddag,

Ik ben zelf nog naar een aantal andere forum-vragen aan het kijken geweest voor antwoord op vraag 3 en dacht er met de volgende code te kunnen komen, maar nu geeft ie aan dat object ontbreekt. Debugger staat op de rij [´Archief BPs´!A65536].End(xlUp).Offset(1).PasteSpecial xlPasteValues. Kan iemand mij op weg helpen wat aangepast moet worden?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
With Target
If .Column = 98 Then
.Value = IIf(.Value = "£", "R", "£")
.Value = "R"
ActiveCell.Resize(, [CT1].End(xlToLeft).Column).Copy
[´Archief BPs´!A65536].End(xlUp).Offset(1).PasteSpecial xlPasteValues
End If
End With
Application.ScreenUpdating = True
End Sub
 
Goedemiddag,

Ondertussen ben ik uit vraag 3 gekomen en hetzelfde principe ben ik ook voor mijn andere vragen aan het bekijken. Het lukt me om een een gedeelte van een regel te verplaatsen naar een ander tabblad, maar wat ik nog wil is dat excel kijkt of een betreffend plan van tabblad BPs al voorkomt op tabblad Te actualiseren plannen. Ik heb verschillende voorbeelden proberen te gebruiken, maar krijg het vergelijken niet aan de praat. Kan iemand mij hierbij helpen? Welke code moet ik waar in de module voegen? Ik heb het bestand bijgevoegd en hieronder de vba-code die ik nu heb. Er zit wellicht een wat vreemde stap in dat ik bepaalde cellen selecteer en die met PasteSpecial op dezelfde plek neerzet voordat ik het kopieer naar een ander tabblad, maar ik kreeg het anders niet goed voor elkaar om alleen de waarden te kopieren :thumb:

Code:
Private Sub Worksheet_beforedoubleclick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
    With Target
        If .Column = 98 Then
            If MsgBox("Wil je dit plan archiveren?", vbOKCancel + vbExclamation, "Plan archiveren") = vbCancel Then Exit Sub
            .Value = IIf(.Value = "£", "R", "£")
            With Worksheets("Archief BPs").ListObjects(1).ListRows.Add
                If ActiveCell.Value = "R" Then
                    ActiveCell.Offset(0, -97).Range("A1:CT1").Copy
                    ActiveCell.Offset(0, -97).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                    :=False, Transpose:=False
                    Selection.Range("A1:CT1").Copy Destination:=.Range(1)
                    Selection.Delete Shift:=xlUp
                    Cells(6, 1).Select
                    Application.CutCopyMode = False
                    Application.ScreenUpdating = True
                    MsgBox "Plan is gearchiveerd", vbOKOnly + vbExclamation, "Plan archiveren"
                End If
            End With
        End If
    End With
End Sub
Bekijk bijlage Matrix.xls
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan