advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 159 for (素人) (0.000 sec.)
[[20170607075821]]
#score: 10177
@digest: e36cfb9637bf46a510534c1a35a58cca
@id: 73658
@mdate: 2017-06-08T13:04:56Z
@size: 5623
@type: text/plain
#keywords: 程表 (31996), 表( (26720), 工程 (15233), 秀丸 (11794), 数l (10139), 「工 (9540), 入貼 (6375), ・ne (6131), 数i (5757), activate (3684), select (2931), insert (2446), (素 (2343), selection (2288), cut (2135), macro1 (2095), スラ (1758), xldown (1684), 素人 (1674), sheets (1497), 変数 (1411), rows (1280), 意図 (1102), 」シ (1049), macro (1021), step (986), 人) (971), ル行 (950), (変 (883), 2017 (872), つ増 (842), shift (839)
『工程表(B) の2行を切り取り工程表(A)へ貼り付け』(素人) 下記の様なマクロを組んでみたのですが、型が一致しないという が出て、 内容的には、 Sub Macro1() ' Macro1 Macro Dim i As Long, F As Long, l As Long, G As Long F = F9 l = 11 G = F9 For i = 9 To 100 Step 2 Sheets("工程表 (B)").Select Rows("i:i+1").Select Range("F").Activate Selection.Cut Sheets("工程表(A)").Select Rows("l:l").Select Range("G").Activate Selection.Insert Shift:=xlDown F = F + 2 l = l + 4 G = G + 2 Next i End Sub < 使用 Excel:Excel2007、使用 OS:Windows7 > ---- 少しこのマクロの意図を整理したいのですが、 私の認識が違っていたらすみません。 「工程表(B)」シートの9行目からその下の1行までの2行分の 範囲を切り取って「工程表(A)」シートの11行目に挿入貼り付けする。 これを「工程表(B)」シートの100行目まで2行ごと繰り返す。 ですか? とりあえず文法的に間違っているのがいくつかあります。 まず質問のエラーが出ているのは Rows("i:i+1").Select の部分だと思います。書くのであれば Rows(i & ":" & i + 1).Select のように記述します。 次に Range("F").Activate や Range("G").Activate でもエラーとなります。 セルの行番号が指定されていませんので、 Range("F9").Activate のように記述します。 同じく Rows("l:l").Select もエラーになります。 l = 11とありますので ここも素直に Rows(l).Select でいいと思います。 これでも貼り付け時にエラーが出ると思いますので 投稿者さんの意図がわかればまた。 (秀丸) 2017/06/07(水) 09:04 ---- たぶん >F = F9 でFという変数にF9セルをいれて >Range("F").Activate でF9セルをアクティブに。 >F = F + 2 でFという変数をF11セルに。 ということを目指しているのだろうな。 で、Option Explicitを付けていないので >F = F9 がコンパイルエラーになっていないのだろう。 (ねむねむ) 2017/06/07(水) 09:11 ---- 秀丸さん、ねむねむさん、回答ありがとうございます。 マクロの意図は、お二人の見解で間違いないと思います。 以下のマクロを「工程表(B)」シートの100行目まで2行ごとに繰り返したいのです。 今朝投稿したマクロどのように書くのが正しいのでしょうか。 それと、下記のマクロを実行してみると、なぜかマクロを記録した時とは違う結果になります。 なぜなのでしょうか。 Sub Macro1() ' ' Macro1 Macro ' ' Rows("9:10").Select Range("F9").Activate Selection.Cut Sheets("工程表(A)").Select Rows("11:11").Select Range("F11").Activate Selection.Insert Shift:=xlDown Sheets("工程表 (B)").Select Rows("11:12").Select Range("F11").Activate Selection.Cut Sheets("工程表(A)").Select Rows("15:15").Select Range("F15").Activate Selection.Insert Shift:=xlDown Sheets("工程表 (B)").Select Rows("13:14").Select Range("F13").Activate Selection.Cut Sheets("工程表(A)").Select Rows("19:19").Select Range("F19").Activate Selection.Insert Shift:=xlDown End Sub (素人) 2017/06/07(水) 23:24 ---- 後者の質問の、マクロ記録時と違う結果になる理由が判りました。 最初にシートを選択していませんでした。 Sheets("工程表 (B)").Select 文頭に、これを追記したら、結果が同じになりました。 前者の質問について、どなたかご教授願います。宜しくお願いします。 (素人) 2017/06/07(水) 23:46 ---- おはようございます。 アドバイスを参考にして 書いてみました。 これでもエラーが。。。 Sub Macro1() ' Macro1 Macro Dim i As Long, F As Long, l As Long, G As Long For i = 9 To 100 Step 2 For j = 9 To 100 Step 2 For k = 11 To 200 Step 4 For l = 9 To 200 Step 4 Sheets("工程表 (B)").Select Rows(i & ":" & i + 1).Select Range("F" & j).Activate Selection.Cut Sheets("工程表(A)").Select Rows("k").Select Range("F" & l).Activate Selection.Insert Shift:=xlDown Next i, j, k, l End Sub (素人) 2017/06/08(木) 08:10 ---- エラーが出たのはNextのところではないですか? For〜Nextで1ステートメントですから、 For i=9 ・・・・ Next i For j=9 ・・・・ Next j とひとつずつくくりましょう。 では本題で、整理しましょう。 「工程表 (B)」は9行目から2行づつ切り取り、100行目まで。 「工程表(A)」の11行目から4行ごとに挿入貼り付け。 つまり 「工程表 (B)」のセル行(変数i)は9〜100の範囲で2行ずつ増える、 「工程表(A)」のセル行(変数l)は11から始まり、変数iの繰り返し分増える。 その間カットペーストを繰り返す、わけですので 繰り返しの処理は1回分で、変数iは2ずつ、変数lは4ずつ増やすのを 「工程表 (B)」の変数iの範囲分(9〜100のstep2)繰り返せばいい。 となります。 使う変数は2つでOK、繰り返し処理は1つでOK、です。 これを単純に書くと下記のようになります。 Sub Macro1() Dim i As Long, l As Long l = 11 For i = 9 To 100 Step 2 Sheets("工程表 (B)").Select Rows(i & ":" & i + 1).Select Selection.Cut Sheets("工程表(A)").Select Rows(l).Select Selection.Insert Shift:=xlDown l = l + 4 Next i End Sub selectする部分を省略して書くと、 Sub Macro2() Dim i As Long, l As Long l = 11 For i = 9 To 100 Step 2 Sheets("工程表 (B)").Rows(i & ":" & i + 1).Cut Sheets("工程表(A)").Rows(l).Insert l = l + 4 Next i End Sub のようになります。 (秀丸) 2017/06/08(木) 08:55 ---- ありがとうございます!思い通りにできました! とても助かります。 selectする必要はなかったのですね。 一体どうすれば、皆さんの様にスラスラとスマートニ書けるようになるのでしょうか。 実践有るのみでしょうか。 下手な質問に丁寧に答えていただき、本当にありがとうございました。 (素人) 2017/06/08(木) 22:04 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201706/20170607075821.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97056 documents and 608292 words.

訪問者:カウンタValid HTML 4.01 Transitional