在现有的Excel电子表格中,我正在创建一个宏以根据第一行中输入的内容自动填充行。根据一周中的几天,总共将有7行。到目前为止,我已经成功完成了其余字段,但是一个单元格有一个带有值的组合框。
Sunday=1
Monday=2
Tuesday=3
Wednesday=4
Thursday=5
Friday=6
Saturday=7
每行必须获取每个值之一。记录宏时,我一一记录这些值,但是单击按钮运行宏时,它不会创建这些值。有什么建议么? 顺便说一句,在没有组合框的情况下,我可以在其他单元格中创建这些值,然后通过宏在此列中进行复制,但是当我使用组合框时,我无法这样做。
这是Macro生成的VBA:
Sub AList()
'
' AList Macro
'
'
Selection.AutoFill Destination:=Range("A4:A10"), Type:=xlFillCopy
Range("A4:A10").Select
Range("B4").Select
Selection.AutoFill Destination:=Range("B4:B10"), Type:=xlFillCopy
Range("B4:B10").Select
Range("C4").Select
Selection.AutoFill Destination:=Range("C4:C10"), Type:=xlFillCopy
Range("C4:C10").Select
Range("E4").Select
Selection.AutoFill Destination:=Range("E4:E10"), Type:=xlFillCopy
Range("E4:E10").Select
Range("D10").Select
End Sub
Col D(在Combobox中具有“星期几”,如先前所列)没有被记录。 请指导我是否以及如何需要修改此vba代码。
答案 0 :(得分:1)
编辑了我的答案,并测试了以下代码。似乎可以工作:
Sub AList()
Dim c As Range
Dim x As Integer
Dim days(1 To 7) As Variant
days(1) = "Sunday"
days(2) = "Monday"
days(3) = "Tuesday"
days(4) = "Wednesday"
days(5) = "Thursday"
days(6) = "Friday"
days(7) = "Saturday"
Range("A4:A10").Value = Range("A4").Value
Range("B4:B10").Value = Range("B4").Value
Range("C4:C10").Value = Range("C4").Value
x = 1
For Each c In Range("D4:D10")
c.Value = days(x)
x = x + 1
Next c
Range("E4:E10").Value = Range("E4").Value
End Sub