我有一个Excel电子表格,在过去的几天中开始出现奇怪的行为,我不确定它是否是我的VBA代码或错误。在运行一个宏以将表1中的一行新数据添加到表2中的一个表格后,表2可以通过'表'1看到 - 这就像单元格'没有填充'一样,但实际显示到表2而不是白色。VBA错误或错误?工作表1中显示的数据2
Here's the spreadsheet, stored in Google Drive,请随时免费下载和看代码等
是我的VBA代码导致这或者是一个错误,并我怎么解决它?
编辑:这是代码。首先子被称为按下按钮,并在最后调用的SortTable
Sub addRows()
Dim rowLast As Long
rowLast = Worksheets("Inventory").Cells(Rows.Count, "C").End(xlUp).row
Dim relevantRow As Integer
relevantRow = rowLast + 1
Dim numRepeats As Integer
Dim numRepeatsRange As Range
Set numRepeatsRange = Range("newInv")
numRepeats = numRepeatsRange.Count
Dim relevantColumn As Integer
Dim relevantColumnRange As String
Dim copyFromCell As Range
Dim copyToCell As Range
Dim counter As Integer
For counter = 1 To numRepeats
relevantColumn = Worksheets("Index Lookup").Cells(counter + 1, 2).Value
Set copyFromCell = Worksheets("Input").Cells(16, counter + 1)
Set copyToCell = Worksheets("Inventory").Cells(relevantRow, relevantColumn)
copyToCell.Value = copyFromCell.Value
Next counter
Call sortTable
Worksheets("Input").Range("newInv").ClearContents
Worksheets("Input").Range("C16").Select
End Sub
Sub sortTable()
ActiveWorkbook.Worksheets("Inventory").ListObjects("Table14").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Inventory").ListObjects("Table14").Sort.SortFields. _
Add Key:=Range("C15"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Inventory").ListObjects("Table14").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
EDIT2:有问题的细胞恢复到正常时采取的是直接影响到他们的任何行动 - 改变工作表中,选择他们(甚至拖动选择而不是实际选择它们),编辑其中一个受影响的单元格。视觉障碍在我的按钮前面,但是如果我点击那个区域,那么它们的宏将运行 - 这仅仅是一个视觉问题。
我发现了一个临时解决方法:在sub addRows中的上述代码下面,选择单元格A1:Z500,然后选择C16(选择全部清除视觉错误,但看起来很糟糕,所以我将选择重置为C16 )。随机信息仍在屏幕上闪烁,但消失非常快。 我还是宁愿不必这样做 - 任何想法?
EDIT3:我进一步研究它,并取出调用sortTable删除该问题。 sortTable中的某些内容(仅作用于工作表2上)导致工作表1中出现奇怪的视觉错误
不可能说没有你的代码 - 请[编辑您的问题(http://stackoverflow.com/posts/40878738/edit),包括它。 – Comintern
“我的VBA代码或错误。”作为一般的经验法则 - 它是你的代码。在我有生之年,我犯了数千个编程错误,但只遇到了编程语言实现或主要软件工具出现少量错误的情况。 –
尝试“编辑”sheet1上应该是空白但显示内容的单元格之一 - 它在编辑时是否显示单元格中的现有值?保存文件并重新打开后问题是否消失? (我的直觉是它是一个内存问题,甚至可能与Excel本身没有关系。) – YowE3K