我是使用VBA的初学者。
我想将值复制并粘贴到特定范围内第一个空白单元格中的另一个工作表。
例如,工作表1是总分类帐:
单元格K14包含借方金额。单元格l14包含信用额度。
我想使用基于F14中文本的下一个可用单元格将K14或K15中的金额复制并粘贴到特定范围内的表单2中。
如果是“现金”,那么范围= sheet2 D1:D10。如果租金然后粘贴到范围表2 D20:D30等。
任何帮助都将不胜感激。
答案 0 :(得分: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