Excel 分离单元格中的数据并复制到另一列
我有一个名为Description的列,其中包含费用说明和费用日期。我从中获取它的文件没有正确的开支日期 我想分离数据,将日期复制到费用日期列,并将剩余的说明粘贴到说明列 我心目中的逻辑是复制数据并粘贴到一个隐藏列,然后使用此代码进行分离Excel 分离单元格中的数据并复制到另一列,excel,date,vba,Excel,Date,Vba,我有一个名为Description的列,其中包含费用说明和费用日期。我从中获取它的文件没有正确的开支日期 我想分离数据,将日期复制到费用日期列,并将剩余的说明粘贴到说明列 我心目中的逻辑是复制数据并粘贴到一个隐藏列,然后使用此代码进行分离 Sub text2column() selection.TextToColumns Destination:=Range("S1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 3), A
Sub text2column()
selection.TextToColumns Destination:=Range("S1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 3), Array(6, 1)), TrailingMinusNumbers:=True
但是,我需要从具有资源名称的行(例如Name1、Name2、Name3等)开始粘贴/覆盖,保留不可用的资源,并且不接触不可用的资源的描述
我喜欢您基于当前属性的流程。我有一些样板框架,用于处理中选定的单元格
我增加了骑自行车穿过街道的功能。这将允许您在当前选择的不连续单元格范围内循环(例如A2:A10、A15:A20)。如果您选择了单个单元格块,那么它的属性为1,因此不会造成任何损害。非常感谢Jeeped提供了这段精彩的代码。 我解决了如何跳过更新具有“notavailable”值的行的问题,并得出了这段代码
Sub splitDescription()
Dim tmp As String, rng As Range
With selection
For Each rng In .Areas
With rng
tmp = Cells(.Cells(1).Row, 16383).Address
.TextToColumns Destination:=.Parent.Range(tmp), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 3), Array(6, 1))
.Offset(0, -2) = .Parent.Range(tmp).Resize(.Rows.Count, 1).Value
.Cells = .Parent.Range(tmp).Resize(.Rows.Count, 1).Offset(0, 1).Value
.Parent.Range(tmp).Resize(1, 2).EntireColumn.Clear
End With
Next rng
End With
Range("I4").Select
End Sub
Sub findresource()
Range("C6").Select
Do While ActiveCell.Value = "Not Available"
selection.Offset(1, 0).Select
Loop
selection.Offset(0, 5).Select
Range(selection, selection.End(xlDown)).Select
Call splitDescription
End Sub
十月份是不是102816homeoffice?这将使基于固定宽度的文本列混乱。不,应该是2016年1月28日,数据是012816 Home officeSorry,因为它太迟钝。我想问的是,在2016年12月25日,家庭办公室前面的5位数字是否曾经变成6位数字,例如,
122516家庭办公室
。因此,在2016年1月1日的情况下,它们是否变为4位数?e、 g.1116家庭办公室
。不。数字固定为6位。2016年1月1日将是010116总部感谢您的这辆吉普车。我将尝试使用您的代码,并将就此向您提供反馈。再次谢谢你道歉。但我还不能给出反馈。我仍在解决如何告诉程序保留不可用的资源。我还将张贴代码,一旦我解决了它。谢谢:)
Sub splitDescription()
Dim tmp As String, rng As Range
With selection
For Each rng In .Areas
With rng
tmp = Cells(.Cells(1).Row, 16383).Address
.TextToColumns Destination:=.Parent.Range(tmp), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 3), Array(6, 1))
.Offset(0, -2) = .Parent.Range(tmp).Resize(.Rows.Count, 1).Value
.Cells = .Parent.Range(tmp).Resize(.Rows.Count, 1).Offset(0, 1).Value
.Parent.Range(tmp).Resize(1, 2).EntireColumn.Clear
End With
Next rng
End With
Range("I4").Select
End Sub
Sub findresource()
Range("C6").Select
Do While ActiveCell.Value = "Not Available"
selection.Offset(1, 0).Select
Loop
selection.Offset(0, 5).Select
Range(selection, selection.End(xlDown)).Select
Call splitDescription
End Sub