excel - VBA代码根据另一张表中的值在Excel中插入值
问题描述
我正在尝试根据上一列中提供的“切换时间”将程序名称插入“F 列”。“切换时间”与主表(sheet1)进行比较,以查看切换发生时正在运行的程序。这是使用的两张纸。
但是在运行时,我收到错误消息“范围类的选择方法失败”。
Sub Protest()
Dim chno, swtime, stime, ftime As Integer, swprog As String
Sheets("Sheet2").Select
Range("F1").Select
Do Until Selection.Offset(0, -3).Value = ""
chno = Selection.Offset(0, -3).Value
swtime = Selection.Offset(0, -1).Value
If chno = "1" Then
Sheets("Sheet1").Range("E4").Select
Do Until Selection.Offset(0, 0).Value = ""
stime = Selection.Offset(0, 0).Value
ftime = Selection.Offset(0, 1).Value
If swtime >= stime And swtime <= ftime Then
swprog = Selection.Offset(0, -1).Value
End If
Selection.Offset(1, 0).Select
Loop
End If
If chno = "2" Then
Sheets("Sheet1").Range("I4").Select
Do Until Selection.Offset(0, 0).Value = ""
stime = Selection.Offset(0, 0).Value
ftime = Selection.Offset(0, 1).Value
If swtime >= stime And swtime <= ftime Then
swprog = Selection.Offset(0, -1).Value
End If
Selection.Offset(1, 0).Select
Loop
End If
If chno = "3" Then
Sheets("Sheet1").Range("M4").Select
Do Until Selection.Offset(0, 0).Value = ""
stime = Selection.Offset(0, 0).Value
ftime = Selection.Offset(0, 1).Value
If swtime >= stime And swtime <= ftime Then
swprog = Selection.Offset(0, -1).Value
End If
Selection.Offset(1, 0).Select
Loop
End If
Selection.Value = swprog
Selection.Offset(1, 0).Select
Loop
Range("A1").Select
End Sub
解决方案
推荐阅读
- android - Xamarin.Forms.Android:在编译/部署时使用示例数据文件填充“Environment.SpecialFolder.Personal”
- c - 为什么使用 & 运算符时 char* 和 char[x] 之间的区别很重要
- tensorflow - 值错误:形状不匹配 - 使用 tensorflow 时
- azure - 没有角色分配的服务主体有什么用
- css - 如何在子组件中使用相同的 CSS 变量名
- python - 确保 Scrapy 在扩展爬网期间保持登录状态
- c# - 如何在 C# 中获取异常 adb 错误代码
- javascript - 如何获取组件的滚动位置?
- c# - 将参数传递给具有特定格式c#的控制台应用程序
- python - 基于整个数据框制作字典/键对