Ես պատճենել եմ VBA-ը՝ բջիջից տվյալները նույն տողով տարբեր սյունակում պատճենելու համար և փոխել եմ այն, որպեսզի կարողանամ փոխել բջիջը F սյունակում և պահպանել արժեքը E սյունակում, բայց երբ փորձում եմ դա ոչինչ չի լինում: Ինչ-որ մեկը կարո՞ղ է ինձ ասել, թե ինչ եմ սխալ անում: Փոփոխություն կատարելիս ես կցանկանայի նաև G սյունակում ամսաթիվը դրոշմել:
Ես հուսով էի, որ կկարողանամ անել նույն բանը, երբ փոխում եմ I սյունակի բջիջը, որպեսզի այն պահեմ սյունակ H-ում և նշեմ, որ այն փոխվում է J սյունակում:
Ցանկացած օգնություն մեծապես երախտապարտ կլինի:
Dim xRg որպես տիրույթ
Dim xChangeRg որպես միջակայք
Dim xDependRg որպես տիրույթ
Dim xDic-ը որպես նոր բառարան
Private Sub Worksheet_Change (ByVal Target as Range)
Dim I As Long
Dim xCell-ը որպես տիրույթ
Dim xDCell As Range
Dim xHeader As String
Խոնավեցրեք xCommText-ը որպես տող
Ս.թ. սխալի Ռեզյումե Next
Դիմում. ScreenUpdating = Սուտ է
Application.EnableEvents = False
xHeader = "Նախորդ արժեքը."
x = xDic.Keys
For I = 0 To UBound (xDic.Keys)
Սահմանել xCell = Range(xDic.Keys(I))
Սահմանել xDCell = Cells (xCell.Row, 5)
xDCell.Value = ""
xDCell.Value = xDic.Items(I)
հաջորդ
Application.EnableEvents = Ճիշտ է
Դիմում. ScreenUpdating = ueիշտ է
Վերջ Sub
Մասնավոր ենթաթերթ_SelectionChange (ByVal-ի նպատակը որպես միջակայք)
Dim I, J As Long
Dim xRgArea որպես տիրույթ
Սխալի դեպքում GoTo Label1
Եթե Target.Count > 1 Ապա Ելք Ենթ
Application.EnableEvents = False
Սահմանել xDependRg = Target.Dependents
Եթե xDependRg-ը ոչինչ է, ապա GoTo Label1
Եթե ոչ xDependRg-ը ոչինչ է, ապա
Սահմանել xDependRg = Խաչմերուկ (xDependRg, միջակայք («F:F»))
Վերջ: Եթե
Պիտակը 1:
Սահմանել xRg = Խաչմերուկ (Թիրախ, միջակայք («F:F»))
If (Not xRg Is Nothing) And (Not xDependRg Is Nothing) Ապա
Սահմանել xChangeRg = Union (xRg, xDependRg)
ElseIf (xRg-ը ոչինչ է) և (not xDependRg-ը ոչինչ) ապա
Սահմանեք xChangeRg = xDependRg
ElseIf (Not xRg-ը ոչինչ) և (xDependRg-ը ոչինչ չէ) Ապա
Սահմանեք xChangeRg = xRg
Ուրիշ
Application.EnableEvents = Ճիշտ է
Ելք ենթ
Վերջ: Եթե
xDic.RemoveAll
For I = 1 To xChangeRg.Areas.Count
Սահմանել xRgArea = xChangeRg.Areas(I)
J = 1-ի համար դեպի xRgArea.Count
xDic.Add xRgArea(J).Address, xRgArea(J):Formula
հաջորդ
հաջորդ
Սահմանել xChangeRg = Ոչինչ
Սահմանել xRg = Ոչինչ
Սահմանել xDependRg = Ոչինչ
Application.EnableEvents = Ճիշտ է
Վերջ Sub