What's new

Pa help naman code sa Excel

yung_cute_sa_Gilid

Honorary Poster
Established
Joined
Oct 24, 2017
Posts
518
Solutions
1
Reaction
138
Points
232
Office 16 at Chat GPT po yung gamit ko kaso para ayaw gumana nang maayos yung code ko sa excel

ang gusto ko mangyari na gumawa nang lista sa List sheet habang nag eencode ako sa main sheet, tapos pag may na encode na ako na duplicate sa main sheet nag aauto fill sya sa main sheet galing sa List sheet ang binabasihan...

1st code sa main sheet

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim LastRow As Long
Dim listSheet As Worksheet
Dim found As Boolean

Set listSheet = ThisWorkbook.Worksheets("List")

' Check if the changed cell is in column B
If Not Intersect(Target, Me.Range("B6:B" & Me.Rows.Count)) Is Nothing Then

If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub

' Check if value is unique
For Each cell In listSheet.Range("A2:A" & listSheet.Cells(listSheet.Rows.Count, 1).End(xlUp).Row)
If cell.Value = Target.Value Then
found = True
Exit For
End If
Next cell

If found Then
' Add VLOOKUP formulas
Me.Range("C" & Target.Row).Formula = "=VLOOKUP(B" & Target.Row & ",List!$A$2:$B$" & listSheet.Cells(listSheet.Rows.Count, 1).End(xlUp).Row & ",2,FALSE)"
Me.Range("D" & Target.Row).Formula = "=VLOOKUP(B" & Target.Row & ",List!$A$2:$C$" & listSheet.Cells(listSheet.Rows.Count, 1).End(xlUp).Row & ",3,FALSE)"
Else
' Add value to list
LastRow = listSheet.Cells(listSheet.Rows.Count, 1).End(xlUp).Row + 1
listSheet.Cells(LastRow, 1).Value = Target.Value
End If

End If

End Sub

ang 2nd code sa sheet na ang pangalan "List"

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
On Error Resume Next
Application.EnableEvents = False
Dim vLookupResultB As Variant
Dim vLookupResultC As Variant
vLookupResultB = Application.VLookup(Target.Value, Sheets("Main").Range("B:C"), 2, False)
vLookupResultC = Application.VLookup(Target.Value, Sheets("Main").Range("B:D"), 3, False)
If Not IsError(vLookupResultB) Then
Target.Offset(0, 1).Value = vLookupResultB
Else
Target.Offset(0, 1).ClearContents
End If
If Not IsError(vLookupResultC) Then
Target.Offset(0, 2).Value = vLookupResultC
Else
Target.Offset(0, 2).ClearContents
End If
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub



pag na fill up ko na sa B6 tapos C6 and D6 sa main sheet ayaw lumabas sa List na sheet, tapos na dedelete sya

*maling Code nalagay ko sa List sheet
 
Last edited:
Ang code na iyong nilagay ay nagsisilbing listener sa pagbabago sa cells sa dalawang sheet: sa "Main" at "List". Nakikinig ito sa pagbabago sa column B ng mga sheets na 'to. Kapag may nagbago sa values ng column B, ang code ay nagche-check kung may duplicate entries na o wala. Kung mayroon, nag-a-add ito ng VLOOKUP formulas sa column C at D ng main sheet. Kung wala naman, nag-a-add ito ng bagong entry sa List sheet.

Sa iyong pagkakasabi, hindi nagre-reflect sa List sheet ang mga bagong entries sa main sheet at mabilis na nawawala ito. Maaaring nangyayari ito dahil sa pagkakamali sa pag-setup ng mga sheet names at target range ng listeners.

Maaring sundin mo ang mga sumusunod na hakbang upang masiguro na tama ang pagkakasulat ng code at setup ng mga sheet names:

1. Siguraduhin mong may sheet na "Main" at "List" sa iyong workbook. Kung wala, puwede kang magdagdag ng bagong sheet sa pamamagitan ng pag-click sa "Insert" -> "Worksheet" sa Ribbon bar.

2. Sa "Main" sheet, siguraduhin mong naka-assign ang listener sa tamang range (B6:B...) para sa target column. Puwede mong i-edit ang code na ito kung ibang column ang target range na gusto mong gamitin.

3. Sa "List" sheet, siguraduhin din na naka-assign ang listener sa tamang range (B6:B...) para sa target column. Kapareho ito sa range ng listener sa Main sheet. Siguraduhin rin na walang ibang listener ang sumisilbing duplicate sa range na 'to.

4. Sa code mismo, siguraduhin na tama ang spelling at pagkakaayos ng sheet names. Kapareho dapat ito ng sheet names sa iyong workbook.

5. Siguraduhin din na tama ang column references sa code. Kapareho ito ng column references sa iyong target range.

Kung sakaling tama naman ang mga ito at hindi pa rin gumagana ang code, maaring mag-post ng detalyadong error message o maglagay ng screenshots para mas mabilis na matulungan ka.
 

Similar threads

Back
Top