前回の続きです。

MOOKさんの回答をもとに
Sub SELECT_AC()
修正行 = 0

If ActiveSheet.Name = "DATA" Then
GYOU = ActiveCell.Row
SheetName = Cells(GYOU, "BU").Value
修正行 = GYOU
RETU = Worksheets(SheetName).Range("a5").CurrentRegion.Count
For I = 1 To RETU
j = I + 3
Worksheets(SheetName).Cells(j, 2) = Worksheets("DATA").Cells(GYOU, I).Value
Next I
Sheets(SheetName).Select

ss = Str(修正行)
If 状態 = "修正" Then Range("b2") = ss & " 行目 修正中"
If 状態 = "流用" Then Range("b2") = ss & " 行目 流用中"

Range("B4").Select
End If
End Sub
と、してみたのですが
うまく動きません。どこが足りないか教えていただけたら助かります。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2007/09/17 13:21:14
  • 終了:2007/09/17 19:17:10

回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912007/09/17 14:19:32

ポイント100pt

直接の回答ではなくてすみません。


ご質問に答えるには、入力シートとDATAシートがどのようになっているかがわからないと適切な回答ができません。

また、「何が」「どのように」うまくいかないかという説明があれば、より適切な回答が可能となります。


まず、BU列には入力に使用したシート名は正しく入っているでしょうか。

入っていいたら、

Sub SELECT_AC()

(1)列にカーソルを置き、F9を押してください。

(2)それからDATAシートへ戻り行をダブルクリックしてみてください。

(3)以降、VBE でF8 を押す毎に1行ずつ処理が進みます。


変数にカーソルをあてれば中身を確認も出来ますし、シートも1ステップずつ変化していきます。

まずは、これらを見ながら処理が期待通りに進んでいるか確認してみてください。


参考URL:VBA のデバッグ方法

マクロを「書いてみた」「動かした」「ダメでした」。


簡単な内容はコメントで対応しますので、有効にしていただければ助かります。

id:mika555

いつもありがとうございます。

ベタベタな初心者でデバックした後の処理も

よくわからなかったりします。

ご紹介頂いたサイトも熟読しているのですが・・・

どんなに遅くても今週中に仕上げたいので

焦っております。

お付き合い頂けたら幸いです。

下のtacntさんのお答えのとおりactivesheet.nameがまだ格納されていない状態です。

2007/09/17 17:20:37
id:taknt No.2

きゃづみぃ回答回数13538ベストアンサー獲得回数11982007/09/17 15:19:53

ポイント100pt

もともと 持っていない情報で 処理しようとするので無理があるのです。

Sub 転記()の中で ActiveSheet.nameをCells(GYOU, "BU")に保存する必要があります。


Sub 転記()

a=ActiveSheet.name


Sub 転記()の一番下の

Sheets("入力").Select

の前に

Cells(GYOU, "BU").values=a

としてあげたらいいでしょう。

http://q.hatena.ne.jp/1190002872

id:mika555

試してみましたが

オブジェクトは、このプロパティまたはメソッドをサポートしていません。と、なってしまいます。

当方の環境はエクセル2003です。

2007/09/17 17:20:14
  • id:Mook
    問題は解決しましたか?

    あまり細切れにせずに、一つのスレッドで解決までもって行きませんか。
    ここまでくれば、ぜひ解決までお力になれたらと思います。

    takunt さんのは Values ではなく Value にして試してみてください。
    その上で、まだエラーが出るようであれば詳細をコメントで教えてください。



    たくさんのポイントはありがたいですが、私の回答内容に対しては過分ですので、このレベルでしたら規定のポイントで十分ですよ。
    もし次回質問されることがあって、良い回答だと思ったらイルカ賞をつけてあげれば、喜ぶ回答者は多いと思います。
  • id:mika555
    まず、シート名の取得はうまくいきました。
    戻り先を入力シートに戻す件は自分で水曜日まで頑張ってみます。
    どうしてもわからなかったら、このスレッドで質問させていただきます。

    さて、ポイントの件
    なんだか逆に失礼いたしました。
    こういった続いた質問へのお作法を知らなかったりで
    お許し下さい。
    今後はそうさせていただこうと思います。
    本当にありがとうございます。
  • id:Mook
    ご自身でがんばろうという姿勢は、とても好いですね。
    自分でがんばったものが結局はなにより一番力になるのだと思います。

    ポイントの件は、気になさらないように。
    特に作法があるわけでもないですし、ポイントをたくさんもらえて喜ぶ人は、もちろん多くいますので。

    ただ、私はポイントはそれほど気にしていませんし、質問した方に(問題解決により)喜んでいただけるのが何よりと思っています。
    なので、解決に至らない質問は気になりますし、それに多くのポイントを頂くのは心苦しいので先のように書かせていただきました。

    しばらくはこちらのスレッドを見ているようにしますので、簡単な内容でしたらこのコメントでも結構ですよ。
  • id:mika555
    頑張っているのですが
    まず、デフォルトのシート名を変えるとおかしくなるのと

    入力(2)シートで修正のボタンを使うとうまく(入力(2))に戻れない

    などの不都合がでます。

    もう一日頑張ってわからなかったら別スレッドを立てるかもしれません。

    本当に初心者にありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません