値のコピー&ペースト(空白を除いてコピー)したいと思っております。
シート1 の A35、D35、I35 をコピー。
シート2 の A2 に貼り付け。
これは、大丈夫です。
シート1 の M2 : O23 をコピー。
シート2 の E2 に貼り付け。
今回の場合ですと、M2 : O13 までに値が入ってます。
ですので、M14 : O23 までが、空白になって記入となってしまいます。
*毎回、値が入る量が違います。
一回のコピーですと、これでもいいのですが、
値を変更して、コピーを続けてしますので、M14 : O23 までが、空白になってM24からのコピーになってしまいます。
空白を除いて、貼り付けしたいのですが、
どうすればいいのかわかりません。
お分かりになる方、ご指導よろしくお願いします。
VBAは以下になっております。
Sub Macro1()
'
Application.ScreenUpdating = False
Sheets("Sheet1").Range("A35,D35,I35").Copy
If Sheets("Sheet2").Range("A2").Value = "" Then
Sheets("Sheet2").Range("A2").PasteSpecial Paste:=xlPasteValues
Else
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
End If
Sheets("Sheet1").Range("M2:O23").Copy
If Sheets("Sheet2").Range("E2").Value = "" Then
Sheets("Sheet2").Range("E2").PasteSpecial Paste:=xlPasteValues
Else
Sheets("Sheet2").Range("E" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
End If
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
よろしくお願いします。
No.6ベストアンサー
- 回答日時:
回答2、myRangeです。
いま補足を見ましたので、回答します。
回答2、補足のコード、
>For Each Rng In Sheets("Data").Range("FP63367:FR63388")
は、FP63367:FR63388 が間違いです。
回答2のその部分をよーく見ればわかると思いますが、
M2:O23 ではなくてM列のみ指定(M2:M23)してありますよね。
なので、FP~FR列なら、
最初の列、FP列のみを指定しないといけません。
FP63367:FP63388
-------------------------------------------------------
Sub Macro1編集後()
Application.ScreenUpdating = False
Dim Rng As Range
Dim LastRow As Long
●ここをFP63367:FP63388とFP列だけ指定する
For Each Rng In Sheets("Data").Range("FP63367:FP63388")
If Rng.Value <> "" Then
LastRow = Sheets("拾い出し").Cells(Rows.Count, "P").End(xlUp).Row
Sheets("拾い出し").Cells(LastRow + 1, "P").Resize(1, 3).Value = Rng.Resize(1, 3).Value
End If
Next Rng
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
-----------------------------------------------------
以上です。
myRangeさん、回答ありがとうございます。
私のやりたい事、すべて出来ました~
めっちゃうれしいです。
何度も回答して頂きありがとうございました。
今後共、よろしくお願いします。
No.5
- 回答日時:
kozirou54です。
「Option Explicit」は、すべてのコードの最初になければいけません。つまり、
Option Explicit
Sub Macro1()
・・・・・・
End Sub
の順番に記述しなければいけません。
実は「Option Explicit」はなくても動きます。邪魔なようでしたら、削除してください。
kozirou54さん、回答何度もありがとうございます。
できました~!
ひとつの事、するのだけでも、色々なやり方があるのですね~
何度もすみませんでした。
今後共、よろしくお願いします。
No.4
- 回答日時:
すみません、間違えました。
5行目を、
For r = 2 To 23
に変えてください。
kozirou54さん、何度も回答ありがとうございます。
新しいファイルを作り、同じように
シート1のM2:O23に表を作りました。
kozirou54さんの、教えて頂いたVBAを書き込みましたが、
同じようにエラーがでます。
どこが、いけないのかわかりません。
以下が私の書き込みしたVBAです。
Sub Macro1()
Option Explicit
Sub ValueCopy()
Dim r As Integer
Dim c As Integer
For r = 2 To 23
For c = 13 To 15
If Sheets(1).Cells(r, c).Value <> "" Then
Sheets(2).Cells(r, c - 8).Value = Sheets(1).Cells(r, c).Value
End If
Next c
Next r
End Sub
お時間許すのであれば、ご指導よろしくお願いします。
No.3
- 回答日時:
あまり自信はありませんが、次のコードを試してください。
Option Explicit
Sub ValueCopy()
Dim r As Integer
Dim c As Integer
For r = 2 To 13
For c = 13 To 15
If Sheets(1).Cells(r, c).Value <> "" Then
Sheets(2).Cells(r, c - 8).Value = Sheets(1).Cells(r, c).Value
End If
Next c
Next r
End Sub
kozirou54さん、回答ありがとうございます。
早速、試して頂きました。
ですが、エラーが出ます。
コンパイルエラー:
プロシージャ内では無効です。
Option Explicitが選ばれております。
私は、VBAは詳しくなく、ここでみなさんに教えて頂いた内容も
さっぱり解らない為、こうしたらどうなるか等、
色々している内に、VBAやエクセル内がぐちゃぐちゃになっています。
それが原因だと思います。
回答して頂きありがとうございました。
今後共、よろしくお願いします。
No.2
- 回答日時:
「空白」は、未入力(Empty)のことではなくて
式の結果、例えば、""(長さ0の文字列)のことをいってるのではありませんか?
で、あれば、ひとつずつ処理しなければできません。
例えば、以下のように。
'---------------------------------------------------
Dim Rng As Range
Dim LastRow As Long
For Each Rng In Sheets("Sheet1").Range("M2:M23")
If Rng.Value <> "" Then
LastRow = Sheets("Sheet2").Cells(Rows.Count, "E").End(xlUp).Row
Sheets("Sheet2").Cells(LastRow + 1, "E").Resize(1, 3).Value = Rng.Resize(1, 3).Value
End If
Next Rng
'-------------------------------------------------
以上です。
この回答への補足
myRangeさん、回答ありがとうございます。
私のやりたい事すべて、出来ました~!
感動しまくってます~
それで、他のファイルにも、活用しようと試みました・・・がうまくいきません。
(行った作業)
Data! FP63367 : FR63388 をコピー
拾い出し! P4 に貼り付け
(結果)
P4 ● Q4 WT5001 R4 120
P5 WT5001 Q5 120
P6 120
P7 トリプル Q7 WT3003W R7 41
P8 WT3003W Q8 41
P9 41
・
・
と値が重複して書き込まれます。
教えて頂いた、VBAの意味がわかっておらず色々数字を変えて試みましたが、おかしくなる一方で一向に改善できません。
どこがおかしいか、教えていただけませんか?
何度も、申し訳ありませんが、ご指導よろしくお願いします。
(VBA)以下を書き込みました。
Sub Macro1編集後()
Application.ScreenUpdating = False
Dim Rng As Range
Dim LastRow As Long
For Each Rng In Sheets("Data").Range("FP63367:FR63388")
If Rng.Value <> "" Then
LastRow = Sheets("拾い出し").Cells(Rows.Count, "P").End(xlUp).Row
Sheets("拾い出し").Cells(LastRow + 1, "P").Resize(1, 3).Value = Rng.Resize(1, 3).Value
End If
Next Rng
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
よろしくお願いします。
myRangeさん、回答ありがとうございます。
おかげで、うまく出来ました~!
感動してます~
補足の書き込みについて教えて頂けませんか。
今後共、よろしくお願いします。
No.1
- 回答日時:
オプションで空白セルを無視するようにせっていすればいいのでは。
空白セルを無視し、すべて貼り付け
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
空白セルを無視し、値のみ貼り付け
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
kozirou54さん、回答ありがとうございます。
その方法で、やらせて頂きましたが、やはり空白が入ってしまい
駄目でした。
ありがとうございました。
今後共、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) VBAのoffsetの動き方について教えてください 3 2022/11/25 23:36
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
excelでsin二乗のやり方を教え...
-
これって喉仏ですか? 私は女性...
-
口の中に黒い血の塊
-
納豆食べた後の尿の納豆臭は何故?
-
2つの数値のうち、数値が小さい...
-
エクセル指定した範囲からラン...
-
筋トレするとチンコが縮んじゃ...
-
変な話しになります。尿検査で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報