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

[µo°Ý] ¦p¦ó¹ï¯S©wÄæ¶i¦æ¿z¿ï©M´À¥N¸ê®Æ

¦^´_ 1# luke
  1. Option Explicit
  2. Dim D As Object, DRng As Range
  3. Sub ¿z¿ï()
  4.     ¸ê®Æ¿z¿ï
  5.     With Sheet1.Range("L1")
  6.         .CurrentRegion = ""
  7.         If D.Count = 0 Then Exit Sub
  8.         .Resize(D.Count, 3) = Application.Transpose(Application.Transpose(D.ITEMS))
  9.         .CurrentRegion.Sort .Cells(1)
  10.     End With
  11. End Sub
  12. Sub ´À¥N()
  13.     Dim Rng As Range, R As Range, E As Range, C As Range
  14.     ¸ê®Æ¿z¿ï
  15.     Application.ScreenUpdating = False
  16.     With Sheet1
  17.         .Range("C:C").Value = .Range("C:C").Value  '¥h°£"'"¦r¦ê'L1 ¦h¤@­Ó
  18.         Set Rng = .Range("L1").CurrentRegion
  19.         For Each R In Rng.Columns(2).Cells   'MÄ檺Àx¦s®æ
  20.             If DRng.Find(R.Offset(, 1), lookat:=xlWhole) Is Nothing And Application.CountIf(.[B:B], R.Offset(, 1)) > 0 Then
  21.                 'NÄæ¸ê®Æ¤¤, ¦³»PBÄæ«D¶À©³Àx¦s®æªº¸ê®Æ¬Û¦P®É´N°±¤î°õ¦æVBA->    'NÄ檺¦r¦ê¦b[¿z¿ï¸ê®ÆªºÀx¦s®æ]¤¤¤ñ¹ï¤£¨ì, ¥B[B:B]¤¤¦³¦¹¦r¦ê
  22.                 With .Range("B:B")
  23.                     .Replace R.Offset(, 1), "=XXX", xlWhole
  24.                     With .SpecialCells(xlCellTypeFormulas, xlErrors)
  25.                          .Value = R.Offset(, 1)
  26.                          .Select
  27.                     End With
  28.                 End With
  29.                 MsgBox R.Offset(, 1) & " ¦³­«½Æ­È."
  30.                 End
  31.             End If
  32.             With .Range("C:C")
  33.                 .Replace R.Value, "=XXX", xlWhole
  34.                 With .SpecialCells(xlCellTypeFormulas, xlErrors)
  35.                     .Value = R
  36.                     For Each E In .Areas
  37.                         For Each C In E.Cells
  38.                             If C.Offset(, -1) = R.Offset(, -1) Then C.Offset(, -1) = R.Offset(, 1)
  39.                         Next
  40.                     Next
  41.                 End With
  42.             End With
  43.         Next
  44.     End With
  45.     Application.ScreenUpdating = True
  46. End Sub
  47. Private Sub ¸ê®Æ¿z¿ï()
  48.     Dim R As Range
  49.     Set D = CreateObject("SCRIPTING.DICTIONARY")
  50.     With Sheet1
  51.         For Each R In .Range("B1", .Cells(.Rows.Count, "B").End(xlUp))
  52.             If R <> "" And R.Cells(1, 2) <> "" Then
  53.                 D(R & R.Cells(1, 2)) = Array(R, R.Cells(1, 2), R)    '¦s¤J¦r¨åª«¥ó: ¿z¿ïªº¸ê®Æ
  54.                 If DRng Is Nothing Then                              '¿z¿ï¸ê®ÆªºÀx¦s®æ
  55.                     Set DRng = R
  56.                 Else
  57.                     Set DRng = Union(R, DRng)
  58.                 End If
  59.             End If
  60.         Next
  61.    End With
  62. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 3# luke
¦bªþÀɤWªº¦r¦ê L1 ¹ê»Ú¤W¬O 'L1  ->¤å¦r®æ¦¡   
¥Î³o¦æ°£¥h '  ¦b2003ª©¥»¥i°£¥h,¦ý2007ª©¥»¬°¦óµLªk°£¥h©|½Ð¦³2007¸Õ¸Õ¬Ý
  1. .Range("C:C").Value = .Range("C:C").Value  '¥h°£"'"¦r¦ê'L1 ¦h¤@­Ó
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¤H¥Í³Ì¤jªº¦¨´N¬O±q¥¢±Ñ¤¤¯¸°_¨Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD