将Excel中的Chr(10)替换为Chr(13)+Chr(10)以导入Access
问题是Excel中的换行符使用Char10,而Access中的换行符使用Char13和Char10。因此,当您从Excel导入Access时,Excel中的换行符都位于Access中的同一行 我通过点击按钮自动导入,以便在输入之前对一些数据进行消毒。我想在致敏剂中添加这个,但我遇到了问题:将Excel中的Chr(10)替换为Chr(13)+Chr(10)以导入Access,excel,vba,ms-access,Excel,Vba,Ms Access,问题是Excel中的换行符使用Char10,而Access中的换行符使用Char13和Char10。因此,当您从Excel导入Access时,Excel中的换行符都位于Access中的同一行 我通过点击按钮自动导入,以便在输入之前对一些数据进行消毒。我想在致敏剂中添加这个,但我遇到了问题: ' Remove blank cells that aren't blank (i.e., pasting values of formulas with no value) xl.ActiveSheet.U
' Remove blank cells that aren't blank (i.e., pasting values of formulas with no value)
xl.ActiveSheet.UsedRange.Select
xl.Selection.Value = xl.Selection.Value
' Replace line breaks and carriage returns with something Access recognizes
xl.Selection.Value = Replace(xl.Selection.Value, Chr(10), Chr(13) + Chr(10))
' OR this....
xl.ActiveSheet.Selection.Replace _
What:=Chr(10), Replacement:=Chr(13) + Chr(10), _
SearchOrder:=xlByColumns, MatchCase:=False
第一种方法产生:
Run-time error '13': Type mismatch
Run-time error '438': Object doesn't support this property or method
第二种方法产生:
Run-time error '13': Type mismatch
Run-time error '438': Object doesn't support this property or method
我在这里哪里出错了?还有什么更好的方法呢?没关系,在发布几分钟后就想出来了:
xl.Selection.Replace What:="" & Chr(10) & "", Replacement:="" & Chr(13) & Chr(10) & "", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
要保留Excel数据,您也可以在导入MS Access后运行以下查询: 使现代化 你的桌子 设置 t、 YourField=replace.YourField,Chr10,Chr13&Chr10 哪里 t、 YourField like*&Chr10&*和 t、 YourField不像*&Chr13&Chr10&*