Excel VBA質問箱 IV

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

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


5289 / 13646 ツリー ←次へ | 前へ→

【51696】マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 13:20 質問[未読]
【51697】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 13:32 発言[未読]
【51698】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 13:41 質問[未読]
【51699】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 13:43 質問[未読]
【51701】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 13:55 発言[未読]
【51703】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 14:09 お礼[未読]
【51702】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 14:02 発言[未読]
【51704】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 14:16 質問[未読]
【51705】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 14:34 発言[未読]
【51708】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 14:40 お礼[未読]
【51709】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 14:44 発言[未読]
【51710】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 14:52 質問[未読]
【51711】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 15:01 発言[未読]
【51714】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 16:21 質問[未読]
【51715】Re:マクロを一部とばして実行するのですが じゅんじゅん 07/10/1(月) 16:35 発言[未読]
【51716】Re:マクロを一部とばして実行するのですが 初心者かめさん 07/10/1(月) 16:48 お礼[未読]

【51696】マクロを一部とばして実行するのですが
質問  初心者かめさん  - 07/10/1(月) 13:20 -

引用なし
パスワード
   またまた、登場です。壁だらけです。

足し算を実行して、その結果を別のセルに複写する処理なのですが、
足し算は実行してくれるのですが、複写の処理はとばして、
次の処理にいってしまうのです。
何故なんでしょう。
条件による選択でもなく、そのままの流れで実行するだけの
処理なのですが、まったくお手上げ状態です。
お分かりの方、お助けください。

【51697】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 13:32 -

引用なし
パスワード
   ▼初心者かめさん さん:
>またまた、登場です。壁だらけです。
>
>足し算を実行して、その結果を別のセルに複写する処理なのですが、
>足し算は実行してくれるのですが、複写の処理はとばして、
>次の処理にいってしまうのです。
>何故なんでしょう。
>条件による選択でもなく、そのままの流れで実行するだけの
>処理なのですが、まったくお手上げ状態です。
>お分かりの方、お助けください。

コードの提示がないので憶測ですが。
式の左辺と右辺を逆にしていると言う事はないでしょうか?
例:(変数aに合計値がある)
正) Range("A1").Value = a
誤) a = Range("A1").Value

【51698】Re:マクロを一部とばして実行するのですが
質問  初心者かめさん  - 07/10/1(月) 13:41 -

引用なし
パスワード
   じゅんじゅんさんこんな感じなんですけれど。
いかがなものでしょうか

  Dim strRange As String
  Dim strFormula As String
  strRange = "f" & n + 1
  strFormula = "=SUM(d" & n & ":d" & n + 1 & ")"
  Range(strRange).Formula = strFormula
⇒ Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
  Selection.Copy
  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
  SkipBlanks _
    :=False, Transpose:=False
  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
  Selection.ClearContents
  Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
⇒ Selection.Copy
  n = n + 1
  比較

⇒の部分を実行してくれないのです。

【51699】Re:マクロを一部とばして実行するのですが
質問  初心者かめさん  - 07/10/1(月) 13:43 -

引用なし
パスワード
   正確には
>  Dim strRange As String
>  Dim strFormula As String
>  strRange = "f" & n + 1
>  strFormula = "=SUM(d" & n & ":d" & n + 1 & ")"
>  Range(strRange).Formula = strFormula
>⇒ Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
>  Selection.Copy
>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
>  SkipBlanks _
>    :=False, Transpose:=False
>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>  Selection.ClearContents
>  Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
>⇒ Selection.Copy
>  n = n + 1
>  比較
>
>⇒の間全部の部分を実行してくれないのです。

【51701】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 13:55 -

引用なし
パスワード
   ▼初心者かめさん さん:
>正確には
>⇒ Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
>  Selection.Copy
>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>  Selection.PasteSpecial Paste:=

Selectを使うとした場合なら(使わないようにするのがベターでしょうか)

Cells(n+1,"F").Select
Selection.Copy
Cells(n+1,"J").Select
Selection.PasteSpecial Paste:= '〜〜〜
で宜しいのでは?

Rangeなら
Range("F" & n+1).Select とかですか。

コピー元は1個のセルですよね?
コピー先は貼り付ける範囲の左上のセルを指定すればOKなハズです。

【51702】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 14:02 -

引用なし
パスワード
   ▼初心者かめさん さん:
>正確には
>>  Dim strRange As String
>>  Dim strFormula As String
>>  strRange = "f" & n + 1
>>  strFormula = "=SUM(d" & n & ":d" & n + 1 & ")"
>>  Range(strRange).Formula = strFormula
>>⇒ Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
>>  Selection.Copy
>>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
>>  SkipBlanks _
>>    :=False, Transpose:=False
>>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>>  Selection.ClearContents
>>  Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
>>⇒ Selection.Copy
>>  n = n + 1
>>  比較
>>
>>⇒の間全部の部分を実行してくれないのです。

>>  Range(Cells(n + 1, "f"), Cells(n + 1, "f")).Select
>>⇒ Selection.Copy
2回目のこの作業は意味あるのでしょうか?
この後ろでPasteを実行しているのですか?

【51703】Re:マクロを一部とばして実行するのですが
お礼  初心者かめさん  - 07/10/1(月) 14:09 -

引用なし
パスワード
   じゅんじゅんさん

ありがとうございます。
やってみます。

【51704】Re:マクロを一部とばして実行するのですが
質問  初心者かめさん  - 07/10/1(月) 14:16 -

引用なし
パスワード
   じゅんじゅんさん、ありがとうございます。
意味あるのですけれど・・・

セルの表示変えてみましたが、
やっぱり、実行してくれませんでした。
まいったなです。

【51705】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 14:34 -

引用なし
パスワード
   ▼初心者かめさん さん:
>じゅんじゅんさん、ありがとうございます。
>意味あるのですけれど・・・
コードの続きがあるのだと思いますけど。

>セルの表示変えてみましたが、
>やっぱり、実行してくれませんでした。
>まいったなです。

>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
>  SkipBlanks _
>    :=False, Transpose:=False
>  Range(Cells(n + 1, "J"), Cells(n + 1, "J")).Select
>  Selection.ClearContents
J列に”値”を貼り付けた後に、そのセルの値をクリアしてますが。

【51708】Re:マクロを一部とばして実行するのですが
お礼  初心者かめさん  - 07/10/1(月) 14:40 -

引用なし
パスワード
   じゅんじゅんさん、ありがとうございます。
そこのところ直してやってみたのですが、
やっぱり複写の処理は実行してくれません。
さっきのご指摘のコピー部分は意味なかったです。
すみません。

でも、どうしてこんな簡単な処理をしてくれないのか
皆目わからなくて、どうなってるんでしょうか?

【51709】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 14:44 -

引用なし
パスワード
   ▼初心者かめさん さん:
>じゅんじゅんさん、ありがとうございます。
>そこのところ直してやってみたのですが、
>やっぱり複写の処理は実行してくれません。
>さっきのご指摘のコピー部分は意味なかったです。
>すみません。
>
>でも、どうしてこんな簡単な処理をしてくれないのか
>皆目わからなくて、どうなってるんでしょうか?

今のコードをアップして頂けますか?

【51710】Re:マクロを一部とばして実行するのですが
質問  初心者かめさん  - 07/10/1(月) 14:52 -

引用なし
パスワード
   じゅんじゅんさん

  Dim strRange As String
  Dim strFormula As String
  strRange = "F" & n + 1
  strFormula = "=SUM(d" & n & ":d" & n + 1 & ")"
  Range(strRange).Formula = strFormula
  Cells(n + 1, "J").Select
  Selection.ClearContents
  Cells(n + 1, "f").Select
  Selection.Copy
  Cells(n + 1, "J").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,      SkipBlanks _
    :=False, Transpose:=False
  n = n + 1
  比較

こんなかんじなんですが、いかがなものでしょうか?

【51711】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 15:01 -

引用なし
パスワード
   ▼初心者かめさん さん:
>じゅんじゅんさん
>
>   Dim strRange As String
>  Dim strFormula As String
>  strRange = "F" & n + 1
>  strFormula = "=SUM(d" & n & ":d" & n + 1 & ")"
>  Range(strRange).Formula = strFormula
>  Cells(n + 1, "J").Select
>  Selection.ClearContents
>  Cells(n + 1, "f").Select
>  Selection.Copy
>  Cells(n + 1, "J").Select
>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,      SkipBlanks _
>    :=False, Transpose:=False
>  n = n + 1
>  比較
>
>こんなかんじなんですが、いかがなものでしょうか?

F列に数式により値は表示されるけど、J列にその値がコピペされない
と言う事ですよね?
問題ないように思いますけど、ループはちゃんと動いてますか?
(n = n + 1 があるのだから、どこかでループしているわけですよね?)

【51714】Re:マクロを一部とばして実行するのですが
質問  初心者かめさん  - 07/10/1(月) 16:21 -

引用なし
パスワード
   じゅんじゅんさん

遅くなってすみません。
ちょっと、離籍していたものですから。

はい、ループしてます。
それはちゃんと動いているのです。

【51715】Re:マクロを一部とばして実行するのですが
発言  じゅんじゅん  - 07/10/1(月) 16:35 -

引用なし
パスワード
   >  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,      SkipBlanks _
>    :=False, Transpose:=False
   Debug.Print Range("F" & n + 1).Formula, Range("F" & n + 1).Value, Range("J" & n + 1).Value , n
>  n = n + 1
>  比較

nのループ回数を減らしてみて、イミディエイトウィンドウに
どのように表示されるか、Debug.Printを追加して実行してみては?
コピーを実行しないより値の問題かなと思いますので。

【51716】Re:マクロを一部とばして実行するのですが
お礼  初心者かめさん  - 07/10/1(月) 16:48 -

引用なし
パスワード
   じゅんじゅんさん

長い時間にわたり、丁寧な回答ありがとうございます。
おっしゃられたことを試して何とかしてみます。
本当にありがとうございました。

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