
下記コードはExcelのページを追加するコードになっています。
"9:51"にデータが入った状態でページを追加した際、書式から値まですべてコピーされた状態でペーストされるのですが、これを書式と数式のみ貼付けとしたいです。
コードの修正出来ませんでしょうか(>_<)
よろしくお願いいたします。。
Sub ページを追加()
Dim myRange As Range
Dim Maxrow, i, j As Long
'データがあるセル範囲の最終行番号を取得
Set myRange = ActiveSheet.UsedRange
Maxrow = myRange.Row + myRange.Rows.Count - 1
'現在ページ数を計算
i = Application.RoundUp((Maxrow - 8) / 43, 0)
'ペーストを開始する行番号を計算
j = i * 43 + 9
Rows("9:51").Select
Selection.Copy
Rows(j).Select
ActiveSheet.Paste
End Sub
(こちらのサイトより引用させて頂いております。)
No.7
- 回答日時:
???
現状のコードを全て公開してください。
Sub ページを追加()
Dim myRange As Range
Dim Maxrow, i, j As Long
'データがあるセル範囲の最終行番号を取得
Set myRange = ActiveSheet.UsedRange
Maxrow = myRange.Row + myRange.Rows.Count - 1
'現在ページ数を計算
i = Application.RoundUp((Maxrow - 8) / 43, 0)
'ペーストを開始する行番号を計算
j = i * 43 + 9
Range("A9:P51").Select
Selection.Copy
Range("A" & j).PasteSpecial xlPasteAll
For Each myRange In Selection
If Left(myRange.Value, 1) <> "=" Then
myRange.Value = ""
End If
Next myRange
End Sub
このようになっています。
お願いしますm(__)m
No.5
- 回答日時:
特に難しいことはありません。
行指定しているところを範囲指定してあげれば良いだけです。
例えばコピー対象がA列からH列なら
Rows("9:51").Select
を
Range("A9:H51").Select
Rows(j).PasteSpecial xlPasteAll
を
Range("A" & j).PasteSpecial xlPasteAll
に変更してください。
分かりやすい解説ありがとうございます。
試してみたら
Range("A9:H51").Select.Selectのところでデバッグとなりました。
オブジェクトが必要とでています。
何か足りないのでしょうか(>_<)
No.4
- 回答日時:
それでしたら、1セルずつ数式か値かを判断する必要があります。
Rows(j).Select
ActiveSheet.Paste
の部分を以下に置き換えてください。
Rows(j).PasteSpecial xlPasteAll
For Each myRange In Selection
If Left(myRange.Value, 1) <> "=" Then
myRange.Value = ""
End If
Next myRange
ただ、上記だと遅いので出来れば行の指定だけではなく、列の指定もした方が良いです。
No.2
- 回答日時:
Rows(j).Select
ActiveSheet.Paste
の部分を以下に置き換えてください。
Rows(j).PasteSpecial xlPasteAll
Selection.ClearContents
Rows("9:51").Select
Selection.Copy
Rows(j).PasteSpecial xlPasteFormats
Rows(j).PasteSpecial xlPasteFormulas
これで罫線は残るようになりました(*^^*)
あと、セル内の値をクリアするようお願い出来ますか?
何度も申し訳ありません、、m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで指定した日付から過去の...
-
Application.Matchで特定行の検索
-
特定のセルが空白だったら、そ...
-
UWSCで値のみコピーするには?
-
任意フォルダから画像をすべて...
-
結合セルを含む列の非表示方法
-
Book1のセルへ別Book(Book2)...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】セルの色によって...
-
(UWSC) エクセルのセルをコピー...
-
セルに貼り付けた画像の上から...
-
連続する複数のセル値がすべて0...
-
ExcelのVBAについて、指定の文...
-
プラスの数をマイナスにしたい...
-
DataGridViewで右寄せ左寄せが...
-
Excel VBAで セル内の値を1づ...
-
VBAでセル同士を比較して色付け
-
ExcelVBAを使って、値...
-
VBA実行後に元のセルに戻りたい
-
Excel VBAで比較して数値があっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
特定行の色を変えたい(FlexGrid)
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
VBA実行後に元のセルに戻りたい
-
Application.Matchで特定行の検索
-
”戻り値”が変化したときに、マ...
-
VBAでセルをクリックする回...
-
任意フォルダから画像をすべて...
-
Excel VBAで、 ヘッダーへのセ...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】指定行以降をクリ...
-
Excel vbaで特定の文字以外が入...
-
ExcelのVBAで数字と文字列をマ...
-
Excel VBA、 別ブックの最終行...
-
DataGridViewの各セル幅を自由...
-
VBA ユーザーフォーム ボタンク...
-
連続する複数のセル値がすべて0...
おすすめ情報
すみません、デバッグなく動いたのですが、今度は罫線が消えてしまいました(:_;)
罫線(書式)と数式の貼付けのコードを含めた状態で教えてほしいです(>_<)
申しわけありません、、