過去ログ

                                Page     572
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼教えてください(−_−) LOOPのなかのCOPYPASTEがうまくいきません。  takasi 03/1/19(日) 0:38
   ┗Re:教えてください(−_−) LOOPのなかのCOPYPASTEがうまくいきません。  JuJu 03/1/19(日) 1:47
      ┣お返事ありがとうございます。  takasi 03/1/19(日) 12:00
      ┃  ┗余談  JuJu 03/1/19(日) 23:29
      ┗解決しました。  takasi 03/1/19(日) 23:00
         ┗Re:解決しました。  JuJu 03/1/19(日) 23:33
            ┗明日さっそく試します。  takasi 03/1/21(火) 0:47

 ───────────────────────────────────────
 ■題名 : 教えてください(−_−) LOOPのなかのCOPYPASTEがうまくいきません。
 ■名前 : takasi
 ■日付 : 03/1/19(日) 0:38
 -------------------------------------------------------------------------
   仕事でマクロを組んでおります。
詳しい方にぜひ教えを請いたいです。
WINDOWを2つ開き一方のデータをCOPYしもう一方のWINDOW
へPASTEするのをLOOP WHILEで繰り返ししましたが
最初のデータがPASTEされません。
なぜでしょうか?
 ───────────────────────────────────────  ■題名 : Re:教えてください(−_−) LOOPのなかのCOPYPASTEがうまくいきません。  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/19(日) 1:47  -------------------------------------------------------------------------
   takasiさん、こんにちはぁ

>WINDOWを2つ開き一方のデータをCOPYしもう一方のWINDOW
>へPASTEするのをLOOP WHILEで繰り返ししましたが
>最初のデータがPASTEされません。

どのようなコードを書いていますか?
コピーもいろいろやり方があるので、具体的な内容が分からないとアドバイスが難しいです。

ではではぁ
 ───────────────────────────────────────  ■題名 : お返事ありがとうございます。  ■名前 : takasi <mlb25741@nifty.com>  ■日付 : 03/1/19(日) 12:00  -------------------------------------------------------------------------
   ▼JuJu さん こんにちは

貼っつけちゃいますが、ちょっと見てやってください。
Sub 明細転記()
’札価変更明細票作成
' マクロ記録日 : 2003/1/18

Dim i As Integer
Dim j As Integer
Dim k As Integer


Windows(2).Activate
i = Range("J1").CurrentRegion.Rows.Count - 1
j = 21
k = 2
Do

  Windows(2).Activate
  Cells(k, 14).Select
  Application.CutCopyMode = False
  Selection.Copy
  Windows("札価変更明細.xls").Activate
  Cells(j, 2).Select
  ActiveSheet.Paste
  
  j = j + 1
  k = k + 1
  

Loop While j <= i + 20

End Sub
 ───────────────────────────────────────  ■題名 : 余談  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/19(日) 23:29  -------------------------------------------------------------------------
   takasiさん、こんにちはぁ

SelectやActivateを使わない方法もあります。

>  Cells(k, 14).Select
>  Selection.Copy

は、
 Cells(k, 14).Copy

>  Cells(j, 2).Select
>  ActiveSheet.Paste

は、
 Cells(j, 2).Paste

に置き換えが可能です。
(選択しない分、すこし速いかも)

ブック名、シート名が分かっているのでしたら、
 Workbooks("コピー元ブック名").Sheets("コピー元シート名").Cells(k, 14).Copy Workbooks("コピー先ブック名").Sheets("コピー先シート名").Cells(j, 2)
と1行で書くこともできます。

Copyメソッドは指定範囲の一括コピーもできるので、Do分やFor分でまわさなくても1行でコピーすることもできますよ。

ではではぁ
 ───────────────────────────────────────  ■題名 : 解決しました。  ■名前 : takasi  ■日付 : 03/1/19(日) 23:00  -------------------------------------------------------------------------
   JuJu さんありがとうございます。

LOOPかWINDOWの問題だと思い
いろいろ試しました
WHILEをUNTILにしたり
前にもってきたり後にしたり
SPECIALPASTEしたりと
結果は同じでしたのでWINDOWの問題だと確信しました

LOOPの前にWINDOW ACTIVE をもってきたら解決しました。

また今日問題に突き当たりました
1から17までを繰り返しデータ行数まで付番したいのですが
FOR 1 TO 17
では1回しか付番しませんので
おそらくDO LOOP
でやらないといけないと思いますが、記述がわかりません
教えてちょう (名古屋ですので)
 ───────────────────────────────────────  ■題名 : Re:解決しました。  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/1/19(日) 23:33  -------------------------------------------------------------------------
   takasiさん、こっちもこんにちはぁ

>1から17までを繰り返しデータ行数まで付番したいのですが
>FOR 1 TO 17
>では1回しか付番しませんので
>おそらくDO LOOP
>でやらないといけないと思いますが、記述がわかりません

For分の中にFor分を書きます。
 For i = 1 To 17
   For j = ...(データ行数)
     (処理)
   Next
 Next

ではではぁ
 ───────────────────────────────────────  ■題名 : 明日さっそく試します。  ■名前 : takasi  ■日付 : 03/1/21(火) 0:47  -------------------------------------------------------------------------
   forのなかにforを書くなんて思いもよりませんでした
自分なりに今日休みで思いついたのは
do loopで1から17までセルバリューを繰り返すことです
これでもいけそうな気もします
素人考えですが

余談ですが私は名古屋近郊在住で
42歳です、百貨店で値札を毎日作っております
毎日単純なエントリー仕事です
でも自分はプロ意識が強く、単純なしごとは早く片付けて
マクロの勉強しております
左足が悪く一応障害者で結婚もしておりません
シスアドも3回受けましたがだめでした
これで4回目です 遊んでばかりいますのでだめです
毎日酒飲んでます 
これが簡単なプロフィールです

こんなぐうたら人間ですがよろしくご指導お願いします

一方のファイルの名前が確定できないのです
そこがちょっとめんどうです
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 572