【发布时间】:2017-09-21 23:39:27
【问题描述】:
我有一个有 2 张纸的工作簿。第一个有 2 列数据。第二个是格式化的时间表。我想在计划中的第一列数据中找到值:
代入第二列的数据 将具有新值的单元格的行高增加 5。 将 Schedule 中所有单元格的字体更改为 Calibri。
这是我目前所拥有的,但它不起作用:
Public Sub FindReplace()
Dim AllCells As Range
Dim myList As Range
Dim myRange As Range
Dim myHeight As Double
Set AllCells = Sheets("Sheet 1").Cells
AllCells.Font.Name = "Calibri"
Set myList = Sheets("FindReplace").Range("A1:C200")
Set myRange = Sheets("Sheet 1").Cells
For Each cel In myList.Columns(1).Cells
myRange.Select
Selection.Find(What:=cel.Value, LookIn:=xlFormulas, LookAt:=xlWhole).Activate
ActiveCell.RowHeight = myHeight
myHeight = myHeight + 5
Selection.RowHeight = myHeight
myRange.Replace cel.Value, cel.Offset(0, 2), LookAt:=xlWhole
Next cel
End Sub
请帮忙
【问题讨论】:
-
在模块顶部写上
Option Explicit。然后转到Debug->Compile并编辑您的代码,直到它正在编译。然后阅读:stackoverflow.com/documentation/excel-vba/1107/… -
旁注:您应该始终使用
Worksheets,而不是Sheets,因为工作表集合还包含图表等,例如。Sheets("A Cart").Range将失败。 -
“不工作” - 一个常见且无用的短语。请更具体 - 您是否收到错误消息,代码是否运行但未执行您想要的操作,等等。