excel - 需要帮助来搜索字符串并将数据覆盖到同一位置
问题描述
我有这段代码可以将数据写入下一个空列,并且当记录不存在时它可以完美运行。但是,我添加了代码来搜索记录(MyVal),如果找到,询问我们是否应该覆盖。当它询问用户是否说不时,它会退出子程序(这是正确的行为),但如果记录存在,我希望它将数据写入同一位置。我很确定我在错误的位置有“Else”,我不知道要编写什么代码来告诉它将数据写入与找到的记录相同的位置。
Sub Copy_To_Borrower_DBase()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim myVal As String
Dim sourceRng As Range
Dim lCol As Long
MyNote = Sheets("Main").Range("F5").Value & _
" already exists, do you want to overwrite?"
myVal = Sheets("Main").Range("F5").Value ' dropdown list
Set sourceRng = Worksheets("Borrower Database").Range("5:5").Find( _
What:=myVal, LookAt:=xlWhole) 'locate column where to copy from
Set ws1 = ThisWorkbook.Sheets("Main")
Set ws2 = ThisWorkbook.Sheets("Borrower Database")
If Not sourceRng Is Nothing Then
Answer = MsgBox(MyNote, vbCritical + vbYesNo, "Overwrite??")
If Answer = vbNo Then
Exit Sub
Else
End If
Else
With ws2
Application.EnableEvents = False
lCol = .Cells(5, .Columns.Count).End(xlToLeft).Offset(, 1).Column
.Cells(5, lCol).Value = ws1.Range("F5").Value 'Borrower Name
.Range(.Cells(6, lCol), .Cells(8, lCol)).Value =
ws1.Range("G6:G8").Value 'Income, Credit Pmt and Car Pmt
.Range(.Cells(9, lCol), .Cells(10, lCol)).Value =
ws1.Range("G11:G12").Value 'Borrower Name
.Cells(11, lCol).Value = ws1.Range("G15").Value 'Reserves
.Cells(12, lCol).Value = ws1.Range("D15").Value 'Credit Score
.Cells(13, lCol).Value = ws1.Range("D14").Value 'Rate
.Cells(14, lCol).Value = ws1.Range("C14").Value 'Discount Point
Application.EnableEvents = True
End With
End If
End Sub
解决方案
推荐阅读
- jquery - 使用 jQuery 设置图标字体(在 Divi WP 主题的自定义切换中)
- javascript - 从 React 组件调用功能组件中的函数
- oracle - Oracle 更改子分区 lob 索引的默认属性
- android - Cordova 无法在 Android Studio 或您的系统上找到已安装的 Gradle 版本以安装 gradle 包装器
- python - ImportError:无法从“gensim.utils”导入名称“has_pattern”
- python - LSTM 模型最后一个线性层
- php - Docker mysql 找不到驱动程序
- tensorflow - 如何为 TF hub TFv2 模型执行修剪(子图提取),TF hub v1 模型的 tf.saved_model.load() 支持类似的功能
- python - HTCondor:根据 SysExitCode 重新提交作业或终止作业
- c# - 如何创建泛型类的实例,其中类型约束到相同的泛型类