• ベストアンサー

Excelで、表を作成したいのですが…

データの整理を、各フォルダに 個人・団体名と、会員番号をつけて登録月日の順で表を作っていました しかし、先日 HDが壊れたため Excelのシートが消えてしまいました データの入ったドライブは無事だったので、  [フォルダ名をコピー]⇒[セルに貼付け] を繰り返せば同じシートが作成できます この作業を簡単なマクロで自動化する方法はないでしょうか 約1000件分なので時間を掛ければ何とかなるとは思いますが、他にも消失したデータがあり困っています どうか、よろしくお願いします//

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

フリーウェアでテキストファイルやエクセルに書き出すものもあると 思いますが、 エクセルVBAのダイアログで選択したフォルダ内のサブフォルダ一覧 をセルに書き出すサンプルコードです。 Sub getsubfol() Dim oya As String Dim fol As String Dim i As Long Dim obj As Object Dim myobj As Object Set obj = CreateObject("Shell.Application") Set myobj = obj.BrowseForFolder(0, "選択して下さい。", 0) If myobj Is Nothing Then Exit Sub oya = myobj.Items.Item.Path & "\" fol = Dir(oya, vbDirectory) Do While fol <> "" If (GetAttr(oya & fol) And vbDirectory) = vbDirectory Then If Not fol Like ".*" Then i = i + 1 Worksheets(1).Cells(i, 1).Value = fol End If End If fol = Dir() Loop End Sub

liuutaroh
質問者

お礼

早速の回答、ありがとうございます こんな数分で、作成できるコードなんですね 自分の不勉強を棚に上げる様で申し訳ありませんが、うまく貼付いてくれました 非常に助かりました、ありがとうございます //

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

フォルダの構成がどのようになっているか分からないので100%満足できる方法ではないと思いますが、Windowsのコマンド画面で >DIR ドライブ番号:\フォルダ名 > d:\DIR.TXT と入力すると、指定したフォルダのファイル一覧(サブフォルダ名も)がテキストファイルになります。 これをEXCELで開くとフォルダ名をセルに貼りつけるよりは楽に作業できませんか? テキストファイルウィザード1/3で「カンマやタブなどの…」を選択し、ウィザード2/3でスペースを区切り文字として選択してください。 サブフォルダは <DIR> という識別が入っていますので、その列でオートフィルタをかければサブフォルダ名だけ取得できます。

liuutaroh
質問者

お礼

丁寧な回答、ありがとうございます 最初に、WinXPのコマンドプロンプトで CDでのディレクトリの移動が出来ませんでした 次に 「’dir.txt’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」 との、表示のためTXTファイルが作成されず試行を断念しました ドライブだけでなくPC本体にも問題があるのかも知れません ともあれ助かりました、ありがとうございます //

関連するQ&A

  • EXCELVBAで表の作成

    はじめて質問いたします。今、とても困っています。 EXCELで表(集約)の作成を任されたのですが、いろいろホームページやマクロ、VBA関連書籍を見て 参考にして作成したいと思いまいしたが いいサンプルがありませんでした。 EXCELマクロで試してみたのですが、動作しませんでした。 内容は、ファイル内のSheet2に集約表を作成し Sheet1(全体)に形式の違う表をコピーして 各項目のセル(文字)をコピーしてSheet2の項目にリンクする表を作成することです。 なお、Sheet1のセルは結合されていて、コピーしたい項目は複数ありsheet1の表とsheet2の表の項目の場所は違います。 Sheet1コピーした表のセル(結合)を項目でコピー⇒Sheet2の項目に張付(リンク) ※項目は文字列-記号(○、△、×等)も入っています。 わかる方がいましたら プログラムを教えてください。 回答をお願いします。

  • EXCEL VBAで複数シート内のセルをまとめて表を作成

    EXCELマクロ(VBA)を教えてください。 なやんでいることは、 目的:シート1からシート5までの表の値をシート6に一覧表を作成させる。 ・シート1からシート5まで シート内の表からセル値をコピーしてマクロで(ボタンか何かで)シート6にシート1からシート5のセル値を貼り付けていくような動作をさせられるようなプログラムをつくりたいです。    表(一覧)を作成させたいので わかる方プログラミングを教えてください。よろしくお願いします。

  • 複数のエクセルを一つに貼り付け

    複数のエクセルファイルを一つのエクセルファイルの中のシートに マクロを利用してデータを貼り付ける方法はありますでしょうか? 実績表というフォルダ内に、下記のエクセルファイルがあります。 ・貼付け元のエクセルファイル名:実績表+3桁数値 →10ファイル ・1つに集計したいエクセルファイル名:実績表  ※その中に、貼付け元のファイル名と同じシート名が10シートあります。 できれば、「値の貼付け」でなはく、数式も含めた状態のデータを貼付けしたい。 是非、マクロのコードを教えていただきたく、宜しくお願い致します。

  • Excelで2つの表を1つにまとめるには?

    下図のように、2種類の表があります。 これを、1つの表にまとめ、日付順に並ばせたいのですが マクロを使わないで数式だけで行うにはどうしたらよいでしょうか。 データを手で打ち直すことは考えていません。(実際にはもっと項目が横に長い表です。) 「コピー→貼り付け→並び替え」という作業も考えていません。 ・下図では、データが「A組」では4つ、「B組」では5つとなっていますが、  実際には20個程度のデータ(数は不定)が入ります。 ・また、文字データ(名前、教科)と数値データ(得点)とが混在しています。 ・項目に当たる部分は両方の表とも同じものが入ります。 ・日付、名前は重複する場合があります。

  • Excel データの一部を別シートにコピー

    Excelで、データ行のどこかをクリックし、ボタンを押したとき、その行を別々のシートに分類してコピーさせるマクロを作りたいと思っています。 このとき、コピー先のシートをA列のデータで区別したいのです。 1.クリックした行のA列のセルを判定し、そのセルのデータを読み取る方法 2.読み取ったデータ(文字)を、コピー先シート名に指定する方法 このマクロの記述方法を教えてください。よろしくお願いします。 コピー範囲を指定し、貼り付け先のシートをアクティブにできれば、あとは記録マクロをつないで作るつもりです。

  • エクセルで表作成時に

    1書類上にいくつかの表を乗せたいのですが(上下で)、列幅の違う表を1つのエクセルシートに作ることは可能でしょうか?上の表をいじくると、変わって欲しくない下の表の部分も列幅が変わってしまいます。コピー・貼り付けでもうまくいかないので・・

  • エクセルの表をワードへリンク

    ワードにエクセルの表をリンクして、エクセルで修正した表データをワードに反映させています。 元表をコピー後、ワードで「形式を選択をして貼り付け」⇒「リンク貼り付け」 ⇒「(形式)ワークシートオブジェクト」 とした場合に、リンク元のフォルダ名が表示されてしまいます。 「リンクの設定」から「リンクの解除」を選択すれば 元表(エクセル)がそのまま表示されることは解かったのですが、 できればそのまま表が表示されるようにしたいのです。 何かワードの設定のような気もしているのですが・・教えて下さいm(__)m

  • Excelのシートから 1000個ほどのフォルダに ハイパーリンクをつけたい

    Excelのシートから 1000個ほどのフォルダに ハイパーリンクをつけたいのですが、効率の良い方法はないでしょうか 現在の手順は、以下の通りです 1.)対象フォルダ名をコピー 2.)セルを右クリック⇒ハイパーリンクの編集 3.)最近使ったファイルのアドレス履歴から>c:\データ\一覧.xls を選択 [一覧.xls]部分の替りにコピーしたフォルダ名を貼付け⇒[OK] 実際にクリックして、リンクの確認するまで約1分かかっています (1)セルの表示を変えずに、ハイパーリンクだけを一括で編集⇒シートに結合(貼付け)する方法はありますか (2)マクロを含め、何か効率の良い解決策があれば教えて下さい (3)似たシートを作成した経験のある方は、時間短縮のできそうなアドバイスをお願いします

  • エクセルの使い方

    エクセルのコピーと貼り付けについての質問です。 エクセルでワークシートに表などをセル上に作成し これを別シートに図形複写ができると聞きました。 コピーして「形式を選択して貼り付け」操作をすると思うのですが うまくいきません。 時々エクセルを2個立ち上げたとき「アイコンで表示」などがついた 「形式を選択して貼り付け」メニューが出てきます。 いつでもセルのデータを図形として貼り付ける方法どなたか 教えてください。

  • Excelの表をコピーした時

    Excel2003を使用しています。 2つ質問ですが 行と列幅を変更した表を作り別のシートへ作成した表を(行と列幅を変更した)行と列幅とデーターも他のシートへコピーできないでしょうか? セルの枠に2.3行の文字を入れる方法 現在は行の幅を広げてから、メモ帳で打ち込んでから2行、3行のデーターを改行してコピーし数式バーへ貼り付けしています。

専門家に質問してみよう