如何写入另一个工作表中的当前单元格

时间:2014-02-06 17:13:42

标签: vba logging xls

我有一个宏可以在大列表中进行更改。 目前我为我所做的每一个更改都显示了一个msgbox(),这是相当有趣的。 相反,我想将所有这些更改写入日志文件。

但我不想记住我在日志文件中的哪一行,如果我可以避免它。

所以我需要一种方法来写入日志文件中的CurrentCell,而不是激活它,然后将那个CurrentCell向下移动一行。

有一种简单的方法吗?

thanx,Gijs。

1 个答案:

答案 0 :(得分:-1)

要获取工作表中的当前单元格,我相信您需要激活它,但您可以关闭屏幕更新,以便用户实际上不知道焦点的变化。

下面的代码执行此操作,获取工作簿的工作表2上的活动单元格的地址,将其输出到调试菜单,然后将光标移动到下一行,然后交换回当前工作表并转动屏幕更新:

我希望这有帮助, 安德鲁

Sub MoveToNextCell()

    'Turn off screen updates
    Application.ScreenUpdating = False

    'Get the active cell in worksheet 2
    ThisWorkbook.Sheets(2).Activate

    'Execute the movement
    Debug.Print "Pre-movement address: " & Application.ActiveCell.Address
    ThisWorkbook.ActiveSheet.Cells(Application.ActiveCell.Row + 1, Application.ActiveCell.Column).Select
    Debug.Print "Post-movement address: " & Application.ActiveCell.Address

    'revert back to the original worksheet
    ThisWorkbook.Sheets(1).Activate

    'Turn screenupdates back on
    Application.ScreenUpdating = True

End Sub