Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5807 / 76735 ←次へ | 前へ→

【76535】Re:コードを短くしたい
発言  ゆーあ  - 14/12/29(月) 11:07 -

引用なし
パスワード
   ▼β さん:

おはようございます。
返信遅くなり、申し訳御座いません。

早速ですが、
まず、
>ActiveCell や Selection や ActiveSheet や ActiveWorkbook を前提にした
>コードは極力避けることが推奨されます。
>ActiveSheetが本来のものとは異なっていたり、そんなことが往々にして発生し、
>とんでもない障害になる可能性があります。
とのことですが、
   Sheets("Sheet3").Cells(ActiveCell.Row, 1).Select
のことを仰ってるでしょうか?
その場合、別件ですがご相談させて頂きたいです。。。

先日、データベースとして使用している元ブックは、
各データを行で一つのグループに分けていると説明したと思いますが、
元ブックのSheet構成として、
 Sheet1:フォーム呼出ボタンのみ(sheet表示)
 Sheet2:個人データ登録用シート(非表示)
 Sheet3:(各個人データ)データシート1(非表示)
 Sheet4:(各個人データ)データシート2(非表示)
としており、
操作(登録/更新/削除)は全て、フォーム(個人データ)上で行っております。
フォーム(個人データ)上に、データシート1&2フォーム呼出のコマンドボタンを
設置しており、
フォーム(個人データ)より別フォームを立ち上げて、データを登録
する様にしております。

Sheet2
  A  B  C   D   ・・・
1 名前 年齢 住所 電話番号 ・・・
2 田中 30 ・・・
3 佐藤 40 ・・・
4 小林 50 ・・・

Sheet3
   A   B  C   D   E   F   G  H  
1 依頼日1 受付1 対応1 内容1 依頼2 受付2 対応2 内容2・・・
2  1/1  山田 ・・・
3  2/1  富樫 ・・・
4  3/1  葉山 ・・・

Sheet4
   A   B    C   D   E   F   G   H  
1 依頼日51 受付51 対応51 内容51 依頼52 受付52 対応52 内容52・・・
2  5/1   富樫 ・・・
3  6/1   葉山 ・・・
4  7/1   山田 ・・・

Sheet3の連番でSheet4に続きます。
どのSheetも2行目は、田中のデータとなり、3行目は、佐藤のデータとなります。

やっと本題ですが、
Sheet2の氏名位置を基に、各シートのデータ管理を行っているのですが、

  Dim 氏名 As Range
  Dim AAA As String
  Set 氏名 = Worksheets("Sheet2").Cells(ActiveCell.Row, 1)
  AAA = 氏名.Address(False, False)

頻繁に、ActiveCellなど使用してますので、
現状の管理方法では、とんでもない障害が起こりえるでしょうか??


次に、ご提示頂いたコードについてですが、
SampleAで動作確認したところ、
"Sheet3をアクティブにしてから実行して下さい"
と言われてしまいました。
アクティブになるように試してみましたが、ダメでした。

よってSampleBでも同様の現象が起こると思ったので、
SampleBを使って、
  Windows(exiWB).Activate
  Worksheets("Sheet3").Activate
  Sheets("Sheet3").Cells(ActiveCell.Row, 1).Resize(, 4).Select
  Selection.Copy
  Windows(NewWB).Activate
  Sheets("データ抽出").Range("B6").Resize(, 4).Select
  Selection.PasteSpecial Paste:=xlValues
  
  Windows(exiWB).Activate
  Worksheets("Sheet3").Activate
  Sheets("Sheet3").Cells(ActiveCell.Row, 5).Select
  Selection.Copy
  Windows(NewWB).Activate
  Sheets("データ抽出").Range("H6").Select
  Selection.PasteSpecial Paste:=xlValues

に改良してみました、
C〜E列の記載が無くなった分、早くなった気がしますがどうでしょうか?
宜しくお願い致します。

0 hits

【76525】コードを短くしたい ゆーあ 14/12/26(金) 15:42 発言[未読]
【76526】Re:コードを短くしたい β 14/12/26(金) 17:54 発言[未読]
【76527】Re:コードを短くしたい ゆーあ 14/12/26(金) 21:10 発言[未読]
【76528】Re:コードを短くしたい β 14/12/26(金) 22:33 発言[未読]
【76529】Re:コードを短くしたい β 14/12/26(金) 22:38 発言[未読]
【76530】Re:コードを短くしたい ゆーあ 14/12/27(土) 11:37 発言[未読]
【76531】Re:コードを短くしたい β 14/12/27(土) 12:34 発言[未読]
【76532】Re:コードを短くしたい ゆーあ 14/12/27(土) 13:35 発言[未読]
【76533】Re:コードを短くしたい β 14/12/27(土) 16:22 発言[未読]
【76534】Re:コードを短くしたい ゆーあ 14/12/27(土) 17:57 発言[未読]
【76535】Re:コードを短くしたい ゆーあ 14/12/29(月) 11:07 発言[未読]
【76536】Re:コードを短くしたい ゆーあ 14/12/29(月) 11:30 発言[未読]
【76537】Re:コードを短くしたい γ 14/12/29(月) 12:03 発言[未読]
【76538】Re:コードを短くしたい ゆーあ 14/12/29(月) 13:19 発言[未読]
【76539】Re:コードを短くしたい β 14/12/29(月) 15:08 発言[未読]
【76541】Re:コードを短くしたい ゆーあ 14/12/29(月) 18:19 発言[未読]
【76542】Re:コードを短くしたい β 14/12/29(月) 19:41 発言[未読]
【76543】Re:コードを短くしたい ゆーあ 14/12/30(火) 9:00 お礼[未読]
【76540】Re:コードを短くしたい γ 14/12/29(月) 15:18 発言[未読]

5807 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free