首页 文章

基于相邻小区中的标准将数据粘贴到范围中的下一个空白单元格中

提问于
浏览
0

我是使用VBA的初学者 .

我想将值复制并粘贴到特定范围的第一个空白单元格中的另一个工作表 .

例如,工作表1是总帐:

  • 单元格F14包含文本(租金,现金或应收帐款等)

  • 单元格K14包含借方金额 . 单元格l14包含信用额度 .

我想使用基于F14中文本的下一个可用单元格将K14或K15中的金额复制并粘贴到特定范围内的表单2中 .

如果它是“现金”那么范围= sheet2 D1:D10 . 如果租,则粘贴到范围表2 D20:D30等 .

任何帮助,将不胜感激 .

1 回答

  • 0

    我认为这里有一些代码可以获得范围内的下一个可用空闲单元格

    Sub capturedata()
    
    Dim sheet1, sheet2 As Worksheet
    Dim testValue As String
    Dim cashRange, rentRange As Range
    
    Set sheet1 = ActiveWorkbook.Sheets("Sheet1") ' general ledger
    Set sheet2 = ActiveWorkbook.Sheets("sheet2")
    
    testValue = sheet1.Range("F14") ' the cell with rent, cash, etc in it
    
    'the ranges
    Set cashRange = sheet2.Range("D1:D10")
    Set rentRange = sheet2.Range("D20:D30")
    
    Select Case testValue 'based on what is in "f14"
        Case "Rent"
            'paste from k14
            '****I believe the below is the part you're really concerned with***
    
            For Each cell In cashRange
                If cell.Value = "" Then 'first empty cell
                        cell.Value = sheet1.Range("k14") 'make this more dynamic with a for loop if needed
                    Exit For
                End If
            Next cell
        Case "Cash"
    
            'paste from k15
            For Each cell In rentRange ' make into a function to avoid repeated code
                If cell.Value = "" Then 'first empty cell
                        cell.Value = sheet1.Range("k14")
                    Exit For
                End If
            Next cell
    
        Case "Accounts Receivable"
           'add a for loop here  based on other criteria
        Case Else
        'case not met
    
    End Select
    
    
    End Sub
    

相关问题