人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

前回の続きです。
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
と、してみたのですが
うまく動きません。どこが足りないか教えていただけたら助かります。


●質問者: mika555
●カテゴリ:コンピュータ
✍キーワード:b2 B4 Bu Kさん name
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mook
●100ポイント

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


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

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


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

入っていいたら、

Sub SELECT_AC()

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

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

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


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

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


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

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


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

◎質問者からの返答

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

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

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

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

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

焦っております。

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

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


2 ● きゃづみぃ
●100ポイント

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

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


Sub 転記()

a=ActiveSheet.name


Sub 転記()の一番下の

Sheets("入力").Select

の前に

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

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

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

◎質問者からの返答

試してみましたが

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ