ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¨ú¥X¥]§÷"+"or"-"¸¹¤§«áªº¼Æ­È

¦^´_ 2# PJChen

¥¨¶°½Ð©ñ©ó"¥]§÷Åçºâ"ÀÉ®×
¸ê®Æ¦ì¸m¥H­ìªþ¥ó³]©w,¦p¦³¤£¦P½Ð¦Û¦æ½Õ¾ã

Sub ex()
Dim Arr As Variant, d As Object, a As Variant, b As Variant, X%, Y%
Set d = CreateObject("Scripting.Dictionary")
With Workbooks.Open(ThisWorkbook.Path & "\" & "¥]§÷³øªí.xlsx").Sheets("¥]§÷")
   Set Arr = .Range(.[b5], .[P7])   '¸ê®Æ½d³ò
End With
For X = 1 To Arr.Rows.Count
   For Y = 4 To Arr.Columns.Count
      If Arr(X, Y).HasFormula Then    '§PÂ_Àx¦s®æ¬O§_¬°¤½¦¡
         If Arr(X, Y).FormulaR1C1Local Like "*+*" Then     '§PÂ_¤½¦¡¤º¬O§_¬°"+"
            d(Arr(X, 1) & Arr(X, Y).Offset(-3 - X)) = Split(Arr(X, Y).FormulaR1C1Local, "+")(1)  '¸ê®Æ¼g¤J¦r¨å
         Else                                              '§PÂ_¤½¦¡¤º¬°"-"
            d(Arr(X, 1) & Arr(X, Y).Offset(-3 - X)) = "-" & Split(Arr(X, Y).FormulaR1C1Local, "-")(1)   '¸ê®Æ¼g¤J¦r¨å
         End If
      End If
   Next
Next
Workbooks("¥]§÷³øªí.xlsx").Close False
For Each a In Range([C16], [C18])      '¥]§÷°Ï¶¡
   For Each b In Range([F2], [F2].End(2))   '¤é´Á°Ï¶¡
      If d.exists(a & b) Then Cells(a.Row, b.Column) = d(a & b)  '±N¦r¨å¸ê®Æ¼g¤J¬Û²ÅªºÀx¦s®æ
   Next
Next
Set d = Nothing
End Sub

TOP

¦^´_ 4# PJChen

1.¦]¬°¸ê®ÆÄæ¦ì¸Ì¦³ªºÄæ¦ì¨Ã¨S¦³"+","-",«o¼g¦¨"=2200"©Ò¥H³Q»~§P¬°¤½¦¡(¦p:¦h²ùªG¯È½c(¤ù),µL¥[¿}¯È½c(¤ù))
±N§PÂ_¦¡¼W¥[ "-"ªº±ø¥ó,¥u­n¨S¦³"+" & "-"´N¤£¤À©î
    If Arr(X, Y).HasFormula Then    '§PÂ_Àx¦s®æ¬O§_¬°¤½¦¡
         If Arr(X, Y).FormulaR1C1Local Like "*+*" Then     '§PÂ_¤½¦¡¤º¬O§_¬°"+"
            d(Arr(X, 1) & Arr(X, Y).Offset(-3 - X)) = Split(Arr(X, Y).FormulaR1C1Local, "+")(1)  '¸ê®Æ¼g¤J¦r¨å
         ElseIf Arr(X, Y).FormulaR1C1Local Like "*-*" Then '§PÂ_¤½¦¡¤º¬°"-"
            d(Arr(X, 1) & Arr(X, Y).Offset(-3 - X)) = "-" & Split(Arr(X, Y).FormulaR1C1Local, "-")(1)   '¸ê®Æ¼g¤J¦r¨å
         End If
      End If
2.¥]§÷³øªí¦³"«Ê½c½¦±a(±ø)"¦ý¥]§÷Åçºâ¸Ì¨S¦³"«Ê½c½¦±a(±ø)"¦Ó¬O"«Ê½c½¦±a(¨÷)"

TOP

¦^´_ 7# PJChen

¿ù»~­ì¦]¬O¦]¬°
Set Arr = .Range(.[b5], .[AI11]) Åܦ¨ Set Arr = .Range(.[b2], .[AI11])
Offset¦ì¸m­×§ï§Y¥i
If Arr(X, Y).FormulaR1C1Local Like "*+*" Then     '§PÂ_¤½¦¡¤º¬O§_¬°"+"
            d(Arr(X, 1) & Arr(X, Y).Offset(-X)) = Split(Arr(X, Y).FormulaR1C1Local, "+")(1)   '¸ê®Æ¼g¤J¦r¨å
            
            ElseIf Arr(X, Y).FormulaR1C1Local Like "*-*" Then '§PÂ_¤½¦¡¤º¬°"-"
            d(Arr(X, 1) & Arr(X, Y).Offset(-X)) = "-" & Split(Arr(X, Y).FormulaR1C1Local, "-")(1)    '¸ê®Æ¼g¤J¦r¨å
         End If

TOP

¦^´_ 10# PJChen


  Ãø¹D§A¨S¦³µo²{ÅçºâÀɮתº¤é´Á¤w¸g¬O4¤ë¶Ü
  ¦Ó¥]§÷ªº¤é´ÁÁÙ¬O3¤ë,¤ë¥÷³£¤£¤@¼Ë¤F,¦p¦ó¬Û²Å?

TOP

        ÀR«ä¦Û¦b : ¥Í®ð¡A´N¬O®³§O¤Hªº¹L¿ù¨ÓÃg»@¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD