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

¦³Ãö½Æ»s«ü©w¶K¤Wªº°ÝÃD?

'¬O¤£¬O­Ó·N«ä? ¸Õ¸Õ¬Ý:
'½Ð¶K¨ìÃöªº¤u§@­¶¤W
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    If Target.Count > 1 Then Exit Sub
    If Target <> [A1] And Target <> [A2] Then Exit Sub
    If Target = [A2] And [A2] = -1 Then
        [B2:K2401] = "A"
    ElseIf Target = [A1] And [A1] > 1 Then
        [B2:K2401] = ""    '¸ê®Æ­n¤£­n²M°£? ¦p¤£²M°£½Ð±N³o¦Cµù¸Ñ±¼
        Set Rng = [B$1:K$1]
        Rng.Copy Rng.Offset([A1] - 1, 0)
    End If
End Sub

TOP

¦^´_ 5# lucky12345
Q1. Àx¦s®æM1=8    ­YK1=M1   K1·íµM¤]¬O=8   ¤£¹L½Æ»s¶K¤W¤§«á ¤£¬O=8   ¦Ó¬O=0       
A1. ±N K1 ¤½¦¡§ï¬° =M$1       
Q2. §Ú§Ë¿ù§Aªº­ì·N,        
­ì¨Ó¬O·Q­n¤â°Ê§ó·s,
¸Õ¸Õ¬Ý:
  1. '½Ð¶K¨ìÃöªº¤u§@­¶¤W
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     Dim Rng As Range
  4.     Dim Ans As Integer
  5.     If Target.Count > 1 Then Exit Sub
  6.     If Target <> [A1] And Target <> [A2] Then Exit Sub
  7.     If Target = [A2] And [A2] = -1 Then
  8.         Ans = MsgBox("¬O§_­n±N [B2:K2401] ªº¸ê®Æ±N¥þ³¡¥Î 'A' Âл\?", vbYesNo)
  9.         If Ans = 7 Then Exit Sub
  10.         [B2:K2401] = "A"
  11.     ElseIf Target = [A1] And [A1] > 1 Then
  12. '        [B2:K2401] = ""    '¸ê®Æ­n¤£­n²M°£? ¦p¤£²M°£½Ð±N³o¦C¸Ñ±¼
  13.         Ans = MsgBox("¬O§_­n¶}©l½Æ»s¸ê®Æ?", vbYesNo)
  14.         If Ans = 7 Then Exit Sub
  15.         Set Rng = [B$1:K$1]
  16.         Rng.Copy Rng.Offset([A1] - 1, 0)
  17.     End If
  18. End Sub
½Æ»s¥N½X

TOP

'§ï¥Î¨â­Ó«ö¶s¸Õ¸Õ¬Ý!!
'¸ò [A6] ¦³Ãö¶Ü? ¨Ì[A1] ©Î [A6] «ü©w¦C, ¶K¤W²Ä¤@¦Cªº­È?
'¤U¦C«Y¨Ì[A1]«ü©w¦C, ¶K¤W²Ä¤@¦Cªº­È
Private Sub CommandButton1_Click()
    Dim Rng As Range, Lst As Integer
    If [A1] > 1 Then
        Set Rng = [B$1:K$1]
        Rng.Copy
        Rng.Offset([A1] - 1, 0).PasteSpecial Paste:=xlPasteValues   '¥u¶K¤W­È, ¤½¦¡®æ¦¡µ¥¤£·|¶K¤W
    End If
End Sub

'¥Î'A'Âл\©Î¥þ³¡²M°£
Private Sub CommandButton2_Click()
    If [A2] = -1 Then
        '¤U¦C¤G¿ï¤@, ¤£­n¥Î¨ìªº, ½Ð¦b«e­±¥[ '
        '
        [B2:K2401] = "A"    '¥þ³¡¥Î'A'Âл\
'        [B2:K2401] = ""     '¥þ³¡²M°£
    End If
End Sub

TOP

¥»©«³Ì«á¥Ñ yen956 ©ó 2016-1-14 20:40 ½s¿è

1.Sorry, §Ñ¤F½Ð§A§R°£¤W¦¸ Worksheet_Change(¦Û°Ê°õ¦æ) ªºVBA
Private Sub Worksheet_Change(ByVal Target As Range)
...
End Sub
2.¡ysheet2!A1 ¤£±µ¨üsheet1G12­p¼Æ(¼Æ­È) µLªk¦Û°Ê½Æ»s  ¥u¯à¥Î¤â°Ê¿é¤J ¼Æ¦r  «öEnter ¤~·|½Æ»s¤@¦¸¡z
ANS:©Ò¥H¤~§ï¥Î«ö¶s, ¤â°Ê±Ò°Ê¤U¦CVBA
Private Sub CommandButton1_Click()
    Dim Rng As Range, Lst As Integer
    If [A1] > 1 Then
        Set Rng = [B$1:K$1]
        Rng.Copy
        Rng.Offset([A1] - 1, 0).PasteSpecial Paste:=xlPasteValues   '¥u¶K¤W­È, ¤½¦¡®æ¦¡µ¥¤£·|¶K¤W
    End If
End Sub
3. ³s[A2]=-1¤]§ï¦¨¤â°Ê, ©Ò¥H­n¨â­Ó«ö¶s
4. §A 9# ªºVBA³s¸Õ¸Õ³£¨S¸Õ§a!!

TOP

        ÀR«ä¦Û¦b : ¤p¨Æ¤£°µ¡B¤j¨ÆÃø¦¨¡C
ªð¦^¦Cªí ¤W¤@¥DÃD