我已經編寫了一個Excel VBA,用於將所選單元格中的數據從一個工作簿工作表複製到另一個工作簿工作表。在某些VBA粘貼空值後,粘貼某些值後,它在某些單元格上工作良好。我的意思是儘管源單元格不是空的,但它正在粘貼空值。我已經把斷點和看到,但價值在那裏。請幫我解決這個問題。Excel VBA Selection.Copy正在粘貼目標工作簿工作表中的空值
代碼如下。
Set objClickScriptWB = objExcelWB.Workbooks.Open(SourceWBPath)
For intSheet = 9 To 12 'objClickScriptWB.Worksheets.Count
If InStr(1, objClickScriptWB.Worksheets(intSheet).Name, "SC", vbTextCompare) > 0 Then
blnScriptSheet = 1
objClickScriptWB.Worksheets(intSheet).Activate
For r = 24 To objClickScriptWB.Worksheets(intSheet).UsedRange.Rows.Count
If Trim(LCase(objClickScriptWB.Worksheets(intSheet).Cells(r, 6).Value)) <> Trim(LCase("Transaction")) And Trim(LCase(objClickScriptWB.Worksheets(intSheet).Cells(r, 6).Value)) <> Empty And objClickScriptWB.Worksheets(intSheet).Cells(r, 6).MergeArea.Cells.Count = 1 Then
objClickScriptWB.Worksheets(intSheet).Cells(r, 6).Select
If blnCompSht = 0 Then
Set objComparisonSheet = ThisWorkbook.Worksheets.Add
objComparisonSheet.Name = "Comparison"
objComparisonSheet.Activate
objComparisonSheet.Cells(2, 2).Value = "Clickscript Transaction names"
i = 3
objExcelWB.Selection.Copy
objComparisonSheet.Activate
objComparisonSheet.Cells(i, 2).Select
'Sheet3.Range("B2").Select
'objComparisonSheet.Range("B" & i).PasteSpecial Paste:=xlPasteValues
objComparisonSheet.Paste
'Sheet2.Range("G2").Cells
i = i + 1
blnCompSht = 1
'Application.Wait (Now + TimeValue("00:00:01"))
ElseIf blnCompSht = 1 Then
ThisWorkbook.Worksheets("Comparison").Activate
Dim LastRow As Integer
For intRow = 2 To ThisWorkbook.Worksheets("Comparison").Rows.Count
If ThisWorkbook.Worksheets("Comparison").Cells(intRow, 2).Value = Empty Then
i = intRow
Exit For
End If
Next
objExcelWB.Selection.Copy
ThisWorkbook.Worksheets("Comparison").Cells(i, 2).Select
'ThisWorkbook.Worksheets("Comparison").Range("B" & intRow).PasteSpecial Paste:=xlPasteValues
ThisWorkbook.Worksheets("Comparison").Paste
i = i + 1
'Application.Wait (Now + TimeValue("00:00:01"))
End If
'End If
'Next
'Call CompareTxnNames(objClickScriptWB.Worksheets(intSheet).Name)
End If
'Next
Next
End If
Next
End Sub
請幫我
感謝
你的代碼很長,不清楚問題是。我通過Record Macro來爲你提供一個你想要複製的建議。然後,你只需要編輯已經由宏自動生成的代碼,如你所願 – Kasnady 2013-03-20 08:40:34
嗨你的Sub的開始缺失,腳本開始時是否還有更多缺失?這可能是一個有趣的問題,但我通常在代碼的開始處將所有變量和對象變暗,這樣我就可以很好地瞭解所有這些變量和對象。 – 2013-03-20 09:11:13
'.Value = Empty'不是空單元格的正確檢查。見http://stackoverflow.com/questions/1983649/how-do-i-express-if-value-is-not-empty-in-the-vba-language – 2013-03-20 09:13:03