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

cel wijzigen ander ook mee wijzigen

Status
Niet open voor verdere reacties.

sloekie

Gebruiker
Lid geworden
7 apr 2008
Berichten
221
Hallo Mensen

ik heb een probleem met het wijzigen van de inhoud van de cellen. ik heb van alles al geprobeerd.
als ik deze gewijzigd hebt dan moeten de cellen die erna komen waar ook een waarde in staat ook gewijzigd worden. zou dit kunnen met een vba.

zie bijlage

Gr. Adrie
 

Bijlagen

Welke cellen spreek je van?
 
Hallo Harry

dat zijn de cellen die in het werkblad voorraad staan de datum en tijden als je daar de tijd veranderd dan zou het mooi zijn dat de tijden die in de cellen er na komen ook verandert.

Gr Adrie
 
werkblad voorraad ?
Ik zie alleen blad1, 2 en 3.
 
Hallo Harry

sorry dit moet blad 2 zijn als ik daar een tijd verander dat de tijden cq datum dan ook me verandert.
de datum en tijden worden gekopieerd uit blad1

Gr Adrie
 
Ik had natuurlijk mijn vermoedens, maar op rij één staan datums, maar op rij twee ook.
Maar nu je schrijft dat de gegevens van het ander blad komen..........bla,bla..

Probeer deze event eens in bladmodule Blad2 Adrie.
Misschien moet je eerste even de datum zetten van je eerste kolom van elke rij in kolom "AZ".
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim i
   Application.EnableEvents = False
      For i = 40 To Target.Column + 2 Step -2
        If Cells(Target.Row, i) > 0 Then
       Cells(Target.Row, i) = Cells(Target.Row, i) + (Cells(Target.Row, Target.Column) - Cells(Target.Row, "AZ"))
      End If
    Next i
  Application.EnableEvents = True
 Cells(Target.Row, "AZ") = Cells(Target.Row, Target.Column)
End Sub
 
Hallo Harry

Sorry voor de late reactie ik had storing met internet.
die code had ik gekopieert maar hij gaf een hele andere datum en tijd.
ik zou graag alleen de datum van kolom j t/m az willen veranderen als ik in J de datum of tijd verander dan zouden de tijden in de rest van de rij rechts van J ook moeten veranderen dit moet nu allemaal in getikt worden.
ik stuur ook een andere bijlage mee.

gr. Adrie
 

Bijlagen

Probeer het zo eens Adrie.
Het zet nu de datum van werkblad 'Behandelschema' kolom H naar 'Voorraad' kolom IO.
Als je nu een datum wijzigd in de eerst gevulde cel in een rij in 'Voorraad', wijzigen de andere cellen mee.
 

Bijlagen

Hallo Harry

ik heb hem geprobeerd maar hij doet niks.
komt het omdat ms 2007 heb.

Gr Adrie
 
Werkt ook in Excel 2007.
Alleen ik weet jouw manier van handelen niet natuurlijk.

Ik doe het zo:
Cel Z1 is de eerste datum in een rij; deze verander ik incl uur.
Alle andere cellen op die rij veranderen mee.
 
Harry

Hij deed het maar ik heb een vraag die datum heb je die uit de behandelschema gekopieerd want als ik een nieuwe rij kopieer dan geeft hij een foutmelding: typen komen niet met elkaar overeen en dit bij vba in geel: Cells(Target.Row, i) = Cells(Target.Row, i) + (Cells(Target.Row, Target.Column) - Cells(Target.Row, "IO")) Wat kan dit zijn want dan kun je de datum en tijd niet veranderen

Gr Adrie
 
Voeg de twee rode regels even tussen Adrie.

Code:
Private Sub Rijkopieren_Click()

If ActiveCell.Column <> 1 Then Exit Sub                  'niet dubbelgelklikt in de 1e kolom
     ActiveSheet.Unprotect
  If MsgBox("Datum en tijd ingevoerd ?", vbYesNo) = vbNo Then Exit Sub ' the macro ends if the user selects the CANCEL-button
  [COLOR="red"]Application.EnableEvents = False[/COLOR]    
  With Sheets("voorraad")
       .Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 6).Value _
       = ActiveCell.Resize(, 6).Value 'kopieer de ganse rij naar eerstvolgende lege rij in blad4
       End With
       Dim cl As Variant
       Y = 7
       For Each cl In Sheets("behandelschema").Range(Cells(ActiveCell.Row, Y), Cells(ActiveCell.Row, 174))
       If cl <> "" Then
       With Sheets("voorraad")
       On Error Resume Next
 kol = Application.WorksheetFunction.Match(CLng(DateValue(Cells(ActiveCell.Row, Y + 1).Value)), Sheets("voorraad").Rows(3), 0)
       .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, kol + 1).Value _
    = Cells(ActiveCell.Row, Y).Value
    .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, kol).Value _
    = Cells(ActiveCell.Row, Y - 1).Value
    On Error GoTo 0
  End With
    End If
    Y = Y + 1
     Next
     Sheets("Voorraad").Cells(Rows.Count, "IO").End(xlUp).Offset(1) = Cells(ActiveCell.Row, 8)
        Sheets("voorraad").Columns.AutoFit
        MsgBox "Rij " & ActiveCell.Row & " is gekopieerd"
    Exit Sub                                                 'stop hier als rij niet verwijderd moet worden, wil je die rij wel weg, verwijder dan deze rij in de macro
  ActiveSheet.Unprotect
     ActiveCell.EntireRow.Delete Shift:=xlUp 'wis deze rij
     [COLOR="red"]Application.EnableEvents = True[/COLOR]   
    ActiveSheet.Protect
End Sub
 
Harry

ik heb die zinnen gekopieerd maar ik kan niet de datum veranderen van rijen die ik gekopieerd heb van behandelschema naar voorraad
zie bijlage:

gr. Adrie
 

Bijlagen

Start Excel eens opnieuw.
 
Heb ik gedaan en hij doet het maar als ik er weer kopieer dan moet je hem weer opnieuw starten kan dat ook anders.
want hij doet het verder goed je kunt ook alleen de tijd veranderen perfect
thumb::thumb::thumb:


Adrie
 
Vergelijk eens het laatste stukje van de code met deze.

Rijkopieren_Click()
Code:
Y = Y + 1
     Next
     Sheets("Voorraad").Cells(Rows.Count, "IO").End(xlUp).Offset(1) = Cells(ActiveCell.Row, 8)
        Sheets("voorraad").Columns.AutoFit
        MsgBox "Rij " & ActiveCell.Row & " is gekopieerd"
                                                   'stop hier als rij niet verwijderd moet worden, wil je die rij wel weg, verwijder dan deze rij in de macro

     ActiveCell.EntireRow.Delete Shift:=xlUp 'wis deze rij
     Application.EnableEvents = True
       ActiveSheet.Protect
       Exit Sub
End Sub

Je onderbreekt de code vroegtijdig met 'Exit Sub', zodat Application.EnableEvents niet meer op 'True' komt.
 
Hallo Harry

ik heb de code nagekeken,

maar ik krijg nu nog wel een foutmelding als ik een nieuwe week wil maken ik gebruik deze code hiervoor dan schuift alles een week op:
Private Sub Nieuweweek_Click()
ActiveWindow.SmallScroll ToRight:=9
Range("S4:IO105").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-90
Range("S4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("U15").Select
Application.CutCopyMode = False
Range("u3").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("T17").Select
Application.CutCopyMode = False
Range("u3:IO105").Select
Selection.Copy
Range("g3").Select
ActiveSheet.Paste
Range("I27").Select
ActiveWindow.ScrollColumn = 212
ActiveWindow.SmallScroll Down:=-15
Range("HG4:IO105").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=-105
Range("HU3").Select
Range("A1").Select
Application.CutCopyMode = False
ActiveWindow.ScrollColumn = 5
ActiveWindow.SmallScroll Down:=-30

End Sub

de fout melding is in het geel:
Cells(Target.Row, i) = Cells(Target.Row, i) + (Cells(Target.Row, Target.Column) - Cells(Target.Row, "IO"))

verder doet hij het goed.

Gr. Adrie
 
Hallo Adrie,

Code:
Application.EnableEvents = False
en onderaan de code weer op = True zetten.

Wat moet er eigenlijk in de code gebeuren (deze code lijkt nergens naar, de helft is balast).

Gebruik ook codetags als je een code plaatst.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan