Excel VBA,格式化/未知问题导致VBA无法工作

Excel VBA,格式化/未知问题导致VBA无法工作,excel,vba,Excel,Vba,1) 我的vba将列从图纸a复制并粘贴到图纸b(表格) 2) 我的下一个vba代码在这个表的顶部运行,我得到一个错误 但是,如果我手动将问题标题和数据从工作表A复制并粘贴到工作表B,我的宏(2)将起作用 另外,我应该提到导致问题的这一列是带有日期的列。但是我尝试了两种格式,常规和日期,我尝试了使用公式(=SheetA!BU1:)并粘贴到第2页,我还尝试了宏来复制和粘贴这一列。。什么都不管用 不确定是否是我的代码、表格、格式等 这是我的复制粘贴宏,类型不匹配在这里不会发生,但在我的其他代码中没有出

1) 我的vba将列从图纸a复制并粘贴到图纸b(表格)

2) 我的下一个vba代码在这个表的顶部运行,我得到一个错误

但是,如果我手动将问题标题和数据从工作表A复制并粘贴到工作表B,我的宏(2)将起作用

另外,我应该提到导致问题的这一列是带有日期的列。但是我尝试了两种格式,常规和日期,我尝试了使用公式(=SheetA!BU1:)并粘贴到第2页,我还尝试了宏来复制和粘贴这一列。。什么都不管用

不确定是否是我的代码、表格、格式等

这是我的复制粘贴宏,类型不匹配在这里不会发生,但在我的其他代码中没有出现

Sub importtodatabase(from_ws, to_ws)
    Dim rng As Range, trgtCell As Range
    Dim src As Worksheet
    Dim trgt As Worksheet
    Set src = Worksheets(from_ws)
    Set trgt = Worksheets(to_ws)
    Dim row_num As Integer
    Dim Max_row_data As Integer
    Dim source_tab As String
    Application.ScreenUpdating = False

    Sheets(to_ws).Select
    Max_row_data = get_max_row("")

    If Max_row_data <> 2 Then
        Max_row_data = Max_row_data + 1
    End If

    Sheets("Mappings").Select
    max_row = get_max_row("")


    With src
        For Each rng In Intersect(.Rows(1), .UsedRange).SpecialCells(xlCellTypeConstants)
            For row_num = 2 To max_row
                If from_ws = Range("BU" & row_num).value Then
                    If rng = Range("BV" & row_num).value Then
                        rng = Range("BW" & row_num).value
                        Exit For
                    End If
                End If
            Next row_num

            Set trgtCell = trgt.Rows(1).Find(rng.value, LookIn:=xlValues, lookat:=xlWhole)

            'If .Range(rng.Offset(1), .Cells(ws.Rows.Count, "A").End(xlUp).row

                If Not trgtCell Is Nothing Then
                    .Range(rng.Offset(1), .Cells(.Rows.count, rng.Column).End(xlUp)).copy
                    With trgt
                        .Cells(Max_row_data, trgtCell.Column).PasteSpecial xlPasteValues
                    End With
                End If
            'End If
        Next rng
    End With
    Application.ScreenUpdating = False
End Sub
子导入数据库(从\u-ws到\u-ws)
变暗rng作为范围,trgtCell作为范围
Dim src As工作表
Dim trgt As工作表
Set src=工作表(从\u ws)
将trgt=工作表设置为
Dim row_num为整数
将最大行数据调整为整数
Dim source_选项卡作为字符串
Application.ScreenUpdating=False
图纸(至图纸)。选择
最大行数据=获取最大行(“”)
如果最大行数据为2,则
最大行数据=最大行数据+1
如果结束
图纸(“映射”)。选择
最大行=获取最大行(“”)
与src
对于Intersect(.Rows(1),.UsedRange).SpecialCells(xlCellTypeConstants)中的每个rng
对于行数=2到最大行数
如果from_ws=Range(“BU”和row_num).value,则
如果rng=范围(“BV”和行数)。则
rng=范围(“BW”和行数)。值
退出
如果结束
如果结束
下一行_num
设置trgtCell=trgt.Rows(1).Find(rng.value,LookIn:=xlValues,lookat:=xlWhole)
'If.Range(rng.Offset(1),.Cells(ws.Rows.Count,“A”).End(xlUp).row
如果不是trgtCell,则为空
.Range(rng.Offset(1),.Cells(.Rows.count,rng.Column).End(xlUp)).copy
与trgt
.Cells(最大行数据,trgtCell.Column)。粘贴特殊XLPaste值
以
如果结束
"完"
下一个rng
以
Application.ScreenUpdating=False
端接头

这个问题与前一个看起来非常相似的问题不同吗?类型不匹配发生在哪里?您还关闭了屏幕更新功能,没有包含您调用的函数。@QHarr,是的xD。我想我可以更新这个问题。类型不匹配发生在哪里?我们在哪里可以找到样本数据?这些是必要的,以便解决问题。下次请立即包含这些内容。@Luuklag,此代码中不会出现类型不匹配的情况。只是认为有人可能有问题列的经验。然后请编辑您的问题以避免混淆。