excel如何实现在任意单元格中输入内容后自动在输入内容的前面加入从另一sheet中匹配出来字段? 30
比如sheet1为基础数据:我希望在sheet2中任意单元格中输入“小明”,回车后显示为“今年5岁了小明”,就是将小明在sheet1中匹配的字段加到小明前面再加入一个空格...
比如sheet1为基础数据:
我希望在sheet2中任意单元格中输入“小明”,回车后显示为“今年5岁了 小明”,就是将小明在sheet1中匹配的字段加到小明前面再加入一个空格?
再帮帮忙吧,万分感激啊!! 展开
我希望在sheet2中任意单元格中输入“小明”,回车后显示为“今年5岁了 小明”,就是将小明在sheet1中匹配的字段加到小明前面再加入一个空格?
再帮帮忙吧,万分感激啊!! 展开
6个回答
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xx As Range, i As Long
For Each xx In Target
i = 2
Do While Sheet1.Cells(i, 1).Value <> ""
If Sheet1.Cells(i, 1).Value = xx.Value Then
xx.Value = Sheet1.Cells(i, 2).Value & " " & xx.Value
Exit Do
End If
i = i + 1
Loop
Next
End Sub
按Alt+F11进入VBE,双击“sheet2“,复制粘贴上面的代码,退出VBE就可以了
追问
您的代码完美解决了问题,谢谢您的帮助啊!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
excel如何实现在任意单元格中输入内容后自动在输入内容的前面加入从另一sheet中匹配出来字段的解决方法如下:
1、打开要处理的文档,
2、按alt+f11,打开vba编辑窗口,
3、双击sheet2,
4、在右侧的窗口中输入下面的代码段:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strBf As String, i As Integer
Dim SglCel As Range
i = 2
For Each SglCel In Target
Do While Sheet1.Cells(i, 1).Value <> ""
If Sheet1.Cells(i, 1).Value = SglCel.Value Then
SglCel.Value = Sheet1.Cells(i, 2).Value & " " & SglCel.Value
Exit Do
End If
i = i + 1
Loop
Next
End Sub
这样就可以了。
1、打开要处理的文档,
2、按alt+f11,打开vba编辑窗口,
3、双击sheet2,
4、在右侧的窗口中输入下面的代码段:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strBf As String, i As Integer
Dim SglCel As Range
i = 2
For Each SglCel In Target
Do While Sheet1.Cells(i, 1).Value <> ""
If Sheet1.Cells(i, 1).Value = SglCel.Value Then
SglCel.Value = Sheet1.Cells(i, 2).Value & " " & SglCel.Value
Exit Do
End If
i = i + 1
Loop
Next
End Sub
这样就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以借助VLOOKUP函数间接实现此功能,一次是不能达到这个效果的
追问
我需要在任意单元格中输入内容后均按此匹配显示,用公式肯定不行,VBA 是可以的,但是我不会,需要请教各位大神啊!
追答
那就只能用VBA了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在一个单元格输入后,得到相对应的内容在同一个单元格,只能是VBA啦。(统一加数据单位的自定义格式除外。)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询