VBA转换为单元格中的粗体数字

时间:2018-10-04 11:26:29

标签: excel vba excel-vba

每周我需要在工作中执行一项活动,该活动主要包括提取报告以及接下来一周将要发生的活动,并将其格式化为我们公司使用的沟通模板。由于我们需要在每个站点发送一次通信,并且其中有一些通信,因此我已经使用宏自动完成了大部分工作,但是还有最后一件事可以使此电子表格完美运行-作为我们内部通信的标准,活动必须以粗体显示,这就是我要坚持的地方。

我对VBA编程了解不多,但是我正在尝试一些事情,到目前为止,我不得不在单元格中加粗文本的一部分,但是当涉及到数字时,什么也没发生,我也不知道确切原因-我认为这是因为HH:MM或MM / DD / YYYY只是显示数字的代表形式,例如254225将是09/02/2010。

我要更改的单元格带有以下信息

10/04/2018 15:22

我需要他们成为

10/04/2018 15:22

它将大大减少执行此活动所需的时间-从2小时减少到30分钟左右。

非常感谢所有回复,在此先感谢您。

2 个答案:

答案 0 :(得分:3)

如果使用像MM/DD/YYYY HH:MM这样的数字/日期格式,我不知道有什么方法只格式化时间粗体。我很确定这仅适用于文本。

因此,我建议将日期和时间分为2个不同的列:

因此将例如具有公式=A:A的A列的日期重复到B列,然后格式化这些列

A                   B
10/04/2018 15:22    =A:A
  1. 数字格式列A MM/DD/YYYY仅显示日期部分。
  2. 数字格式B列HH:MM,因此它仅显示时间部分。
  3. 将B列的格式设置为粗体。

结果将是

A                   B
10/04/2018          15:22

在2个不同的列中(其中B列为粗体)。

答案 1 :(得分:3)

说我们在 A 列中有真实的日期/时间,例如:

10/10/2018 23:30
10/31/2018 06:30
09/26/2018 20:44
11/17/2018 07:11
10/13/2018 16:16
09/20/2018 13:26
10/08/2018 01:06
11/10/2018 14:33
10/16/2018 11:28
11/16/2018 11:53
10/20/2018 08:51
11/23/2018 04:25
10/21/2018 12:41
10/29/2018 14:35
10/14/2018 16:09
11/15/2018 11:56
11/20/2018 10:16
09/21/2018 22:45
10/21/2018 17:55
10/21/2018 19:29

运行此简单宏将:

  • 将它们转换为文本
  • 增加时间部分


Sub marine()
    Dim rng As Range, r As Range
    Set rng = Intersect(Columns(1), ActiveSheet.UsedRange)
    For Each r In rng
        r.Value = "'" & r.Text
        r.Characters(12, 5).Font.Bold = True
    Next r
End Sub

enter image description here