首页 > 解决方案 > 如何在我的数据输入表单中正确使用 excel 数据类型?

问题描述

问题总结

我正在尝试为我重视并遇到困难的股票创建一个数据库。我正在尝试创建一个强大的数据输入表,使该过程更容易,我正在通过使用 VBA 来做到这一点。我正在尝试使用“股票”数据类型函数使用以下行将股票代码复制到数据库中:

.Cells(iRow, 3).Value = frm.Range("F5").Value

但是,当它被复制到数据库时,它会吐回#VALUE!错误。

我试过的

我试图指定RangeValueDataType但这似乎不是我想要的。我还尝试将 Range 语法与.ConvertToLinkedDataType一起更改为.Value2,梯形图将数据库中的最终输出从 #VALUE 更改了!为“真”。

附加代码

这是 sub 开头的代码,可能会对正在发生的事情有所了解:


    Dim frm As Worksheet
    Dim database As Worksheet
    
    Dim iRow As Long
    Dim iSerial As Long
    
    Set frm = ThisWorkbook.Sheets("input")
    
    Set database = ThisWorkbook.Sheets("database")
    
    If Trim(frm.Range("L1").Value) = "" Then
        
        iRow = database.Range("B" & Application.Rows.Count).End(xlUp).Row + 1
        
        If iRow = 2 Then
        
            iSerial = 1
        
        Else
        
            iSerial = database.Cells(iRow - 1, 2).Value + 1
        
        End If
        
    Else
    
        iRow = frm.Range("K1").Value
        iSerial = frm.Range("L1").Value
        
    End If

我对 VBA 的理解非常初级,所以我确信这很简单,我只是不了解我正在使用的功能。非常感谢任何帮助,谢谢!

标签: excelvba

解决方案


感谢Harry Lee,我想通了。我最终不得不按照他的建议使用复制功能,并得到以下结果:

    frm.Range("F5").Copy
    database.Select
    .Cells(iRow, 3).Select
    database.Paste

推荐阅读