Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 12129|回复: 52

[练习题] 已结束:抢3(2012-4-1)

  [复制链接]
发表于 2012-4-1 19:57 | 显示全部楼层 |阅读模式
本帖最后由 兰色幻想 于 2012-4-1 22:16 编辑

     具体要求看附件内,本贴为回复可见。可以直接提交答案。提交答案时请把附件一并提交。
     奖励前10名,分别奖励10~1个积分
    抢3.rar (4.45 KB, 下载次数: 195)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-4-1 20:01 | 显示全部楼层
做题 中,  :)  哈哈  沙发!
回复

使用道具 举报

发表于 2012-4-1 20:23 | 显示全部楼层
1组:mfk1288(旧号)

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" Then
        Dim a As Integer, i As Integer
        a = Application.Match(Range("B2"), Range("K:K"), 0)
        If IsNumeric(a) Then
            For i = 4 To 6
                Cells(i, "B") = Cells(a + i - 3, "l")
            Next
            For i = 4 To 5
                Cells(i, "d") = Cells(a + i - 3, "n")
            Next
        End If
    End If
End Sub
抢3.rar (7.41 KB, 下载次数: 10)

抢3.rar

7.41 KB, 下载次数: 13

点评

答案不正确,要把整个表格都要拷过去  发表于 2012-4-1 20:36
回复

使用道具 举报

发表于 2012-4-1 20:29 | 显示全部楼层
C12:hrpotter
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim st As String
  3.     Dim i As Integer, j As Integer
  4.     If Target.Address = "$B$2" Then
  5.         st = Range("b2")
  6.         i = Application.Match(st, Range("k1:k36"), 0)
  7.         j = Cells(i, "k").End(xlDown).Row
  8.         Range("a4:d65536").Clear
  9.         Range("a4").Resize(j - i, 4) = Range(Cells(i + 1, "k"), Cells(j, "n")).Value
  10.     End If
  11. End Sub
复制代码
C12-hrpotter-抢3.rar (9.7 KB, 下载次数: 31)

点评

正确,+10积分  发表于 2012-4-1 20:37

评分

参与人数 1 +10 金币 +10 收起 理由
兰色幻想 + 10 + 10 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2012-4-1 20:35 | 显示全部楼层
本帖最后由 liuho1 于 2012-4-1 20:45 编辑

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = Range("b2") Then
a = Application.WorksheetFunction.Match(Range("B2"), Range("k:k"), 0)
Range("b4") = Range("L" & a + 1)
Range("b5") = Range("L" & a + 2)
Range("b6") = Range("L" & a + 3)
Range("d4") = Range("n" & a + 1)
Range("d5") = Range("n" & a + 2)
End If
End Sub
心急老是看错

点评

答案不正确  发表于 2012-4-1 20:38
回复

使用道具 举报

发表于 2012-4-1 20:37 | 显示全部楼层
Sub ww()
    Dim x
    x = Application.Match(Range("b2"), Range("k2:k32"), 0)
    Range("b4") = Range("l" & x + 2)
    Range("b5") = Range("l" & x + 3)
    Range("b6") = Range("l" & x + 4)
End Sub 抢3.rar (7.77 KB, 下载次数: 10)

点评

答案不正确,要求把整个表都拷贝过去  发表于 2012-4-1 20:39
回复

使用道具 举报

发表于 2012-4-1 20:40 | 显示全部楼层
  1. Sub chazhao()
  2. Dim rng As Range, rng1 As Range
  3. Set rng1 = Range(Range("k2"), Range("k" & Range("k65536").End(3).Row))
  4. Set rng = WorksheetFunction.Index(rng1, WorksheetFunction.Match(Range("b2"), rng1, 0))
  5. Range("b4") = rng.Offset(1, 1)
  6. Range("d4") = rng.Offset(1, 3)
  7. Range("b5") = rng.Offset(2, 1)
  8. Range("d5") = rng.Offset(2, 3)
  9. Range("b6") = rng.Offset(3, 1)
  10. End Sub
复制代码

点评

答案不正确  发表于 2012-4-1 21:05
回复

使用道具 举报

发表于 2012-4-1 20:42 | 显示全部楼层
b19-yl_li

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
    If Target.Address = "$B$2" Then
        i = WorksheetFunction.Match(Target.Value, Range("k:k"), 0)
        Range("b4").Value = Range("k" & i).Offset(1, 1)
        Range("d4").Value = Range("k" & i).Offset(1, 3)
        Range("b5").Value = Range("k" & i).Offset(2, 1)
        Range("d5").Value = Range("k" & i).Offset(2, 3)
        Range("b6").Value = Range("k" & i).Offset(3, 1)
    End If
End Sub

抢3.rar (8.68 KB, 下载次数: 5)

点评

答案不正确  发表于 2012-4-1 21:06
回复

使用道具 举报

发表于 2012-4-1 20:43 | 显示全部楼层
Option Explicit

Private Sub Workbook_Open()

End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim lastrow As Long

lastrow = Range("k" & Cells.Rows.Count).End(xlUp).Row

Dim a As Integer, b As Integer, rg As Range, rg1 As Range

b = 2

If Target.Address = "$B$2" Then

  For a = 2 To lastrow
     
     If Cells(a, "k") = Target.Value Then
     
        b = a + 1
        
      Else
      
      If Cells(a, "k") = "" Then
      
          For Each rg1 In Range("a4:c6")
      
         For Each rg In Range(Cells(b, "k"), Cells(a - 1, "n"))
         
                        
             If rg.Value = rg1.Value Then
            
                rg1.Offset(0, 1) = rg.Offset(0, 1)
               
                Exit For
               
             End If
            
             Next
            
          Next
         
        
         
          End If
         
        End If
        
    Next
            
End If

End Sub

抢3.rar

7.74 KB, 下载次数: 11

点评

答案不正确  发表于 2012-4-1 21:07
回复

使用道具 举报

发表于 2012-4-1 20:46 | 显示全部楼层
  1. Sub 抢3()
  2. Dim kkk As Integer

  3. kkk = Application.Match(Range("b2"), Range("K:K"), 0)
  4. Range("b4").Value = Range("K" & kkk).Offset(1, 1).Value
  5. Range("b5").Value = Range("K" & kkk).Offset(2, 1).Value
  6. Range("b6").Value = Range("K" & kkk).Offset(3, 1).Value
  7. Range("d4").Value = Range("K" & kkk).Offset(1, 3).Value
  8. Range("d5").Value = Range("K" & kkk).Offset(2, 3).Value
  9. End Sub
复制代码

抢3.xls

15 KB, 下载次数: 0

点评

答案不正确  发表于 2012-4-1 21:07
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-5 00:41 , Processed in 0.248718 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表