Excel精英培训网

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

[已解决]求修改代码.

[复制链接]
发表于 2013-12-21 12:58 | 显示全部楼层 |阅读模式
求修改代码.
最佳答案
2013-12-21 14:38
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     On Error Resume Next
  3.     Dim i As Integer
  4.     With Target
  5.         If .Count = 1 Then
  6.             If Len(.Value) Then
  7.                 Application.ScreenUpdating = False
  8.                 Application.EnableEvents = False
  9.                 Select Case .Column
  10.                     Case 1
  11.                         .Offset(0, 2).Value = .Value & "*" & .Offset(0, 1).Value & "=" & Format(Evaluate(.Value & "*" & .Offset(0, 1).Value), "0")
  12.                         arr = Split(.Value, "*")
  13.                         .Offset(0, 3).Value = "宽" & arr(0) & "米*高" & arr(1) & "米*" & arr(2) & "幅"
  14.                 End Select
  15.             End If
  16.         Else
  17.             If .Column = 15 Then
  18.                 Application.ScreenUpdating = False
  19.                 Application.EnableEvents = False
  20.                 For i = 1 To 19
  21.                     If Left(Cells(i, "h"), Len(Target) + 1) = Target & "=" Then
  22.                         .Offset(0, 1) = Replace(Cells(i, "h"), .Value & "=", "") & "  " & .Offset(0, -1)
  23.                         Application.ScreenUpdating = True
  24.                         Application.EnableEvents = True
  25.                         Exit Sub
  26.                     End If
  27.                 Next
  28.             End If
  29.         End If
  30.         Application.ScreenUpdating = True
  31.         Application.EnableEvents = True
  32.     End With
  33. End Sub
复制代码

计算求助.zip

7.87 KB, 下载次数: 9

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-12-21 14:38 | 显示全部楼层    本楼为最佳答案   
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     On Error Resume Next
  3.     Dim i As Integer
  4.     With Target
  5.         If .Count = 1 Then
  6.             If Len(.Value) Then
  7.                 Application.ScreenUpdating = False
  8.                 Application.EnableEvents = False
  9.                 Select Case .Column
  10.                     Case 1
  11.                         .Offset(0, 2).Value = .Value & "*" & .Offset(0, 1).Value & "=" & Format(Evaluate(.Value & "*" & .Offset(0, 1).Value), "0")
  12.                         arr = Split(.Value, "*")
  13.                         .Offset(0, 3).Value = "宽" & arr(0) & "米*高" & arr(1) & "米*" & arr(2) & "幅"
  14.                 End Select
  15.             End If
  16.         Else
  17.             If .Column = 15 Then
  18.                 Application.ScreenUpdating = False
  19.                 Application.EnableEvents = False
  20.                 For i = 1 To 19
  21.                     If Left(Cells(i, "h"), Len(Target) + 1) = Target & "=" Then
  22.                         .Offset(0, 1) = Replace(Cells(i, "h"), .Value & "=", "") & "  " & .Offset(0, -1)
  23.                         Application.ScreenUpdating = True
  24.                         Application.EnableEvents = True
  25.                         Exit Sub
  26.                     End If
  27.                 Next
  28.             End If
  29.         End If
  30.         Application.ScreenUpdating = True
  31.         Application.EnableEvents = True
  32.     End With
  33. End Sub
复制代码
回复

使用道具 举报

发表于 2013-12-21 15:49 | 显示全部楼层
请测试:
计算求助.zip (8.67 KB, 下载次数: 6)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 06:58 , Processed in 0.332681 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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