Rwyf wedi copïo'r VBA ar gyfer copïo data o gell i mewn i golofn wahanol o'r un rhes a'i newid fel y gallaf newid cell yng Ngholofn F ac arbed y gwerth i golofn E, ond pan fyddaf yn rhoi cynnig arni, nid oes dim yn digwydd. A all rhywun ddweud wrthyf beth yr wyf yn ei wneud yn anghywir? Hoffwn hefyd osod stamp dyddiad yng ngholofn G pan fyddaf yn gwneud y newid.
Roeddwn hefyd yn gobeithio gallu gwneud yr un peth pan fyddaf yn newid cell yng Ngholofn I i'w chadw i Golofn H a stamp dyddiad sy'n newid yng Ngholofn J.
Byddai unrhyw gymorth yn cael ei werthfawrogi'n fawr.
Dim xRg Fel Ystod
Dim xChangeRg Fel Ystod
Dim xDependRg Fel Ystod
Dim xDic Fel Geiriadur Newydd
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim I Cyn Hir
Dim xCell Fel Ystod
Dim xDCell Fel Ystod
Dim xHeader Fel Llinyn
Dim xCommText Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Application.ScreenUpdating = Anghywir
Application.EnableEvents = Gau
xHeader = "Gwerth blaenorol :"
x = xDic.Keys
Ar gyfer I = 0 I UBound(xDic.Keys)
Gosod xCell = Ystod(xDic.Keys(I))
Gosod xDCell = Celloedd(xCell.Row, 5)
xDCell.Value=""
xDCell.Value = xDic.Items(I)
Digwyddiadau
Application.EnableEvents = Gwir
Application.ScreenUpdating = Gwir
Is-End
Is-daflen Waith Breifat_SelectionChange(FalVal Target As Range)
Dim I, J Cyhyd
Dim xRgArea Fel Ystod
Ar Gwall GoTo Label1
Os Targed.Cyfrif > 1 Yna Gadael Is
Application.EnableEvents = Gau
Gosod xDependRg = Target.Dependents
Os nad yw xDependRg yn Ddim Yna Ewch i Label1
Os Nid yw xDependRg Yn Dim Yna
Gosod xDependRg = Croestorri (xDependRg, Ystod ("F: F"))
Gorffennwch Os
Label 1:
Gosod xRg = Croestorri(Targed, Ystod ("F:F"))
Os (Nid yw xRg Yn Ddim) Ac (Nid yw xDependRg Yn Dim) Yna
Gosod xChangeRg = Undeb(xRg, xDependRg)
ArallIf (xRg Ydy Dim) Ac (Nid yw xDependRg Yn Dim) Yna
Gosod xChangeRg = xDependRg
ArallIf (Nid yw xRg A yw'n Dim) Ac (xDependRg Ydy Dim) Yna
Gosod xChangeRg = xRg
arall
Application.EnableEvents = Gwir
Is Allanfa
Gorffennwch Os
xDic.DileuAll
I I = 1 I xChangeRg.Areas.Count
Gosod xRgArea = xChangeRg.Areas(I)
Am J=1 I xRgArea.Count
xDic.Ychwanegu xRgArea(J).Cyfeiriad, xRgArea(J).Fformiwla
Digwyddiadau
Digwyddiadau
Gosod xChangeRg = Dim byd
Gosod xRg = Dim byd
Gosod xDependRg = Dim byd
Application.EnableEvents = Gwir
Is-End
Roeddwn hefyd yn gobeithio gallu gwneud yr un peth pan fyddaf yn newid cell yng Ngholofn I i'w chadw i Golofn H a stamp dyddiad sy'n newid yng Ngholofn J.
Byddai unrhyw gymorth yn cael ei werthfawrogi'n fawr.
Dim xRg Fel Ystod
Dim xChangeRg Fel Ystod
Dim xDependRg Fel Ystod
Dim xDic Fel Geiriadur Newydd
Is-daflen Waith Breifat_Newid(Targed ByVal Fel Ystod)
Dim I Cyn Hir
Dim xCell Fel Ystod
Dim xDCell Fel Ystod
Dim xHeader Fel Llinyn
Dim xCommText Fel Llinyn
Ar Ail-ddechrau Gwall Nesaf
Application.ScreenUpdating = Anghywir
Application.EnableEvents = Gau
xHeader = "Gwerth blaenorol :"
x = xDic.Keys
Ar gyfer I = 0 I UBound(xDic.Keys)
Gosod xCell = Ystod(xDic.Keys(I))
Gosod xDCell = Celloedd(xCell.Row, 5)
xDCell.Value=""
xDCell.Value = xDic.Items(I)
Digwyddiadau
Application.EnableEvents = Gwir
Application.ScreenUpdating = Gwir
Is-End
Is-daflen Waith Breifat_SelectionChange(FalVal Target As Range)
Dim I, J Cyhyd
Dim xRgArea Fel Ystod
Ar Gwall GoTo Label1
Os Targed.Cyfrif > 1 Yna Gadael Is
Application.EnableEvents = Gau
Gosod xDependRg = Target.Dependents
Os nad yw xDependRg yn Ddim Yna Ewch i Label1
Os Nid yw xDependRg Yn Dim Yna
Gosod xDependRg = Croestorri (xDependRg, Ystod ("F: F"))
Gorffennwch Os
Label 1:
Gosod xRg = Croestorri(Targed, Ystod ("F:F"))
Os (Nid yw xRg Yn Ddim) Ac (Nid yw xDependRg Yn Dim) Yna
Gosod xChangeRg = Undeb(xRg, xDependRg)
ArallIf (xRg Ydy Dim) Ac (Nid yw xDependRg Yn Dim) Yna
Gosod xChangeRg = xDependRg
ArallIf (Nid yw xRg A yw'n Dim) Ac (xDependRg Ydy Dim) Yna
Gosod xChangeRg = xRg
arall
Application.EnableEvents = Gwir
Is Allanfa
Gorffennwch Os
xDic.DileuAll
I I = 1 I xChangeRg.Areas.Count
Gosod xRgArea = xChangeRg.Areas(I)
Am J=1 I xRgArea.Count
xDic.Ychwanegu xRgArea(J).Cyfeiriad, xRgArea(J).Fformiwla
Digwyddiadau
Digwyddiadau
Gosod xChangeRg = Dim byd
Gosod xRg = Dim byd
Gosod xDependRg = Dim byd
Application.EnableEvents = Gwir
Is-End