2017-07-07 7 views
0

使用:私は現在、このコードを使用しています同じシート上の列にシート名をコピーするVBAを

Funtion wrksht() as Variant 
wrksht = Application.Caller.Parent.Name 
End function 

を私は継続的に見つからない実行時エラー「424」オブジェクトをスローされています。 誰かがなぜこれが起こっているのか、何が間違っているのか説明してもらえますか?私は基本的に、それぞれに日付が付いた複数のシートを持つワークブックを持っています。私はすべてのシートの最初の列にシート名を入力したいと思います。それは私が探していて欲しいものです。

+0

最初の行は単に誤字であると仮定します。どのようにコードを使用していますか? – SJR

答えて

0
Function wrksht() as String 
    wrksht = ActiveSheet.Name 
End function 

UPDATE


Function DoIt() 
    Dim sh As Worksheet 

    For Each sh In ActiveWorkbook.Sheets 
    sh.Range("A1") = sh.Name 
    Next 
End Function 
+0

これは誤字脱字して申し訳ありません。 –

+0

私はまだ私が探している解決策を得ることができません。私は基本的にいくつかのシートを持つワークブックを持っていて、それぞれに日付があります。私はすべてのシートの最初の列にシート名を入力したいと思います。それは私が探していて欲しいものです。 –

+0

これはうまくいきます。ありがとうございます:) –

0

ActiveWorkbook.Sheets ws.Rangeの各WS用のワークシート としてエラー再開次 薄暗いWSにこの

Sub my_macro 

をお試しください( "A1")= ws .nameの 次 End Subの

0

上記の作業が、私は簡単に解決策があります:あなたが移入したいセルに(それは式ではなく、VBAコードである)

=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255) 

がこの値を貼り付けをシート名で魔法のように表示されます。

関連する問題