VBA怎么自动刷新

原问题:VBA怎么自动刷新
分类:编程开发 > 最后更新时间:【2017-08-01 13:24:12】
问题补充:

VBA中,我要在A行这里录入资料,B:I行就会自动取资料出来?

比如A行,我录ABC12345 b:I,就会自动填A,B,C,1,2,3,4,5

补充:语句是什么,麻烦大神写一句给我

最佳答案

Private Sub Worksheet_Change(ByVal Target As Range)

v = Target.Value

r = Target.Row

c = Target.Column

len1 = Len(v)

Application.EnableEvents = False

For i = 1 To len1

Cells(r, c + i) = Mid(v, i, 1)

Next

Application.EnableEvents = True

End Sub

任意单元格、任意长度字符串,自动在右侧分列成单个的字符。

追答:
只要是你主动更改的都会自动更新。
  • 追答:
    注意:不要随意双击单元格后再回车,这样系统会认为是你在更新单元格内的内容了。不要养成坏习惯。如果不小心双击了不想更改的单元格,按ESC键退出即可。
    最佳答案由网友  傲乡  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    17

    分享到:

    其他回答

    其它网友回答:
    你说的是公式的自动重算吧?可以在工具--选项--公式 把手工计算改成自动重算,就不用按F9了VBA中的语句如下:手工计算 With Application .Calculation = xlManual ....

    其它网友回答:
    你的这个不用VBA的,直接用公式就可以了

    其它网友回答:
    B1  =MID(A1,1,1)

    其它网友回答:
    C1  =MID(A1,2,1)

    其它网友回答:
    D1 = MID(A1,3,1)

    其它网友回答:
    ....

    其它网友回答:
    当你A写数据时,后面的单元会自动刷新的


    追问:
    公式我都懂,我是想学VBA这种情况要怎么解决

    其它网友回答:
    非要用VBA?

    其它网友回答:
    函数就可以解决,干嘛非要用VBA呢!

    其它网友回答:

    其它网友回答:
    函数法:

    其它网友回答:

    其它网友回答:

    其它网友回答:
    B1填公式:

    其它网友回答:
    =MID($A1,COLUMN(A:A),1)

    其它网友回答:
    向右、向下填充!

    其它网友回答:

    其它网友回答:
    VBA法:

    其它网友回答:

    其它网友回答:

    其它网友回答:
    代码:

    其它网友回答:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    其它网友回答:
       If Target.Column = 1 Then

    其它网友回答:
          hs = Target.Row

    其它网友回答:
          Cells(hs, 2) = Mid(Cells(hs, 1), 1, 1)

    其它网友回答:
          Cells(hs, 3) = Mid(Cells(hs, 1), 2, 1)

    其它网友回答:
          Cells(hs, 4) = Mid(Cells(hs, 1), 3, 1)

    其它网友回答:
          Cells(hs, 5) = Mid(Cells(hs, 1), 4, 1)

    其它网友回答:
          Cells(hs, 6) = Mid(Cells(hs, 1), 5, 1)

    其它网友回答:
          Cells(hs, 7) = Mid(Cells(hs, 1), 6, 1)

    其它网友回答:
          Cells(hs, 8) = Mid(Cells(hs, 1), 7, 1)

    其它网友回答:
          Cells(hs, 9) = Mid(Cells(hs, 1), 8, 1)

    其它网友回答:
       End If

    其它网友回答:
    End Sub

    其它网友回答:


    追答:
    既然你会用VBA,那编辑的方法就不用我再说了吧!
    追问:
    大神,我在A行输入数据后,光标没有在点回去的话,它就不会自动刷新。这个可以解决的吗?
    追答:
    我不明白你讲的“光标没有在点回去的话,它就不会自动刷新”是什么意思。 这段VBA代码,利用的是“工作表变更事件响应代码”。 在A列输入完毕并按下回车后,Excel就会检测到“工作表变更”,从而触发“变更事件响应代码”。 如果输入完毕后不按回车键,Excel有可能检测不到“工作表变更”。
      推荐