Nghastell Newydd Emlyn

VBA ddim yn gweithio

  Dydd Sul, 18 Rhagfyr 2022
  2 atebion
  Ymweliadau 4.9K
0
Pleidleisiau
Dadwneud
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
1 flwyddyn yn ôl
·
#3309
0
Pleidleisiau
Dadwneud
Y NEWYDDION DIWEDDARAF

Mae'r VBA yn gweithio! Gweler y cod isod. Fi jyst angen help i'w addasu fel pan fyddaf yn newid cell yng Ngholofn I mae'n arbed y gwerth i Golofn H.


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

Os Targed.Column = 6 Yna
Application.EnableEvents = Gau
Celloedd(Targed.Row, 7).Gwerth = Dyddiad
Application.EnableEvents = Gwir
Gorffennwch Os

Os Targed.Column = 9 Yna
Application.EnableEvents = Gau
Celloedd(Targed.Row, 10).Gwerth = Dyddiad
Application.EnableEvents = Gwir
Gorffennwch Os
Application.EnableEvents = 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
1 flwyddyn yn ôl
·
#3310
0
Pleidleisiau
Dadwneud
Er mwyn egluro, byddai hyn yn ychwanegol at yr hyn y mae eisoes yn ei wneud. Rwyf am allu olrhain newidiadau a wnaed yn y ddwy golofn F A cholofn I. Mae'n ddrwg gennyf am y dryswch.
  • Tudalen:
  • 1
Ni wnaed unrhyw atebion i'r swydd hon eto.