Excel 将字符串从内存粘贴到ActiveCell

Excel 将字符串从内存粘贴到ActiveCell,excel,vba,Excel,Vba,我想先检查一下,如果ActiveCell是空的,那么只需: Application.DisplayAlerts = False ThisWorkbook.Worksheets("Data").Range("A1:B1").Copy ActiveCell.Offset(0, -1).PasteSpecial Application.CutCopyMode = False Application.DisplayAlerts = True 如果ActiveCe

我想先检查一下,如果ActiveCell是空的,那么只需:

    Application.DisplayAlerts = False
    ThisWorkbook.Worksheets("Data").Range("A1:B1").Copy
    ActiveCell.Offset(0, -1).PasteSpecial
    Application.CutCopyMode = False
    Application.DisplayAlerts = True
如果ActiveCell不是空的,我想:

  • 将activecell值存储在内存中
  • 从另一张图纸复制具有特定格式的范围
  • 粘贴范围从另一张图纸到带偏移的AciveCell
  • 将值从内存粘贴到ActiveCell
  • 我不知道如何将值从内存粘贴到ActiveCell。有什么提示吗

    这是我目前的代码:

    Sub TimescheduleIndent1()
    
        Dim KeepMeInMemory As String
    
        If Intersect(ActiveCell, ThisWorkbook.Worksheets("Timeschedule").Range("B8:B90")) Is Nothing Then
    
        Else
    
            If ActiveCell = "" Then
    
            Application.DisplayAlerts = False
            ThisWorkbook.Worksheets("Data").Range("A1:B1").Copy
            ActiveCell.Offset(0, -1).PasteSpecial
            Application.CutCopyMode = False
            Application.DisplayAlerts = True
    
            Else
    
            Application.DisplayAlerts = False
    
            ActiveCell = KeepMeInMemory
    
            ThisWorkbook.Worksheets("Data").Range("A1:B1").Copy
            ActiveCell.Offset(0, -1).PasteSpecial
            ActiveCell.Offset(0, 0).PasteSpecial xlPasteValues ' Here should come value from memory *KeepMeInMemory*
            Application.CutCopyMode = False
            Application.DisplayAlerts = True
    
            End If
    
        End If
    End Sub
    

    整个代码仅适用于范围
    B8:B90
    。如果ActiveCell不在范围内,则什么也不做。

    我认为这是因为您试图在此处存储ActiveCell值

    ActiveCell = KeepMeInMemory
    
    它试图做的是将
    ActiveCell
    设置为变量
    KeepMeInMemory
    ,该变量为空,因为您没有为其分配任何内容。相反,你需要做的是

    KeepMeInMemory = ActiveCell.value
    
    如果你真的想给这个变量设置一个单元格值,你需要这样分配它

    ActiveCell.Offset(0, -1).value = KeepMeInMemory
    

    我想这就是您要做的。

    那么为什么不使用变量呢?你似乎在使用变量,所以看起来这对你来说并不困难。还是这对我来说太简单了?>
    Dim KeepMeInMemory
    KeepMeInMemory=ActiveCell.Value
    ActiveCell=KeepMeInMemory
    -这将
    KeepMeInMemory
    的值加载到活动单元格中。你确定这就是你对那部分代码的想法吗?该死,谢谢你们!我只是被卡住了。。。