前回の続きです。

ダブルクリックすると現状は入力シートが開くのですが
行のうちクリックしたセルの範囲毎に開くシートをかえる指示はだせるのでしょうか?

Sub AUTO_OPEN()
Application.ScreenUpdating = False
' With Application
' .OnDoubleClick = "SELECT_AC"
' **セルをダブル・クリックするとマクロSELECT_ACが作動します。
' End With
状態 = ""
Sheets("入力").Select
End Sub

if構文を追加すれば実現できそうなのですが
うまく動きません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/09/14 21:20:09
  • 終了:2007/09/17 13:22:35

回答(2件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912007/09/14 21:34:48

ポイント100pt

どのシートで入力したかを覚えておく必要があります。

最後尾列(V列)にでも入力シート名を記録しておき、


SELECT_AC を下記のように変更したらできそうです。

Sub SELECT_AC()
    修正行 = 0

    If ActiveSheet.Name = "DATA" Then
        GYOU = ActiveCell.Row
        SheetName = Cells(GYOU, "V").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

ただし、入力シートの書式が異なっている場合は、適切な状態に戻すよう処理の内容を変える必要があります。

http://www.asahi-net.or.jp/~ef2o-inue/top01.html

id:mika555

ありがとうございます。

格闘してみます!!

やってみましたが

実行時エラー”9”

インデックスが有効範囲でありません。

と、でて

デバッグすると

RETU = Worksheets("sheetname").Range("a5").CurrentRegion.Count

がデフォルトされます。

新しいスレッドだすのでご協力いただけたら助かります。

2007/09/17 13:13:36
id:hayashi4 No.2

hayashi4回答回数76ベストアンサー獲得回数12007/09/16 00:11:57

がんばってください http://www

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

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

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

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