OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

エクセルの移し変え作業(A表のデータをコピー、B表にペーストする)で

  • 困ってます
  • 質問No.248624
  • 閲覧数1220
  • ありがとう数8
  • 気になる数0
  • 回答数17
  • コメント数0

お礼率 73% (88/119)

エクセルの移し変え作業(A表のデータをコピー、B表にペーストする)で
もっと楽で時間の掛からない方法があれば教えてください。

現在のやり方
A表に、1日24時間毎のデータが1年分(365日×24時間=約8800行)あります。
上(1行目は1月1日1時のデータ)から、下(最終行目は12月31日24時のデータ)に向かってあります。

このデータをB表に移します。
B表の1行目は、1月1日のデータで、右方向に1時~24時までのセルがあります。
   2行目は、1月2日のデータで、右方向に1時~24時までのセルがあります。
     〃    〃   〃   〃   〃
   365行目は、12月31日のデータで、右方向に1時~24時までのセルがありま   す。

データ移し変え方法は、
A表から1日分(24データ)をコピー、B表の右方向へ行列を変更してペーストしています。
次に、1月2日を同様にしてコピー、ペースト、365回これをくりかえして1年分をまとめています。

この方法で7年分済ませましたが、作業してくれる方(私を含めて)が全員泣いてます。
花粉症なら分かっているけど風邪だと言い張って作業を休んだり、急に里帰りしたり、目が疲れるから3時間だけ、他にしなくてはならないことが、腱鞘炎だ、など、単調な作業でやたら時間がかかるので嫌われています。

今後、残りの作業年数が20年あり、エクセルの機能の中にこれが楽にできる
方法があれば、是非、是非、教えてください。
マクロは知らないので、出来るだけ、一般的な方法で。よろしくお願いします。
通報する
  • 回答数17
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.11
レベル13

ベストアンサー率 68% (791/1163)

原因不明ですね。

〔第3段階〕
Sheet2のA1に
 =INDEX(Sheet1!$A$1:$A$8760,(ROW()-1)*24+COLUMN(),1) としてみてください。

『Sheet1』はシートタブに表示されているシート名です。
『$A$1:$A$8760』はとりあえず『$A$1:$A$500』でもかまいません。


だめなら、
〔第3段階〕
Sheet1のA列のデータの入っている範囲に名前をつけます。
 Sheet1のA列のデータの入っている範囲(A1からA列のX行まで)を選択して、
  挿入→名前→定義で『DATA』を入力

Sheet2のA1に
 =INDEX(DATA,(ROW()-1)*24+COLUMN(),1) とします。

2.66がでればコピーします。

2.66がでなければ、
 セルA1で =(ROW()-1)*24+COLUMN() がどうなるか教えて下さい。
 セルA2で =(ROW()-1)*24+COLUMN() がどうなるか教えて下さい。
 セルB1で =(ROW()-1)*24+COLUMN() がどうなるか教えて下さい。

Excelのバージョンが関係する?
Indexを使ってみています。
お礼コメント
abouka

お礼率 73% (88/119)

nishi6様

誠に申し訳ないことが分かりました。
今まで、数式を入れて数式欄が表示されている左横のチェックで
入れておりました。
そうすると、値の更新シートがでてきますが、意味が分からず
恐ろしくてキャンセルしておりました。
たまたま OK をクリックしましたら、数値が正常に出てくる
ことに気がつきました。
すると、その間何回もわずらわしいことを、nishi6様に考えていただき、
大変申し訳ありません。
教えていただいた、#1の回答で、すべてができた訳です。
本当に、ごめんなさい。
私の無知のため、時間を取らせたことをお侘びします。

この質問でマクロに手をつけたので、その結果が確認できてから
締め切りします。
ありがとうございました。

追伸;明日はちょっとでなく、ピノキオで鼻高々です。
   いい忘れたこと:エクセル2002を使ってます。
投稿日時 - 2002-04-08 01:29:12
-PR-
-PR-

その他の回答 (全16件)

  • 回答No.5

OFFSET関数で参照するセルの位置を現在セルの行[ROW()]と列[COLUMN()]を元に 計算する事で処理することができます A表:シート名『Sheet1』と仮定します    データは1行目から入力されているとします B表:シート名『Sheet2』と仮定します    A表の1~24行目をA1~X1に       25~48行目をA2~X2に       以下24行単位で繰り返します ...続きを読む
OFFSET関数で参照するセルの位置を現在セルの行[ROW()]と列[COLUMN()]を元に
計算する事で処理することができます

A表:シート名『Sheet1』と仮定します
   データは1行目から入力されているとします
B表:シート名『Sheet2』と仮定します
   A表の1~24行目をA1~X1に
      25~48行目をA2~X2に
      以下24行単位で繰り返します

【設定】
Sheet2のA1に以下の式を入力しA1~X365に単純にコピーします

  =OFFSET(Sheet1!$A$1,(ROW()-1)*24+COLUMN()-1,0,1,1)

  OFFSET(基準セル,行変位,列変位,参照行数,参照列数)
   基準セル:Sheet1!$C$1に固定 
   行変位:(現在行-1)*24+(現在列-1)
        この指定で参照するSheet1の行番号を決定します
        $A$1からの変位ですから、A1は0、A2は1となります
   列変位:常にSheet1のA列を参照するので0となります
   参照行数:1つのセルを参照するので1で固定
   参照列数:1つのセルを参照するので1で固定

【補足】

上記の状態では表Aに表Bが連動していますので
表Aが変更されれば表Bも変更されます
これが不味い場合はSheet2全体を選択(Ctrl+A)し右クリックでコピー後、
再度右クリックで[形式を選択して貼り付け]で[値]で貼り付けます


もし表Aに空白が有る場合参照結果は0となります
空白のままにしたい場合は、空白かどうかチェックして
空白を意図的にセットする必要が有ります

=IF(OFFSET(Sheet1!$A$1,(ROW()-1)*24+COLUMN()-1,0,1,1)="","",OFFSET(Sheet1!$A$1,(ROW()-1)*24+COLUMN()-1,0,1,1))
補足コメント
abouka

お礼率 73% (88/119)

xxsadayanxx様へ

お世話になります。
指示どおりに進めたつもりですが、うまくいきません。

※2つのシートとも、A1からデータが入っています。
テスト段階ですので、2日分(48個データを移しかえる)でトライしてます。

行ったテスト
1)sheet2のA1にご指示がありました数式を入れて、A1からX10まで
  数式を10行コピーしてあります。
2)sheet1の A1からA48までコピーします。
3)sheet2に戻り、A1からX2までの範囲を反転させ、行列を変更してペースト
  結果;A1からA24を突き抜けて右1行に48個が連続で並びます。
     なにもせず(反転させず)にしても、同じ結果です。
4)そのほか、値だけペーストなど、いくつかテストをしましたが、
  いずれも、行列を変更させてペーストしています。
  A24で下のB1に折りかえしてくれません。

私の操作の問題だと思いますが、どこか不思議な点がありましたら
ご指示ください。

※ sheet2A1の窓には 
  =OFFSET(Sheet1!$A$1,(ROW()-1)*24+COLUMN()-1,0,1,1)が入り、
  sheet2のA1に、結果として、#VALUE! が見えてます。
投稿日時 - 2002-04-07 20:36:25

  • 回答No.6
レベル8

ベストアンサー率 37% (14/37)

NO3のAWA66です。質問の内容を早とちりしました。 済みません。出直しします。
NO3のAWA66です。質問の内容を早とちりしました。

済みません。出直しします。
  • 回答No.7
レベル13

ベストアンサー率 68% (791/1163)

>#印が目いっぱいに広がってます Sheet1のA列に入力されている値は何でしょうか? 算式はうまくいってて、表示形式で『#####』が表示されている可能性があります。 Sheet1のA列とSheet2のセルの書式設定の表示形式を一致させることと、セル幅を広くしてみてください。 Sheet1のA列に縦に並んだ数値を、Sheet2の365行×24列に配置しなおしているだけですよね。 ...続きを読む
>#印が目いっぱいに広がってます

Sheet1のA列に入力されている値は何でしょうか?

算式はうまくいってて、表示形式で『#####』が表示されている可能性があります。

Sheet1のA列とSheet2のセルの書式設定の表示形式を一致させることと、セル幅を広くしてみてください。

Sheet1のA列に縦に並んだ数値を、Sheet2の365行×24列に配置しなおしているだけですよね。
補足コメント
abouka

お礼率 73% (88/119)

nishi6様へ

1)Sheet1のA列に入力されている値は何でしょうか?
  ただの数値です。最初のセル:A1 は2.66という数値です。

2)Sheet1のA列とSheet2のセルの書式設定の表示形式を一致させること。
 どちらも、表示形式は標準となってます。

3)セル幅を広くしてみてください。
  広くすると、#REF! となっており、セルの窓に、数式の
  =INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN())が、{ }で囲まれて
  います。

4)Sheet1のA列に縦に並んだ数値を、Sheet2の365行×24列に配置しなおしてい  るだけですよね。
  作業はそのとおりですが、今テストの段階で1ヶ月分31日だけで
  テストしてます。

頭の悪い生徒を持った先生の立場が、お分かりになりましたか?
理解が悪くて、ごめんなさいね。
投稿日時 - 2002-04-07 19:35:04
  • 回答No.4
レベル14

ベストアンサー率 29% (1751/5870)

質問を誤解していたらm(_ _)mゴメンさい。 コピーとペースト一日単位でなくて256日単位にしたらどうなんですか? ペーストの時に「編集」→「形式を選択して貼り付け」行列を入替えるで 256日(列)出来ます。 ...続きを読む
質問を誤解していたらm(_ _)mゴメンさい。

コピーとペースト一日単位でなくて256日単位にしたらどうなんですか?
ペーストの時に「編集」→「形式を選択して貼り付け」行列を入替えるで
256日(列)出来ます。
補足コメント
abouka

お礼率 73% (88/119)

HAL007 様

ご連絡ありがとうございます。
テストは、データを48個で行いました。

1)sheet1のセルA1からA48まで(2日分)を上から下へコピーして、

2)sheet2のセルA1からA24まで と B1からB24まで(48データ分)を
  反転させ、「形式を選択して貼り付け」 行列を入替えるでは
  データは、A24を突き抜けて、A48までペーストします。
  A24で1段下のB1に折り返せば助かるのですが、、、、、

結果だけお知らせしました。
コーヒーを飲んでから、教えていただいた他の方法を落ち着いて
紐解くつもりです。
投稿日時 - 2002-04-07 20:00:17
  • 回答No.3
レベル8

ベストアンサー率 37% (14/37)

 これがベストかどうか分かりませんが、私も初心者ですので。  一年分を一度にコピー、andペーストは出来ないのですか。 範囲指定して全部コピーです。 駄目なら、B表の各対応するセルにA表のセルを参照する式を、 B表の  1月1日のセルに =A1 1月2日 =A2・・・・・・としてその式を 全部コピーすれば簡単に出来るのでは有りませんか。 私も、難しいことは解りませんが・・・・・・
 これがベストかどうか分かりませんが、私も初心者ですので。

 一年分を一度にコピー、andペーストは出来ないのですか。
範囲指定して全部コピーです。

駄目なら、B表の各対応するセルにA表のセルを参照する式を、 B表の 
1月1日のセルに =A1 1月2日 =A2・・・・・・としてその式を
全部コピーすれば簡単に出来るのでは有りませんか。

私も、難しいことは解りませんが・・・・・・
  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

Sheet1のA列にデータがあるとしています。日単位で横にしているわけですよね。 Sheet2のA1に、下をコピー。右方向に24個コピー。下に365個コピー。(最後に値にする必要があるなら、全部をコピーて終わったら値貼り付けします。) =INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN()) こういうこと? ...続きを読む
Sheet1のA列にデータがあるとしています。日単位で横にしているわけですよね。

Sheet2のA1に、下をコピー。右方向に24個コピー。下に365個コピー。(最後に値にする必要があるなら、全部をコピーて終わったら値貼り付けします。)

=INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN())

こういうこと?
補足コメント
abouka

お礼率 73% (88/119)

nishi6様へ

1年分でなく、1ヶ月分(31日)でテストしていますが、
sheet2のA1に指示された数式を入れ、A列下方向に31行、
A列右方向に24列コピーし、セル;B2からセル:X31までもコピーしました。

#印が目いっぱいに広がってます。

この場合には、数式が違ってくるのではないか。と思ってますが。
sheet1では、なにも仕掛けをしておりません。
(A1から下にデータが入っているだけです)
どこに、私の勘違いがあるのしょうか?

※ 実際の作業は、sheet1のC2がデータのトップで下方向、
sheet2ではB8がデータのトップで右方向に24個です。
テストでは、どちらもA1から始まるように、周りを削っています。
投稿日時 - 2002-04-07 18:24:07
  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

説明不足?の感もあり、再度の投稿です。 ついでに別法です。この式の8760は最後の行です。(閏年は違う?9000とかでも問題はありません) 両式とも、Sheet2の行番号、列番号からSheet1の行番号を決めています。 Sheet2の貼り付け開始位置がA1でない時は、この考え方を参考に変形することになります。 =INDEX(Sheet1!$A$1:$A$8760,(ROW()-1)*24+ ...続きを読む
説明不足?の感もあり、再度の投稿です。
ついでに別法です。この式の8760は最後の行です。(閏年は違う?9000とかでも問題はありません)

両式とも、Sheet2の行番号、列番号からSheet1の行番号を決めています。
Sheet2の貼り付け開始位置がA1でない時は、この考え方を参考に変形することになります。

=INDEX(Sheet1!$A$1:$A$8760,(ROW()-1)*24+COLUMN(),1)
  • 回答No.8
レベル14

ベストアンサー率 28% (4323/15250)

なんか悲惨な様子が伝わってきましたので、解答する気になりました。ただVBA(俗に言うマクロ)なので、判らないといわれるかもしれないですが、まあ考えてそっくり真似することを検討してください。 他の方の関数作成、式のコピー方式も結構複雑なようで 下記の法が簡単かも。 下記Test2()は10秒以内に終わります。Test1()も10秒以内です。 もし下記を使われるなら、まずTest1()を実行して、sh ...続きを読む
なんか悲惨な様子が伝わってきましたので、解答する気になりました。ただVBA(俗に言うマクロ)なので、判らないといわれるかもしれないですが、まあ考えてそっくり真似することを検討してください。
他の方の関数作成、式のコピー方式も結構複雑なようで
下記の法が簡単かも。
下記Test2()は10秒以内に終わります。Test1()も10秒以内です。
もし下記を使われるなら、まずTest1()を実行して、sheet1のテストデータを良く見て、私の理解が、実情と違っていないか考えて、良ければTest2()を実行して下さい。
データは特徴をモデル化してあるつもりですので、。
そしてsheet2を良く見て貴殿が考えている通りのパターンに並べ替えられたか良く考えてください。
それから本番のデータにTest2()を実行してください。
'--------<テストデータの作成>
Sub test01()
b = "abcdefghijklmnopqrstuvwxyz"
For i = 1 To 24 * 365
j = i Mod 24
If j = 0 Then
j = 24
k = Int(i / 24)
Else
j = j
k = Int(i / 24) + 1
End If
Worksheets("sheet1").Cells(i, 1) = k & Mid(b, j, 1)
Next i
End Sub
(Next iの上の行「1)」はWorksheets("sheet1")の行の後に引っ付けてください。横幅制約の為に無理に改行されていますのでご注意。この()の部分はプログラムでないのでプログラムの打ち込みの時は省くこと。)
'-----<行と列の日別に入れ替え>
Sub test02()
Worksheets("sheet1").Activate
For i = 1 To 24 * 365
j = i Mod 24
If j = 0 Then
j = 24
k = Int(i / 24)
Else
j = j
k = Int(i / 24) + 1
End If
Worksheets("sheet2").Cells(k, j) = Worksheets
("sheet1").Cells(i, 1)
Next i
End Sub
(Next iの上の行はWorksheets("sheet2")の行の後に
引っ付けてください。横幅制約の為に無理に改行されて
いますのでご注意。この()の部分はプログラムでないのでプログラムの打ち込みの時は省くこと。)
'---<VBAの実行のし方>
●エクセルでのメニュバーのファイル-新規作成をクリックしsheet1の画面を開く。
●メニュバーのツール-マクロ-VisualBasicEditorを順にクリックして、その後メニュバーの挿入-標準モジュールをクリックし、左のプロジェクトエクスプローラー部に「Module1」があらわれるからそれをダブルクリックして右側部分の白紙画面に上記のTest1()以下とTest2()以下をそのまま入力する。
●し終わったら、Test1()のEnd subまでの途中ならどこでも良いからカーソルをおき、メニュバーの「実行」をクリックすると実行される。
●出来たsheet1を良く見てください。
●Test2()のEnd subまでの途中ならどこでも良いからカーソルをおき、メニュバーの「実行」をクリックすると実行される。
●出来たsheet2を良く見てください。
●Test2()でプログラムのやっている理屈や内容が知りたければ、補足に表明していただければ説明文を作ります。
●私の方法に関わらず、いかなる方法でやるにせよ、実本番データは別にバックアップを取って置いて実行すること。
補足コメント
abouka

お礼率 73% (88/119)

imogasi様

ご返事が遅くなり失礼しました。
マクロ以外の方法をテストしてきましたが、まだ最終まで到達できません。

imogasi様より教えていただきました方法でマクロの世界に入ります。
ご指示どおりに●1、●2、●3、●4、まで進めてできたsheetを
見ております。
sheet1の、A列にA1から下方向に、1a,1b,1c,と1が24行並び、
25行目から2a,2b,2c,が 最終の 41a まで見れます。

しかし、私のデータと、それをペーストするsheetはまだ入れてありません。

以下、私の不明な点の質問となります。
1)sheet3、にデータを入れ、sheet4にペースト先のものを入れるのでしょうか?
2)以下の文章の内容指示ですが、これをどこに貼り付けるのしょうか? を 指  示してください。
  ※ Next iの上の行はWorksheets("sheet1")の行の後引っ付けてください。
    → 私の解釈;
      マクロ-テスト-1とシートに名をつけておりますが、
      下側にあるsheet表示欄のsheet1のタイトルの後ろに
      スペースを空けずに、Cells(i, 1) = k & Mid(b, j, 1) と
      つけるのでしょうか? 
      ご指示の後方に("sheet2")につけることも書かれております。
      そうなると、データなどはsheet3以降に入れるのでしょうか?

 夜分遅くなり、ご連絡が遅く失礼します。
 私ごとですが、まだ、2時間位この作業を進める道を探しますので
 起きております。
投稿日時 - 2002-04-07 23:00:10
  • 回答No.9
レベル13

ベストアンサー率 68% (791/1163)

>=INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN())が、{ }で囲まれて・・・ { }は意図していません。 =INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN())を登録する時、Ctrl+Shift+Enterで配列数式になっているようです。 普通の算式なので登録する時は普通 ...続きを読む
>=INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN())が、{ }で囲まれて・・・

{ }は意図していません。
=INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN())を登録する時、Ctrl+Shift+Enterで配列数式になっているようです。
普通の算式なので登録する時は普通にEnterです。

Sheet2のA1を選択状態にして、ファンクションキーF2を押して編集モードにして、Enterとします。2.66が表示されればOKです。下、右にコピーします。これでもダメかな??

前の質問の回答が尾を引いてた?



ちなみに
>※ 実際の作業は、sheet1のC2がデータのトップで下方向、
>sheet2ではB8がデータのトップで右方向に24個です。

このままの状態で算式をセットすれば、Sheet2のB8は

 =INDIRECT("Sheet1!C"&(ROW()-8)*24+COLUMN())

となるはずです。うまくいってから確かめられてはどうでしょうか。
補足コメント
abouka

お礼率 73% (88/119)

nishi6様へ

今度の数式は普通の算式として正しく入れました。

Sheet2のA1を選択状態にして、ファンクションキーF2を押して編集モードにして、Enterとしますが、数値の2.66は出てきません。
F2を押して、Enter してますが、F2を押しながら、どこかで編集モードにするのであれば、その操作はしておりません。

素人考えですが;
テストは2日分であるため、数式内のどこかに変更箇所があるような
気がしますが、
=INDIRECT("Sheet1!A"&(ROW()-1)*24+COLUMN()) の中にはありそうもないですね。
投稿日時 - 2002-04-07 21:06:46
  • 回答No.15
レベル14

ベストアンサー率 28% (4323/15250)

(追報) 1.Test01()は終わったようですね。ただ心配なのは最下行が、41Aまでと書いておられるが、8760行目(=24*365)に365zが入っているはずで そうなっていませんか。 2.Test02()ですが、新規作成のBook1のSheet1のA列のデータに対し、プログラムが加工して、Sheet2のA列からZ列かつ1から365行までに書き出します。これで良いか良く考えてください。 3.O ...続きを読む
(追報)
1.Test01()は終わったようですね。ただ心配なのは最下行が、41Aまでと書いておられるが、8760行目(=24*365)に365zが入っているはずで
そうなっていませんか。
2.Test02()ですが、新規作成のBook1のSheet1のA列のデータに対し、プログラムが加工して、Sheet2のA列からZ列かつ1から365行までに書き出します。これで良いか良く考えてください。
3.OKWebの画面の幅に合わせかたが判らなくて、苦しんでいます。下記の/より/までは行を変えずに打ち込み、かつ/では必ず改行してください。
スペースを入れるところは@マークを入れます。
4.本例ではSheet1のA列の1列をSheet2のAからZ列に並べ替えていますが、Sheet1には何列も有るのではないかと思う。
最大10列に限り(10×24<256<11×24)
増やすようプログラムを改められます。
5.「私の解釈では」と書いておられるところは違います。ブックを新規で作成すると、取りあえずSheet1,Sheet2、・・・が出来ますが
それをそのままテストで使うことを前提にして、WorkSheets(”Sheet1”)とかWorkSheets(”Sheet2”)とかとしています。
5.本番のBook(ファイル名)のデータが入っているSheetにおいて、下記の操作をしてください。
Test01()はテストデータ作成用ですので、本番では実行不要。
<本番のVBA Test2()実行操作>
●本番の元データの入っているシートの画面を開く。
●その画面のメニューバーのツール-マクロ-VisualBasicEditorを順にクリックして、その後メニュバーの挿入-標準モジュールをクリックし、左のプロジェクトエクスプローラー部に「Module1」があらわれるから、それをダブルクリックして右側部分の白紙画面に前記のテストの時のTest02()以下をそのままコピーし貼りつける。
(テストの時のBook1のSheet1のModule1のTest02()からEndSubをコピーし、Book1を閉じても、本番のデータの入っているSheetのModule1に貼りつけることが出来ます。)
●Test02()のEnd subまでの途中ならどこでも良いからカーソルをおき、メニューバーの「実行」をクリックすると実行される。
@は1スペース、/は改行を示す(我流です。またVBEがスペースを自動的に入れる個所がありますが、そのままにまかせて良い。)
Sub@test02()/
Worksheets("sheet1").Activate/
For@i@=@1@To@24 * 365/
j@=@i@Mod@24/
If@j@=@0@Then/
j@=@24/
k@=@Int(i/24)/
Else/
j@=@j/
k@=@Int(i/24)@+@1/
End@If/
Worksheets("sheet2").Cells(k,j)@=@Worksheets("sheet1").Cells(i, 1)/
Next@i/
End@Sub/
補足コメント
abouka

お礼率 73% (88/119)

imogasi様
今晩は!追記ありがとうございます。
1)sheet1の8760行目は365Zが入って、sheet2への移し変えは
  期待したとおり、365行になっています。
2)実際のデータは、A列からF列まであります。
  (テストはA列が、sheet2へ移ればよいとの考えですが、
   6列とも入れてテストしています。)
3)"私の解釈"は、今回はっきり理解できました。
 (行の後ろに引っ付けるというのは、実行した時、そこが赤い色がついたので
  理解できました。)

本番の実行で:
ご指示のように、進めたつもりですが、、、、

左の枠の上部にVBAProject(Book1)があり、Module1 と Module2が見れます。
その下に、VBAProject(本番データのタイトル)とModule1があり、Module1が
反転しています。

右に入っているプログラムの中で、Worksheets("sheet1").Activateの1行に
黄色に色がついてます。(なぜがは分かりませんが)
"sheet1"を本番データのシートの名前”data”をいれても同じ結果でした。

実行すると、
『実行時エラー'9'
インデックスが
有効範囲にありません』とメッセージが出ます。
最初からやり直して、何回か実行してみましたが、その都度
同じメッセージです。
私の操作ミスがどこにあるのか判断していただけませんか?
投稿日時 - 2002-04-09 01:19:19
お礼コメント
abouka

お礼率 73% (88/119)

imogasi様

先日はマクロの件で、ご指導いただきましてありがとうございます。
それ以来、テストしましたが結果はまだできません。

私がマクロについて基礎的な解説書を読み、一般的な理解ができた後に
imogasi様のご回答が分かるはずです。そうします。
または、私の知人でマクロの理解者がおれば、imogasi様の回答書を元に
解説してもらいます。
imogasi様に折角回答をいただきましたが、ご負担をかけたことをお侘びします。

今後も、私に、教えて!問題が起これば投稿する機会があろうと思いますので、
その際は、よろしくお願いします。
ありがとうございました。
(これにて、質問を締め切ります)
投稿日時 - 2002-04-11 09:49:11
16件中 1~10件目を表示
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ