vba自定义单元格格式

vba自定义单元格格式,vba,excel,format,cells,Vba,Excel,Format,Cells,我需要用简单的千格式自定义单元格,比如1000,没有任何分隔符或小数 但是,我希望在输入时删除除数字以外的文本字体 例如,我想输入120118,但在我的论文中,我复制了这些数字,它被格式化为日期,因此是2018年1月12日。我需要Excel在键入后将其保持为120118,删除斜杠/。我在access查询中看到过类似的设置。您是否尝试过仅使用以下内容粘贴单元格值: Selection.PasteSpecial Paste:=xlPasteValues 或者只需清除单元格格式,然后用所需格式重新格

我需要用简单的千格式自定义单元格,比如1000,没有任何分隔符或小数

但是,我希望在输入时删除除数字以外的文本字体


例如,我想输入120118,但在我的论文中,我复制了这些数字,它被格式化为日期,因此是2018年1月12日。我需要Excel在键入后将其保持为120118,删除斜杠/。我在access查询中看到过类似的设置。

您是否尝试过仅使用以下内容粘贴单元格值:

Selection.PasteSpecial Paste:=xlPasteValues
或者只需清除单元格格式,然后用所需格式重新格式化即可。

尝试:

选择范围 主页>数字>数字格式或Ctrl+1我认为>自定义 输入ddmmyy 可以 可以通过编程方式完成,例如

Thisworkbook.worksheets("Sheet1").range("A1:A50").numberformat = "ddmmyy"
上述内容仅为视觉/外观上的变化,每个单元格的内部值仍将是一个日期,从技术上讲是一个数字,用于计算


但是,如果我误解了,而您希望从2018年1月21日开始到210118号,我认为您需要获取范围值,格式为DDMMYY字符串,然后clng-或者DD*10000+MM*100+YY可能有效,然后将格式设置为000000以保留前导零。

听起来您需要针对该列的工作表更改事件的代码。或者,如果只是为了视觉上的改变,使用自定义的NumberFormat DDMMYY听起来像是希望这些单元格有一个NumberFormat。选择单元格,按Ctrl+1键,转到数字选项卡,然后输入您的格式,例如000000。也就是说,这个问题不适合这个网站。我不知道为什么会得到答案-请参阅和。嗨,谢谢你的帮助。我需要excel自动转换键入的数据,实时,而不是在运行宏之后;因此后来发生了变化。嗨,让我澄清一下:嗨,让我澄清一下:输入数据可能同时从4位数字千变化,没有前导零,我不需要或日期31/12/18,ddmmyy。因此,如果在A1范围内输入3112作为数字,我希望它保存fomat数字本身,但如果输入31/12/18,我需要它转换为返回3112的千位数格式,与之前的输入相同。我试过[>40000]gmm;因为日期数表达式总是超过40000。但是,在输入日期的情况下,它保留日期格式,而不是转换。有什么想法吗?谢谢我现在没有答案,但使用vba或Excel工作表功能,你可以完成你想要的。大家好,我已经解决了:1我自定义单元格设置如下:[>40000]ddmm 2然后复制和pste XLValues和NumberFormats。谢谢