|    | 
     VBA初心者です。 
■下ような英文と!の羅列したテキストのデータがあります。 
interface FastEthernet0/1 
shutdown 
! 
hostname ABC 
! 
vlan internal allocation policy ascending 
vlan access-log ratelimit 2000 
! 
vlan 220-221,306  
vlan 2105-2107,3100-3103  
! 
snmp-server 
! 
 
▼したいこと 
(1)フォルダ内のファイル(拡張子は.log)を開く 
 ※エクセルで開くか、そのまま.logファイルとして開く 
 ※ファイルは数百個あります。 
(2)一行目から順に読んで行き、「vlan 数字」という行をみつけたら数字だけを取り出して新しいブックに記入。 
 ただし、「-」は数字の連番を表しており、間に入る数の分だけ空白セルを入れたい 
 例:220-221なら220,221(空白セル無し) 
   3100-3103なら3100,  ,  ,3103(空白セル2つ) 
 ※できれば3101,3102など間の数字を自動入力したい(出来なければ後から手入力します)連番数はファイルによって異なります。 
 ※区切り文字でセルを分ける、横一列を縦一列に入れ替える作業はマクロの記録で出来ました。 
 ※!や他の英文は読み飛ばします 
(3)「hostname ABC」の"ABC"部分だけ取得し、C列を参照して、C列の行数分B列に入力 
(4)現在のINPUTファイルを閉じて、次のファイルを開く。以下(1)〜(4)の作業を繰り返し、フォルダ内全てのファイルを処理します。 
 ※すべてのファイルで異なるのは「hostname 」後のABC部分(本来は10文字前後)と、「vlan 」あとの始まる数字(1〜9のどれか)、数字の数です。 
 
OUTPUTブックは同じブックで、最終的に下記のような形で表を作りたいのですが、コードを教えていただけないでしょうか。 
 
     A     B     C     D 
1        ホスト名  vlan ID 
2          ABC    220 
3          ABC    221 
4          ABC    306 
5          ABC    2105 
6          ABC    2106 
7          ABC    2107 
8          ABC    3100 
9           ABC    3101 
10         ABC    3102 
11         ABC    3103 
12         DEF    101 
13         DEF    206 
14         GHI    1100 
15         GHI    1101 
16         GHI    1102 
 
 
お分かりになる方がいらっしゃいましたら、お願いいたします。 
 | 
     
    
   |