Excel精英培训网

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

一会员积分表求完善

[复制链接]
发表于 2015-3-7 21:24 | 显示全部楼层 |阅读模式
本帖最后由 cj113989 于 2015-3-7 21:38 编辑

在B2输入编号或简码,引用sheet1合条件的。本次消费和备注可以修改,并返回sheet1保存。问题:如果在本次消费中,输入小于0的数字,回车后该列内容同时保存在sheet3中。保存不覆盖,全部依次记录。

力康会员积分.zip

311.54 KB, 下载次数: 36

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-3-8 10:23 | 显示全部楼层
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim arr, arr1
  3.     Dim iR&, x&, i&, n&, j&, endrow&
  4.     Dim T As String
  5.     If Target.Address = "$B$1" Then
  6.         T = Range("b1").Value
  7.         If Len(T) = 4 Then j = 1 Else j = 2
  8.         With Sheets("sheet1")
  9.             iR = .Range("A65536").End(xlUp).Row
  10.             arr = .Range("A2:l" & iR).Value
  11.             ReDim arr1(1 To UBound(arr), 1 To UBound(arr, 2))
  12.             For x = 1 To UBound(arr)
  13.                 If arr(x, j) = T Then
  14.                     i = i + 1
  15.                     For n = 1 To 12
  16.                         arr1(i, n) = arr(x, n)
  17.                     Next n
  18.                 End If
  19.             Next x
  20.         End With
  21.         Range("A3").Resize(UBound(arr1), UBound(arr1, 2)) = arr1
  22.     End If
  23.     If Target.Row > 2 And Target.Column = 5 And Target.Count = 1 Then
  24.       Cells(Target.Row, 6) = Cells(Target.Row, 6) + Target.Value
  25.       Cells(Target.Row, 8) = Cells(Target.Row, 8) + Target.Value
  26.       If Target.Value > 0 Then
  27.         With Sheets("sheet1")
  28.             For x = 1 To .Range("A65536").End(xlUp).Row
  29.                 If .Cells(x, 1) = Cells(Target.Row, 1) Then
  30.                     .Cells(x, 5) = Cells(Target.Row, 5).Value
  31.                     .Cells(x, 6) = Cells(Target.Row, 6).Value
  32.                     .Cells(x, 8) = Cells(Target.Row, 8).Value
  33.                     .Cells(x, 12) = Cells(Target.Row, 12).Value
  34.                 End If
  35.             Next x
  36.          End With
  37.       Else
  38.          With Sheets("Sheet3")
  39.              endrow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
  40.              .Range("A" & endrow & ":L" & endrow).Value = Range("A" & Target.Row & ":L" & Target.Row).Value
  41.          End With
  42.       End If
  43.     End If
  44.     If Target.Row > 2 And Target.Column = 12 And Target.Count = 1 Then
  45.         With Sheets("sheet1")
  46.             For x = 1 To .Range("A65536").End(xlUp).Row
  47.                 If .Cells(x, 1) = Cells(Target.Row, 1) Then
  48.                     .Cells(x, 12) = Cells(Target.Row, 12).Value
  49.                 End If
  50.             Next x
  51.         End With
  52.     End If
  53. End Sub
复制代码
不知道是不是楼主想要的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-29 03:59 , Processed in 0.338185 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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