advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1215 for (Mook) (0.001 sec.)
[[20150126204247]]
#score: 9211
@digest: 2bc56b90e0d69496d0c7e95c2f8de943
@id: 67143
@mdate: 2015-01-26T12:43:32Z
@size: 2570
@type: text/plain
#keywords: a105 (19036), 時53 (18928), a157 (11726), ルc3 (10751), xlpasteall (8490), a209 (6347), 理ca (5509), 元. (4798), ペ() (4265), 件毎 (2841), 104 (2641), ルa1 (2186), pastespecial (1918), が21 (1700), 理en (1268), ー先 (1200), 理方 (1156), ー元 (1061), ら10 (1024), 字( (891), てセ (864), コピ (781), て貼 (774), ー貼 (751), copy (750), ピー (738), paste (702), 行か (671), 数) (649), case (547), num (540), 処理 (529)
『条件毎にコピー貼り付け』(ななママ)
セルC3に入力される数字(整数)によってコピーペーストの処理方法を変えたいと考えています。 セルC3が21〜30の時 53行から104行をコピーしてセルA105を選択して貼り付け セルC3が31〜40の時 53行から104行をコピーしてセルA105を選択して貼り付け、 セルA157を選択して貼り付け セルC3が41〜50の時 53行から104行をコピーしてセルA105を選択して貼り付け、 セルA157を選択して貼り付け、 セルA209を選択して貼り付け こんな感じでセルC3を10ずつ200まで区切って処理したいのです。 下記のように途中までマクロを作成してみましたがうまく動きません。 セルC3の値が21以上なら53行から104行をコピーしてセルA105に貼り付けにしかなりません。どう改善すればよいでしょうか?お願いします。 Sub コピペ() If 21 <= Range("C3") <= 30 Then Rows("53:104").Copy Range("A105").PasteSpecial (xlPasteAll) ElseIf 31 <= Range("C3") <= 40 Then Rows("53:104").Copy Range("A105,A157").Select Selection.PasteSpecial Paste:=xlPasteAll ElseIf 41 <= Range("C3") <= 50 Then Rows("53:104").Copy Range("A105,A157,A209").Select Selection.PasteSpecial Paste:=xlPasteAll End If End Sub < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- If 21 <= Range("C3") <= 30 Then という書き方は出来ません。 If 21 <= Range("C3").Value And Range("C3").Value <= 30 Then というように分けて書いてください。 他の条件記述も同様です。 コピーの方もできないと思ったら、あらできた。 ということで取り下げ。 (Mook) 2015/01/26(月) 21:09 ---- 一応のサンプルです。 If を重ねてや Select Case でも出来ますが、今回は For 文で。 Sub Sample() Dim num As Long num = Range("C3").Value If num <= 20 Or num > 200 Then Exit Sub For r = 2 To Int((num - 1) / 10) Rows("53:104").Copy Range("A105").Offset((r - 2) * 52).PasteSpecial Paste:=xlPasteAll Next End Sub (Mook) 2015/01/26(月) 21:42 ---- 処理としては コピー元.Copy と コピー先.PasteSpecial xlPasteAll でもいいのですが xlPasteAll であれば、copyメソッド一本で コピー元.Copy コピー先 として記述することができます。 Sub Test1() Rows("53:104").Copy Range("A105") End Sub また、条件分岐、このケースであれば、Mookさんもいわれるように、Select Case もわかりやすいかもしれません。 Sub Test2() Select Case Range("C3").Value Case 21 To 30 'その条件の時の処理 Case 31 To 40 'その条件の時の処理 Case 41 To 50 'その条件の時の処理 End Select End Sub (β) 2015/01/26(月) 21:43 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201501/20150126204247.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97054 documents and 608268 words.

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