- 186 名前:180 mailto:sage [2010/04/29(木) 22:37:54 ]
-
どうもありがとうございます。大変助かりました。 VBAの命令は、何でもあるんですね。ビックリしました。おかげさまで、なんとか作れそうな感じです。 以下のような感じで、現在の画面の最下行数を計算して temp_str = ActiveWindow.VisibleRange.Cells(1, 1).Address ' 現在の画面の左上セルの座標「$A$123」を文字で得る n = InStr(1, temp_str, "$") ' 左の$を見つける n = InStr(n + 1, temp_str, "$") ' 右の$を見つける y = Val(Mid$(temp_str, n + 1, Len(temp_str) - n)) + Windows(1).VisibleRange.Rows.Count ' "123"を取り出し、画面の縦の数を加算 この行数と、次回の書込予定セルのy位置と比較してスクロールしながら、書き込んでいくつもりです。 ここで、もう少し教えてください。 上記の最下行の計算ですが、VisibleRange.Cells(1, 1).Address の返値が文字で返ってくるので、めんどうな文字計算をしています。 これが、直接数字で返ってくる命令はないものでしょうか。 temp_str = ActiveWindow.VisibleRange.Cells(1, 1).Address というのは、現在のアクティブウインドウに対しての命令だと思います。 しかし別シートを開いている時でも、文字書込は決まったシートに バックグラウンドで実行したいのです。 シート指定をすればいいと思って a = Worksheets("AAA").VisibleRange.Cells(1, 1).Address などと やってみましたが、エラーだと言われました。 どのように書いたら、バックグラウンドで実行できるのでしょうか。 よろしくおねがいします。
|

|