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

VBA ·í2­Ó±ø¥ó¤@¼Ë®É¡A¦Û°Ê´M§ä¿é¤J 3 µ{¦¡­×§ï

¦^´_ 1# man65boy
¨C·í¶}±ÒÀÉ®×·|³z¹LThisWorkbookªºOpen¨Æ¥ó°O¿ý¨â­Ó¦r¨åª«¥ó¸ê®Æ¡A¦¹®É°õ¦æ¿é¤J«ö¶s·|¥¿±`¼g¤J¥D­¶¤u§@ªí¤¤¡C
¦ý¬O·í§A¥H¤â°Ê¥h§R°£¥D­¶¤¤ªº¸ê®Æ¡AlRows&¤Î¨â­Ó¦r¨åÀÉ vDIO & vDPeo ¦¹®É¨Ã¨S¦³¦P¨B§ó·s¦¨§A§R°£«áªº¸ê®Æ¡A
¥ç§Y¥¦·|«O¦s§AÁÙ¥¼§R°£«eªº¸ê®Æ¡A³o·|ÅýlRows¡BvDIO¡BvDPeoªº¸ê®Æ¤º®e¥¢¯u¡C
¦p¦A¦¸°õ¦æ¿é¤J«ö¶s®É·|¥H¦r¨åÀɤ¤ªºÂ¸ê®Æ¨Ó¤ñ¹ï¡A¦p¦¹´N·|²£¥ÍµLªk¹w´Áªºµ²ªG¡C

§Ú¨Ã¨S¦³¥h¹ê»Ú¤F¸Ñ§Aµ{¦¡¹B§@¤è¦¡¡A¤£¹L¤j¤è¦V¨ÓÁ¿À³¥i³z¹L¤U¦C¤è¦¡¤©¥H§ïµ½¡G
1.±NThisWorkbookªºOpen¨Æ¥ó¤º©Ò¦³µ{¦¡½X¡A²¾©¹UserForm1ªºInitialize¨Æ¥óµ{§Ç¤¤¡A¦P®É±NThisWorkbook¼Ò²Õ¤ºªºOpen¨Æ¥ó¥þ³¡²MªÅ¡C
2.±NModule1¼Ò²Õ¤ºªº©Ò¦³¥þ°ì«¬¤½¥ÎÅܼƲ¾©¹UserForm1¼Ò²Õ¤ºªº¤WºÝ¡A¨Ã±N¤§«e«Å§iªºPublic§ï¬°Dim lRows&¡BDim vDIO¡BDim vDPeo¡A
¦]¬°¦¹3­ÓÅܼƪº¥Í©R¶g´Á¥u¶·¦s¦b¦¹UserForm1¼Ò²Õ¤¤§Y¥i¡A§¹¦¨«á¦A±NModule1¼Ò²Õ¤º©Ò«Å§iªº¤½¥ÎÅܼƥþ¼Æ²M°£¡C

¥H¤W²L¨£¨Ñ°Ñ

TOP

¦^´_ 3# man65boy
½Ð°Ñ¦Ò
20181128-1.rar (23.23 KB)

TOP

¦^´_ 7# man65boy
½Ð±N©³¤UUserForm1¼Ò²Õ¤ºªº©Ò¦³µ{¦¡½X½Æ»s¨Ã¶K¤J§AªºUserForm1¼Ò²Õ¤º

Dim lRows&
Dim vDIO, vDPeo

Private Sub CommandButton1_Click()
  Dim lRow&
  
  If TextBox1 = "" Then
    MsgBox "§A¥²¶·¿é¤J (¨®½ø½s¸¹)"
    Exit Sub
  End If
  
  If TextBox2 = "" Then
    MsgBox "§A¥²¶·¿é¤J (¥q¾÷¤H­û)"
    Exit Sub
  End If
  
  lRow = vDPeo(CStr(TextBox1 & "-" & TextBox2))
  If vDIO(CStr(TextBox1 & "-" & TextBox2)) = "O" Then ' ¦^¨Ó¤F
    Cells(lRow, 3) = TextBox2
    Cells(lRow, 5) = Now
    Cells(lRow, 6) = ComboBox1.Text
    vDIO(CStr(TextBox1 & "-" & TextBox2)) = "I"
  Else ' §Y±N¥~¥X
    lRows = lRows + 1
    Cells(lRows, 1) = TextBox1
    Cells(lRows, 2) = TextBox2
    Cells(lRows, 4) = Now
    vDIO(CStr(TextBox1 & "-" & TextBox2)) = "O"
    vDPeo(CStr(TextBox1 & "-" & TextBox2)) = lRows
  End If
End Sub

Private Sub UserForm_Initialize()
  
  Dim lRow&
  Dim sStr$
  
  Set vDIO = CreateObject("Scripting.Dictionary")
  Set vDPeo = CreateObject("Scripting.Dictionary")
  lRow = 2
  While Cells(lRow, 1) <> ""
    If Cells(lRow, 3) = "" Then
      sStr = "O"
    Else
      sStr = "I"
    End If
    vDIO(CStr(Cells(lRow, 1) & "-" & Cells(lRow, 2))) = sStr
    vDPeo(CStr(Cells(lRow, 1) & "-" & Cells(lRow, 2))) = lRow
    lRow = lRow + 1
  Wend
    lRows = lRow - 1
  
  
  ComboBox1.AddItem "NO"
  ComboBox1.AddItem "Yes"
  ComboBox1.ListIndex = 0
End Sub

¤§«á¦A±NModule1¤ÎThisWorkbook¨â­Ó¼Ò²Õ¤ºªº¸ê®Æ¥þ³¡§R°£«á°õ¦æ¬Ý¬Ý¡C

TOP

        ÀR«ä¦Û¦b : ¦³¦h¤Ö¤O¶q´N°µ¦h¤Ö¨Æ¡A¤£­n¤ß¦sµ¥«Ý¡Aµ¥«Ý¤~·|¸¨ªÅ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD