• ベストアンサー

シートタブの文字列の一部を取得したい

Excelのシートタブの文字列が #####_##_20021215_###_######_######となっています。 20021215の部分だけを取得し、任意のセルに表示したいのです。 (できれば、2002年12月15日としたい) VBAでやる方法をお教えください。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

当方、Excel97ですが、質問にあるような長いシート名は入力できませんでした。 とりあえず、処理例です。 標準モジュールに貼り付けます。 アクティブなシートに対して作用します。今は結果をA1セルに書き込んでいます。 ↓ Sub getPartSheetName()   Dim sNM As String 'シート名から取り出した部分   sNM = Mid(ActiveSheet.Name, 10, 8)   Range("A1") = Format(DateSerial(Mid(sNM, 1, 4), Mid(sNM, 5, 2), Mid(sNM, 7, 2)), "yyyy年m月d日") End Sub

shonenA
質問者

お礼

早速のご回答感謝いたします。うまくいきました。 このシート名は好き好んで付けたものではなく、データベースからDLしたcsvファイルに付けられていたものでした。どうもありがとうございました。

関連するQ&A

  • 文字列の削除の仕方について

    まだVBAはじめたばかりですがよろしくお願いします。 Excel2000を使ってます。以下のことをマクロで行いたいのですが やり方がわかりませんので教えてください。 あるセル内に「11月15日[晴れ] ○○」という文字列がはいってます。 そのうち[晴れ]の部分だけ([部分から]部分までを)削除した文字列をその隣の セルにコピーしたいのです。 よろしくご教授お願いします。

  • EXCELで文字列の特定の文字の位置を知る方法

    EXCELで文字列の特定の文字の位置を知る方法 EXCELでセル中の文字列、例えば、"abc 4/3 5/5 6/4" の最後の"/"の位置を知る方法を関数の組み合わせで出来ますか? 教えてください。"/"の数は任意で最後の"/"の位置を知りたいのですが??? どうかよろしくお願いします。VBAでなく関数の組み合わせでお願いします。

  • Excelでセル内の文字列のみをコピーする方法

    Excelでセル内の文字列のみをクリップボードにコピーする方法を教えてください。 ※クリップボードにコピーをする方法であり、他のセルに値のみをペーストする方法ではありません。 満たしたい点は2つです。 ・表示している文字列のみを取得 ・複数のセルを同時にコピー 一つのセルに以下の文字列が入っていた場合(#以外) #123 #"abc" コピーするとクリップボードを文字列として取得すると以下の文字列が得られます #"123 #""abc""" これを以下の文字列が得られるようにしたいのです。 #123 #"abc" 1つのセルだけでいい場合は、セルを編集状態にしてコピーしたり アクティブセルの数式バーをコピーすればいいのですが、 これは当然、複数のセルを同時に選択する場合には使えません。 VBAを使う方法でもそうでなくてもかまいません。 (VBAの場合はコードもお願いしたいです) よろしくお願いします。

  • 目的の文字列を取得するには?

    ×××× 2011年10月6日 ×××××× というような文字列から日付の部分を取り出そうとしています。 if (mb_ereg("([0-9]{4})年([0-9]{2,})月([0-9]{2,})日",$string,$result)){ echo $result; } という方法で取得しようとしているのですが、失敗します。 半角数字と全角の漢字が混在しているような文字列から、目的の部分を取得する にはどうすればいいでしょうか?

    • ベストアンサー
    • PHP
  • 表示されている文字列を取得するエクセル関数

    例えば、 A1セル「平成28年1月5日」(シリアル値で入力) A2セル「H28.1.5」(シリアル値で入力) A3セル「12345」(数値) と入っている場合に、 関数を使って、 B1セル「平成28年1月5日」(文字列) B2セル「H28.1.5」(文字列) B3セル「12345」(文字列) と表示させることはできるでしょうか? 形式を選択して貼り付け、とか、VBAでできるのはわかるのですが、 関数だけで(しかも、できれば汎用的な形の関数で) 実現できるのかが知りたいです。

  • 列の番号ではなく文字列で取得するには

    エクセル2003 Sub test() MsgBox ActiveCell.Column End Sub で現在カーソルのあるセルの列番号「3」が取得させるのですが 「C」と言う風に列の文字列で取得するにはどうすればいいのでしょうか? よろしくお願いします。

  • Excel セル内文字列編集

    (Excel2003/WinXP) いつも大変お世話になっています。 Excelの任意のセル内に文字列があり、 その中をドラッグして部分文字列を選択します。 その選択した文字列を同じセル内の任意の位置に移動するには、 {Ctrl}+cや{Ctrl}+vを使わないとすると、 どんな方法が考えられますか? (Word的な編集テクニックです) テキストボックスに置き換えても どうもうまく実装できません。 なんとかこれを実現する方法を探してます。 既存のテキストエディターとリンクする、 アドインなどもやってみましたが、 機能的にはOKなんですが、いまいち満足していません。 スマートな方法はないものでしょうか? VBA&API、なんでもいいので、 教えていただければ幸いです。 いつも質問ばかりで気が引けるのですが、 よろしくお願いいたします。

  • EXCELで指定した文字列のアドレスを取得したい

    Excelで指定した文字列を検索し、その文字列があるセルのアドレスを取得する方法はないのでしょうか? マクロは使用せず、関数のみでやれたらいいのですが、なかなかうまい方法が見つかりません。 Excel2007、VISTAを使用しています。

  • 正規表現で任意の文字列が含まれない文字列の取得

    VB6/VBAでお願いします。 <tr> <td>あいうえお</td> <td>かきくけこ</td> </tr> ここで、<td>と</td>に挟まれた文字列を取得しようとするのですが、 ABCとXYZ両方が取得できます。任意の文字列を含まない指定はどう すればいいでしょうか? この場合、「きくけ」を含まない「あいうえお」を取得したいと思い ます。

  • セル内の文字列操作について

    Excelでセル内の文字列を操作したいのですが、Excelの標準の関数では出来そうにないので、どなたかお力をお貸しください。 1つのセル内に、文字列や数値が複数入っています。 (例) Excel 12 りんご Word 11 このセルを調べて、数値のデータが複数入っている場合、最大値のみを表示させ、残りの数値データは削除したいのです。 (結果) Excel 12 りんご Word この処理の対象はセル内の数値データであって文字列には作用させず、結果的には文字列はそのまま表示させたいのです。 Excelの文字列に関する関数を調べてみたのですが、該当するものがなく、VBAを使用しなくてはならないのかもしれません。処理するデータが大量なため、VBAマクロなどで処理できれば大変ありがたいのですが、どなたかご存知の方がいらっしゃいましたら、ご教授くださいませ。どうぞよろしくお願いいたします。

専門家に質問してみよう