
No.2ベストアンサー
- 回答日時:
こんにちは!
元データに手を加えるのではなく、別Sheetに11列ごとコピー&ペーストではどうでしょうか?
仮にSheet1のデータをSheet2にコピー&ペーストする一例です。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim j As Long, cnt As Long, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
For j = 11 To wS1.Cells(1, Columns.Count).End(xlToLeft).Column Step 11
cnt = cnt + 1
wS1.Columns(j).Copy wS2.Cells(1, cnt)
Next j
End Sub 'この行まで
※ 通常、行方向にデータがあることが多いのですが、
質問では「列」となっていますので、列方向で操作しています。
※ 1行目のデータ数で最終列を判断していますので、
1行目は項目等何らかのデータが入力されているという前提です。m(_ _)m
質問サイトを使ったことがなく、回答があるとメールに通知が来ると思っておりまして、お礼が遅くなりました。すぐに回答頂いたのに、申し訳ございません。おかげさまで処理がスムーズに出来るようになりました。ご説明が初心者の私には一番分かりやすかったのでベストアンサーにさせていただきました。ありがとうございました。
No.4
- 回答日時:
'見出しの文字列で判断できれば、、、
Option Explicit
Sub Samplling()
Const xSelect_Del = "Fast sampling" '削除したい列の見出し
Const xHead = 1 '見出しの行
Dim xCol_Left As Long
Dim xCol_Right As Long
Dim kk As Long
With ActiveSheet.UsedRange
xCol_Left = .Column
xCol_Right = .Columns(.Columns.Count).Column
For kk = xCol_Right To xCol_Left Step -1
If (Cells(xHead, kk).Value = xSelect_Del) Then
Columns(kk).Delete
End If
Next
End With
End Sub
質問サイトを使ったことがなく、回答があるとメールに通知が来ると思っておりまして、お礼が遅くなりました。すぐに回答頂いたのに、申し訳ございません。プログラミングのどこを改変すればよいのかが分からず、実行がかないませんでした。これから学んで行きたいと思います。ご教授ありがとうございました。

No.3
- 回答日時:
Sheet1 の 1列目から 10列削除して、11列目を残し、12列目から 10列削除して、22列目を残し・・・と周期的に Sheet2 に抽出する
Sheet2!A1!: =INDEX(Sheet1!1:1,11*COLUMN())
Sheet1 の 1行目から 10行削除して、11行目を残し、12行目から 10行削除して、22行目を残し・・・と周期的に Sheet2 に抽出する
Sheet2!A1: =INDEX(Sheet1!A:A,11*ROW())
質問サイトを使ったことがなく、回答があるとメールに通知が来ると思っておりまして、お礼が遅くなりました。すぐに回答頂いたのに、申し訳ございません。頂いた回答の中でもっともプログラミングがシンプルで、おそらく一番スマートな方法をご教授いただいたのだと思います。
No.1
- 回答日時:
手作業をそのままマクロに書き写すと、だいたいこんなカンジになります。
手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける
sub macro1()
range("A1").select
start:
if selection.range("A1")="" then exit sub
selection.range("A:J").delete shift:=xlshifttoleft
selection.range("B1").select
goto start
end sub
ファイルメニューから終了してエクセルに戻る
データシートを開いてマクロを実行する。
#実際にはもうちょっと簡単には、新しいマクロの記録で
11列目、22列目、33列目…をコントロールキーを押しながら飛び飛びに最大限列選択しておき、コピーしてシート2のA1に貼り付ける
といったマクロを使うのでも、十分役に立ちます。
質問サイトを使ったことがなく、回答があるとメールに通知が来ると思っておりまして、お礼が遅くなりました。すぐに回答頂いたのに、申し訳ございません。丁寧なご説明、ありがとうございました。実際にプログラミングを動かしてみて、マクロの有用性を実感しました。勉強していきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excel(VBA)データ入力に応じて...
-
excel ある部分だけをコピペし...
-
Excel2007 セルを右方向に削除...
-
Excel にて非表示行を探すワー...
-
エクセルで全ての数字間にカン...
-
並べ替えのマクロで対象行の範...
-
値貼り付けをしても書式も貼り...
-
「マクロ」の足し算の式を教え...
-
エクセル2003でマクロをおこな...
-
エクセルを使って英文から単語...
-
Excelでセル内の数式は残し値だ...
-
エクセル VBA 小数点を含む数字...
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
エクセル 計算式も入っていない...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
EXCELで1ヶ月分の連続した日付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel2007で、太字にした行のみ...
-
excel ある部分だけをコピペし...
-
条件に応じて特定の行を非表示...
-
Excel にて非表示行を探すワー...
-
エクセル VBA 小数点を含む数字...
-
値貼り付けをしても書式も貼り...
-
Excel(VBA)データ入力に応じて...
-
Excel2007 セルを右方向に削除...
-
wordのvbaでハイパーリンク設定...
-
エクセルで全ての数字間にカン...
-
エクセルのマクロについて質問...
-
昨日、エクセルVBAで、隣のセル...
-
Excelでセル内の数式は残し値だ...
-
エクセル2003でマクロをおこな...
-
エクセルで、行ごとの並び替え...
-
EXCELの行(または列)の...
-
エクセルVBA_散布図について
-
マクロで教えてください。
-
yyyy/mm/ddの日付に一括変換す...
-
エクセル マクロでシートを保護...
おすすめ情報