Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何写入其他工作表中的当前单元格_Vba_Logging_Xls - Fatal编程技术网

Vba 如何写入其他工作表中的当前单元格

Vba 如何写入其他工作表中的当前单元格,vba,logging,xls,Vba,Logging,Xls,我有一个宏,可以在一个大列表中进行更改。 目前,我为我所做的每一个更改都显示一个msgbox(),这相当有侵入性。 相反,我想将所有这些更改写入日志文件 但是如果可以避免的话,我不想记住我在日志文件中的哪一行 因此,我需要一种方法来写入日志文件中的CurrentCell,而不激活它,然后将CurrentCell向下移动一行 有没有一个简单的方法可以做到这一点 thanx,Gijs.要在工作表中获取当前单元格,我认为您需要激活它,但您可以关闭屏幕更新,以便用户实际上不知道焦点的变化 下面的代码执行

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

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

因此,我需要一种方法来写入日志文件中的CurrentCell,而不激活它,然后将CurrentCell向下移动一行

有没有一个简单的方法可以做到这一点


thanx,Gijs.

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

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

我希望这有帮助, 安德鲁


是的,有一种方法可以做到这一点。请编辑您的问题,以包含代码的相关部分。此外,您可能还想看看。OP特别要求提供一种不需要激活电池的解决方案。使用Activate方法来使用ActiveCell或Selection对象几乎从来都不是一个好主意。是的,但OP也说“如果可以避免的话,我不想记住我在日志文件中的哪一行。”这是我通常避免使用activate cell方法的方法,也就是说,只使用一个整数变量来包含行计数,在每个条目后递增。不是我个人的方式,而是我能达到的最接近规定要求的方式。
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