
No.3ベストアンサー
- 回答日時:
先日も似たような回答をしましたが。
(画像なのでコードのコピペが出来ないので簡略)
目的のシート名.Range と Columns(3)・Columns(10) において、目的のシートがアクティブな状態でないのでエラーになっているのでしょ。
例:
Dim n As Long
n = 20
With Worksheets("Sheet2")
.Range(.Columns(3), .Columns(5)).Copy .Columns(n)
End With
End Sub
このようにするとシート2がアクティブな状態でなくても、 "."が With Worksheets("Sheet2") によりシート名を省略している事になるようだと別回答がありましたね。
No.6
- 回答日時:
回答への質問に対して全く返答が無いのでチンプンカンプンの事になってしまうかもしれません。
(もし回答に対して何らかの不満などあって返答したくなくても、何かしらの返答を頂かないと返って不満が有る回答が増えてしまうかもしれませんよ)望んでいる回答は次のうちどれでしょうか?
① なぜエラーが出るか?
⇒ 書き方が許可されていない。
② エラーを出さないようにするにはどうしたらいいのか?
⇒ 何をやりたいのかを言葉で提示して下さい。
例①「1-1」シートの3列目と10列目をどこかにコピーしたい。
例②「1-1」シートの3~10列をどこかにコピーしたい。
例③「商品マスタ」シートの3列目と10列目をどこかにコピーしたい。
③「商品マスタ」シートの指定列を他のシートへコピーする方法が知りたい?
⇒ 何をやりたいのかを言葉で提示して下さい。
例①「商品マスタ」シートの3列目と10列目の最後から4行目までを「1-1」シートにコピーしたい。
「商品マスタ」シートの6列目と8列目の最後から4行目までを「データ」シートにコピーしたい。
「商品マスタ」シートの5列目と13列目の最後から4行目までを「集計」シートにコピーしたい。
④ その他
⇒ 何を望んでいるか?赤の他人でも判る言葉で提示して下さい。
No.5
- 回答日時:
No.3です。
セルの範囲については疑問が既に出ているので別件です。
シート”商品マスタ" がこのコードにどのように関係するのか不明な感じがします。
やっているのは『同じシート内でのコピペ』ですよね?
もしかしてですが”商品マスタ”のシートからそれぞれのシートにコピペしたいのかな?って。
それとも製作途中状態での質問ですかね?
No.2
- 回答日時:
もし、どうしてもご提示のような使い方をする場合や変数を使いたい場合などは以下のユーザー定義関数を組み込んでおくと便利だと思います。
Function CoStr(CoNo As Long) As String
CoStr = StrReverse(Mid(StrReverse(Cells(1, CoNo).Address(False, False)), 2))
CoStr = CoStr & ":" & CoStr
End Function
使い方は「Sheets("1-1").Range(Columns(3), Columns(10)).Copy」の場合は「Sheets("1-1").Range(CoStr(3) & "," & CoStr(10)).Copy」のようにします。
なお、このユーザー定義関数に付きましては機能アップしエラー処理もするものを解説とともに私のHP( https://luckshp.web.fc2.com/ )に「列番号⇒列範囲」として近日中にアップしておきます。興味が有る場合は覗いてみて下さい。
No.1
- 回答日時:
「Range(Columns(3),Columns(10))」という書き方が許可されていない為だと思います。
今回のように固定されているなら「Range("C:C,J:J")」とされるのが簡単だと思います。
他の場所も同様に…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル VBAの構文について 2 2023/02/10 18:26
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルについて教えてください。 3 2023/03/24 08:34
- Excel(エクセル) Excel フィルタ後のコピー貼付けと可視セルの関係について 3 2023/02/07 16:42
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字を含むシートだけマ...
-
excelのマクロで該当処理できな...
-
XL:BeforeDoubleClickが動かない
-
【VBA】シート名に特定文字が入...
-
実行時エラー1004「Select メソ...
-
エクセルVBA Ifでシート名が合...
-
Excelマクロのエラーを解決した...
-
Excel VBA で自然対数の関数Ln...
-
ユーザーフォームに入力したデ...
-
エクセルのシート名変更で重複...
-
シート削除のマクロで「delete...
-
VBAの授業でナンプレを制作して...
-
Worksheet_Changeの内容を標準...
-
シートが保護されている状態で...
-
VBAで同じシート名のコピー時は...
-
【Excel VBA】Worksheets().Act...
-
VBA オートフィルター繰り返し
-
ブック名、シート名を他のモジ...
-
VBAマクロでシートコピーした新...
-
VBA 検索して一致したセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
実行時エラー'1004': WorkSheet...
-
ブック名、シート名を他のモジ...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
ExcelVBA:複数の特定のグラフ...
-
エクセルのシート名変更で重複...
-
IFステートの中にWithステート...
-
VBA 検索して一致したセル...
-
ExcelのVBAのマクロで他のシー...
-
XL:BeforeDoubleClickが動かない
-
別のシートから値を取得するとき
-
エクセルVBA Ifでシート名が合...
-
エクセル・マクロ シートの非...
-
シートが保護されている状態で...
-
シート削除のマクロで「delete...
おすすめ情報