Excel精英培训网

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

[已解决]请高手们帮忙用vba解决这个名称指定的问题

[复制链接]
发表于 2011-12-17 13:45 | 显示全部楼层 |阅读模式
我附件上f列想求得一代码,当我执行他的时候,他根据f列最后一个有数据的单元格重新定义名称指定。因为用数据有效性的时候要用到这个序列,但有时候我得在这个序列下加别的字,还得重新定义名称指定,所以恳请高手帮忙,谢谢。
最佳答案
2011-12-17 15:49
函数:插入名称-班级
  1. =OFFSET(界面!$F$1,,,COUNTA(界面!$F:$F))
复制代码
VBA:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Target.Address = "$A$1" Then
  3.     With Target.Validation
  4.         .Delete
  5.         .Add xlValidateList, , , Join(WorksheetFunction.Transpose(Range("f1:f" & [f65536].End(3).Row)), ",")
  6.     End With
  7. End If
  8. End Sub
复制代码

指定名称.rar

1.46 KB, 下载次数: 7

发表于 2011-12-17 15:49 | 显示全部楼层    本楼为最佳答案   
函数:插入名称-班级
  1. =OFFSET(界面!$F$1,,,COUNTA(界面!$F:$F))
复制代码
VBA:
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. If Target.Address = "$A$1" Then
  3.     With Target.Validation
  4.         .Delete
  5.         .Add xlValidateList, , , Join(WorksheetFunction.Transpose(Range("f1:f" & [f65536].End(3).Row)), ",")
  6.     End With
  7. End If
  8. End Sub
复制代码
回复

使用道具 举报

发表于 2011-12-17 15:54 | 显示全部楼层
怎么在07测试总感觉有点问题!{:4712:}
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim i&
  3.     If Target.Column = 6 Then
  4.         With Sheet1
  5.             i = .Cells(.Rows.Count, 6).End(3).Row
  6.             ActiveWorkbook.Names(Range("F1").Value).Delete
  7.             ActiveWorkbook.Names.Add Range("F1").Value, "=" & .Name & "!$F$2:$F" & i
  8.         End With
  9.     End If
  10. End Sub

复制代码

回家用10测试看看。{:912:}

指定名称.rar

7.78 KB, 下载次数: 5

回复

使用道具 举报

发表于 2011-12-18 15:20 | 显示全部楼层
本帖最后由 windimi007 于 2011-12-18 15:21 编辑

找到原因了,原来少了个绝对引用的符号($)。{:4712:}
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim i&
  3.     If Target.Column = 6 Then
  4.         With Sheet1
  5.             i = .Cells(.Rows.Count, 6).End(3).Row
  6.             ActiveWorkbook.Names(Range("F1").Value).Delete
  7.             ActiveWorkbook.Names.Add Range("F1").Value, "=" & .Name & "!$F$2:$F$" & i
  8.         End With
  9.     End If
  10. End Sub
复制代码

指定名称.rar

7.85 KB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 02:50 , Processed in 0.287023 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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