对于visual basic而言,我是一个新手,我正在寻求帮助。
基本上我已经编写了带有数据输入表的代码,并将其转储到下一个可用空行中的数据表中。
我现在正在尝试创建一个单独的页面,用户可以在其中修改详细信息 - 将详细信息提供给此页面我只是简单地使用了VLookups但现在我希望有一个宏来查找特定的值一系列行,然后用新工作表中修改过的行替换该行。
任何有关这方面的帮助都会非常感激,因为我正在大肆努力。
新信息:
我把这些代码放在一起试图证明我想要实现的目标 - 我知道这段代码不是很好而且无法实现它但是希望它能解释我正在尝试做什么。
我正在尝试使用位于Sheets(“LCH”)。“范围(”E16“)中的”ID“,在表格中找到它(”数据“)它将位于第一个列然后在找到值时,我想将SourceRange中的所有信息粘贴到它的右侧。
请参阅以下代码:
Sub Button1_Click()
Dim rng1 As Range
Dim ID As Range
Dim DestSheet As Worksheet
Dim SourceRange As Range
Dim DestRange As Range
Set DestSheet = Sheets("Data")
Set ID = Sheets("LCH").Range("E16")
Set SourceRange = Sheets("LCH").range(E17:E90)
Set DestRange = Sheets("Data").Range("A1:ZZZ500")
DestSheet.Activate
Set rng1 = ActiveSheet.Find(ID, Cells(1, ActiveCell.Column), xlFormulas, xlWhole, , xlNext)
SourceRange.Copy
DestRange.PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats, _
operation:=xlPasteSpecialOperationNone, _
skipblanks:=False, _
Transpose:=True
Application.CutCopyMode = False
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
If Not rng1 Is Nothing Then
Application.Goto rng1
Else
MsgBox "10 not found"
End If
End Sub
答案 0 :(得分:0)
Sub Tester()
Dim f As Range, IDCell As Range
Set IDCell = Sheets("LCH").Range("E16")
Set f = Sheets("Data").Columns(1).Find(IDCell.Value, _
LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then
Sheets("LCH").Range("E17:E90").Copy
f.Offset(0, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
Transpose:=True
Application.CutCopyMode = False
Else
MsgBox "ID '" & IDCell.Value & "' not found on data sheet", vbExclamation
End If
End Sub