指定した文字の行からデータ区切り
office2010&Win7Pro(32bit)です。
以下のマクロはtxtデータをExcelで開いて区切る、というマクロです。
<マクロ>
Range("A15").Select
Range(Selection, Selection.End(xlDown)).Select
With Selection.Font
.Name = "MS ゴシック"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.TextToColumns Destination:=Range("A15"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(16, 2), Array(47, 1), Array(73, 1), Array(89, 1), _
Array(113, 1))
Cells.Select
With Selection.Font
.Name = "MS Pゴシック"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
<説明>
1. セルA15からデータのあるセルまで選択
2. 1.の状態でフォントを「MS ゴシック」にする ※桁数を揃えるため
3. 1.の状態で区切る
4. 1.の状態でフォントを「MS Pゴシック」に戻す
行位置は都度変更するため、1.と3.の”A15”部分を”指定した文字(例:○○○)”にしたいのです。
1.に関しては「Range("A15").Select」部分を下記マクロに置き換えればできると思いますが、3.の部分をどのようにしたらよろしいでしょうか?
Columns("A:A").Select
Selection.Find(What:="○○○", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset(0, -1).Select
※ActiveCell.Offsetは指定した文字があるセル単体を指定するためにわざわざ入れています
お礼
ありがとうございます まさにやりたいことそのままでした 本当にありがとうございます かなり悩んでいたので助かりました ありがとうございました