我的工作表中有一个列,每个单元格中都有年份范围。 (即1995-2005)我非常了解公式,但我不知道VBA。有人可以告诉我一个脚本我可以用来将这个范围改成单个单元格中逗号分隔的年份范围。 (即1995,1995,1997等)
答案 0 :(得分:1)
以下代码转换为单元格值,如' 1995-2000'至' 1995,1996,1997,1998,1999,2000'对于Range
中指定的所有单元格,这将继续Sub commaYear()
Dim rng As Range
Dim ws As Worksheet
Dim cellValue As Range
Dim strtYear As Integer
Dim endYear As Integer
Dim tempCelValue As String
Set rng = Range("A1:A10") 'Specify your Coloumn range
For Each cellValue In rng.Cells
If (cellValue.Value <> "") Then
strtYear = CInt(Trim(Split(cellValue.Value, "-")(0)))
endYear = CInt(Trim(Split(cellValue.Value, "-")(1)))
'tempCelValue = "'"
While (strtYear <= endYear)
If (strtYear = endYear) Then
tempCelValue = tempCelValue & strtYear
strtYear = strtYear + 1
Else
tempCelValue = tempCelValue & strtYear & ","
strtYear = strtYear + 1
End If
Wend
cellValue.Value = tempCelValue
End If
Next
End Sub
答案 1 :(得分:0)
for key in sorted(mydict):
print "%s: %s" % (key, mydict[key])