使用VBA宏更改dd / mm / yyyy hh:mm:ss到dd / mm / yyyy

时间:2017-11-08 15:49:02

标签: excel vba excel-vba date

需要帮助:)

我需要你的帮助才能使用VBA将dd / mm / yyyy hh:mm:ss更改为dd / mm / yyyy,所以我不必每次都手动执行此操作。

的startDateTime

  static void writeFileKML(ArrayList<String[]> a, String output) {
    ArrayList<String> content = new ArrayList<String>();
    String kmlstart = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
            "<kml xmlns=\"http://www.opengis.net/kml/2.2\">\n";
    content.add(kmlstart);

    String kmlend = "</kml>";
    try{
        FileWriter fw = new FileWriter(output);
        BufferedWriter bw = new BufferedWriter(fw);
        for (int i = 1; i < a.size(); i++) {
            String[] s = a.get(i);
            String kmlelement ="<Placemark>\n" +
                    "<name>"+s[6]+"</name>\n" +
                    "<description>"+s[6]+"</description>\n" +
                    "<Point>\n" +
                    "<coordinates>"+s[3]+","+s[2]+"</coordinates>" +
                    "</Point>\n" +
                    "</Placemark>\n";
            content.add(kmlelement);
        }
        content.add(kmlend);
        String csv = content.toString().replaceAll(",", "").replace("[", "").replace("]", "");
        bw.write(csv);
        bw.close();
    } 
    catch (IOException e) {
        e.printStackTrace();
    }
}

谢谢

3 个答案:

答案 0 :(得分:0)

如果您对使用VBA格式化它感兴趣,这是一个很好的资源,可以直接从Microsoft VBA语言参考网页帮助您。从这里您可以使用整个范围对其进行格式化,也可以循环访问数据。以下是一些很好的参考资料,可以帮助您入门

Formatting by range

How to use loops

尝试使用这些方法,如果您仍然遇到问题,请回来,我们可以为您的代码提供帮助

答案 1 :(得分:0)

如果您将格式化结果返回到单元格,则由于单元格格式,它可能会将自身重新格式化为原始格式。

您可以更改单元格的格式(如果您的数据在一列中,则可以更改整个列),以便以所需的格式显示。

选择列,从标题中打开上下文菜单,然后选择“格式化单元格”。

在打开的对话框中,在类别列表中选择“自定义”,然后在右侧从列表中选择所需的格式。

编辑: 至于原始问题,您需要Format()函数。

答案 2 :(得分:0)

`DateValue(Range("A1"))`

这是一个内置函数,可以在大多数情况下完成。