在数据表中查找行并使用VBA excel替换它



在Visual Basic方面,我是一个完全的新手,正在寻求一些帮助。

基本上,我已经编写了获取数据输入表并将其转储到下一个可用行中的数据表中的代码。

我现在正在尝试创建一个单独的页面,用户可以在其中修改详细信息 - 为了将详细信息输入到此页面中,我只是简单地使用了 VLookups,但现在我希望有一个宏,它将在一系列行中查找特定值,然后将该行替换为新工作表中的修正行。

任何

这方面的帮助将不胜感激,因为我正在大量挣扎。

新信息:

把这段代码放在一起,试图演示我想要实现的目标 - 我知道这段代码不是很好,不会实现它,但希望它能以某种方式解释我想要做的事情。

我正在尝试获取位于Sheets("LCH").range("E16")中的"ID",在Sheets("Data")中查找它,它将位于第一列中,然后在找到值后,我想将所有信息粘贴到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   
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

最新更新