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

[µo°Ý]¦p¦ó¨Ï¥ÎVBA±N¦³­«½Æ°Ñ·Ó­È¶K¨ì¤£¦Pworksheet

¦^´_ 1# s5512765
  1. Range("B6:B20" & OutputLastRow).Formula
  2.    .Range("C6:C20" & OutputLastRow).Formula =
½Æ»s¥N½X
¤u§@ªí¤W³]ªº¤½¦¡ ·í¾°È½s¸¹ ªºBBItem3,BItem4 ¤p©ó 20-6 ,©Ò®Mªº¤½¦¡, ·íµM¦³¿ù»~­È

¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub «ö¶s9_Click()
  3.     Dim sourceSheet As Worksheet         '**  Åܼƫ¬ºA¬°¤u§@ªíª«¥ó
  4.     Dim outputSheet As Worksheet         '**  Åܼƫ¬ºA¬°¤u§@ªíª«¥ó
  5.     'What are the names of our worksheets?
  6.     Set sourceSheet = Worksheets("competencylist_2016")
  7.     Set outputSheet = Worksheets("inserttext")
  8.      outputSheet.Range("B6:I" & Rows.Count) = "" '**²M°£Â¦³ªº¸ê®Æ
  9.    
  10.     With sourceSheet
  11.              '**Count ÄÝ©Ê ¶Ç¦^¤@­Ó Long (ªø¾ã¼Æ)¡Aµ¥©ó¦b¤@­Ó¶°¦Xª«¥ó¤¤ªºª«¥ó¼Æ¥Ø¡C°ßŪ¡C
  12.              '** Columns.Count  -> ¤u§@ªíªº©Ò¦³Äæ¼Æ
  13.             
  14.              .Cells(1, Columns.Count - 3).Resize(, 4) = Array(.Range("A1"), "", .Range("C1"), .Range("D1"))
  15.               '** ¼g¤J¦r¦ê  BBItem1 ,"", BBItem3, BBItem4
  16.             
  17.              .Cells(2, Columns.Count - 3) = outputSheet.Range("H2")  '**¾°È½s¸¹
  18.             
  19.              '**¶i¶¥¿z¿ï
  20.              .Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Cells(1, Columns.Count - 3).Resize(2), .Cells(1, Columns.Count - 1).Resize(1, 2)
  21.             
  22.             '.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Cells(1, Columns.Count - 3).Resize(2), CopyToRange:=.Cells(1, Columns.Count - 1).Resize(1, 2)
  23.              '** AdvancedFilter ½d³òªº¶i¶¥¿z¿ï , xlFilterCopy  ¿z¿ï¨ì¨ä¥L¦ì¸m
  24.              '**AdvancedFilter ¤èªk   °ò©ó·Ç«h½d³ò±q¸ê®Æ²M³æ¤¤¿z¿ï©Î½Æ»s¸ê®Æ¡C¦pªGªì©l¿ï©w¬°³æ­ÓÀx¦s®æ¡A«h¨Ï¥ÎÀx¦s®æ¥Ø«eªº°Ï°ìx¬°Variant¡C
  25.              '**  expression.AdvancedFilter(Action, CriteriaRange, CopyToRange, Unique)
  26.              '**expression      ¥²¿ï¡C¸Ó¹Bºâ¦¡·|¶Ç¦^ [®M¥Î©ó] ²M³æ¤¤ªº¨ä¤¤¤@­Óª«¥ó¡C
  27.               '**  Action     ¥²¿ïªº XlFilterAction ¸ê®ÆÃþ«¬¡C
  28.             '** XlFilterAction ¥i¥H¬O³o¨Ç XlFilterAction ±`¼Æ¤§¤@¡C xlFilterCopyxlFilterInPlace
  29.             '**CriteriaRange     ¿ï¾Ü©Êªº Variant¡C·Ç«h½d³ò¡C¦pªG¬Ù²¤¦¹¤Þ¼Æ«hµL·Ç«h¡C
  30.             '**CopyToRange     ¿ï¾Ü©Êªº Variant¡C¦pªG Action ¬° xlFilterCopy¡A¦¹¤Þ¼Æ«ü©w³Q½Æ»s¦Cªº¥Ø¼Ð½d³ò¡C§_«h©¿²¤¦¹¤Þ¼Æ¡C
  31.             '**Unique     ¿ï¾Ü©Êªº Variant¡C­Y¬° True¡A«h¶È¿z¿ï°ß¤@ªº°O¿ý¡F­Y¬° False¡A«h¿z¿ï¥X©Ò¦³²Å¦X·Ç«hªº°O¿ý¡C¹w³]­È¬° False¡C
  32.             
  33.             With .Cells(1, Columns.Count - 1).Resize(1, 2).CurrentRegion
  34.                 If .Rows.Count > 1 Then
  35.                     outputSheet.Range("B6").Resize(.Rows.Count - 1, 2) = .Rows("2:" & .Rows.Count).Value
  36.                     With outputSheet.Range("H6").Resize(.Rows.Count - 1, 2)
  37.                         .Columns(1) = "=RC[-2]-RC[-3]"         '¤½¦¡ : ¥Î R1C1¬Û¹ï¦ì¸m
  38.                         .Columns(2) = "=RC[-2]-RC[-4]"
  39.                     End With
  40.                 End If
  41.                 End With
  42.             .Cells(1, Columns.Count - 3).Resize(, 4).EntireColumn = ""  '½d³ò: ²M°£¦r¦ê
  43.     End With
  44. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ¡i®É¶¡¦¨´N¤@¤Á¡j®É¶¡¥i¥H³y´N¤H®æ¡A¥i¥H¦¨´N¨Æ·~¡A¤]¥i¥HÀx¿n¥\¼w¡C
ªð¦^¦Cªí ¤W¤@¥DÃD