(B1:B28)を選択しD2に貼り付け(値・行列入れ替え)
(B29:B56)を選択しD3に貼り付け(値・行列入れ替え)
(B57:B84)を選択しD4に貼り付け(値・行列入れ替え)
:
:
:
といった感じに28個セルを選択し順順に貼り付けていく作業を行っているのですが330回くらい繰り返すのであまりに大変なのでマクロを作成しました。やはり途中で操作ミスなどありましたがなんとか記録できました。
しかしこれはVBAで作成すればもっとスマートにできるかな?と思い質問させて頂きます。
どなたかわかる方いれば宜しくお願いします。
No.3ベストアンサー
- 回答日時:
こんな感じ?
Sub Transpose28()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To 330
Cells(i * 28 - 27, 2).Resize(28).Select
Selection.Copy
Cells(i + 1, 4).Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
No.6
- 回答日時:
セルD1に
=INDIRECT("B"&(ROW()-1)*28+COLUMN()-3)
を入力して、必要なだけコピーしてもできますね。
皆さんと同じようなマクロですが、Forループから数値をとってみました。
最終行をシートの一番下から探しています。
Sub DataCopy()
Dim rw As Long '行カウンタ
Application.ScreenUpdating = False '画面更新を止める
'B列の入力されている最後まで、B1から28個飛びで処理していく
For rw = 1 To Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row Step 28
'行方向のコピー。28個
Range(Cells(rw, 2), Cells(rw + 28 - 1, 2)).Copy
'列方向に貼り付け。コピー開始行から貼り付け先の行番号を計算。列はDなので4
Cells((rw - 1) \ 28 + 1, 4).PasteSpecial Paste:=xlValues, Transpose:=True
Next
Application.ScreenUpdating = True '画面更新
End Sub
No.5
- 回答日時:
先に回答されている方と同じですが、極く短く
Private Sub CommandButton1_Click()
j=2
for i=1 to 200 step 8 ’200は仮の例
Range(Cells(i, 1), Cells(i+8, 1)).Copy 'A列について
Cells(j, 2).PasteSpecial Paste:=xlValue, Transpose:=True
j=j+1 ’B2からよこに、B3からよこに、B4から横に・・・値だけコピー
next i
End Sub
テストをし易くするため28個を8個の縦の数値を横にする例に変えました。
No.1
- 回答日時:
意味不明なのですが・・・
とりあえず、この書き込みを見た人の多くは
Step 27
という文字がうかんでいると思うのですが、処理の内容がよくわからないために、回答をできないでいるのだと思います。
複数行のコピーを繰り返してますが、貼り付け先は[D2/D3/D4]と範囲を持っていません。
これでは直前に貼り付けた値が、常に上書きされるはずです。
また
>(値・行列入れ替え)
の部分は、全くどのような法則で行われているのか全く記述されておりません。
質問エリアは800文字しか記入できませんが、補足欄には文字制限が無いので、できたら記録したマクロコードを貼り付けてもらえませんか?
その方がみんなもわかりやすいと思います。
この回答への補足
申し訳ございません。説明不足でした、補足させていただきます。
B1:B28を選択しコピーします。
D1を右クリックし「形式を指定して貼り付け」を選び「値」と「行列を入れ替える」を選択し(演算の項目はしないのままです)貼り付けを行います。
行列を入れ替えて貼り付けているので
<B1:B28→D1:AE1>に貼り付けとことになります。
下記がコードになります
Range("B1:B28").Select
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("B29:B56").Select
Application.CutCopyMode = False
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("B57:B84").Select
Application.CutCopyMode = False
Selection.Copy
Range("D3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
お願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) 別シートに順番で貼り付け 2 2023/04/13 19:53
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
エクセルVBAでコピーして順番に張り付けをしたい!
Visual Basic(VBA)
-
エクセルVBA 指定範囲を指定回数繰り返しコピー
Excel(エクセル)
-
-
4
一行おきにコピーするマクロが知りたい
Excel(エクセル)
-
5
選択した項目を上から順番にコピーするマクロ
Access(アクセス)
-
6
【VBA】コピー&複数個所のペースト繰り返し
Excel(エクセル)
-
7
excelで任意のセルを指定回数コピーペーストする方法を教えてください
Excel(エクセル)
-
8
VBA 連続行データを5行ずつ隣の列に貼り付ける
Excel(エクセル)
-
9
EXCELマクロで、シート間でのコピーペーストを繰り返す方法
Excel(エクセル)
-
10
Excel で行を指定回数だけコピーしたい
Excel(エクセル)
-
11
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
-
12
別シートに順番で貼り付け
Visual Basic(VBA)
-
13
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
14
EXCELで「行と列を入れ替える」操作を何回も繰り返して自動実行する方法はないでしょうか?
Excel(エクセル)
-
15
マクロの「1列おきに貼り付け処理を行う方法」を知りたいです。
Excel(エクセル)
-
16
特定の複数のシートに同じ処理をさせたい
Excel(エクセル)
-
17
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
18
複数行を繰り返しコピーする方法を教えて下さい
PowerPoint(パワーポイント)
-
19
エクセルのマクロで結合セルに値を貼り付けたい
Excel(エクセル)
-
20
VBA コピーを有効行までループをする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォートランで行列の計算
-
繰り返し1行~28行までを順順に...
-
!(否定)演算子について
-
MATLABにおける行の挿入方法
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
UserForm1.Showでエラーになり...
-
教えて下さい
-
一つのTeratermのマクロで複数...
-
配列数式の解除
-
メッセージボックスのOKボタ...
-
エクセルで特定の列が0表示の場...
-
On ErrorでエラーNoが0
-
String""から型'Double'への変...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
エクセルに張り付けた写真のフ...
-
【VBAエラー】Nextに対するFor...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
繰り返し1行~28行までを順順に...
-
H8マイコン C言語でのプロ...
-
!(否定)演算子について
-
C言語で余りがマイナスになる場合
-
MATLABのデータ抽出についてお...
-
mathematicaの質問です
-
MATLABの参考書
-
c言語
-
パイソンのプログラミングにつ...
-
≪C言語≫キー入力の判断について
-
Matlabのspdiags関数
-
cのプログラミングで虚数を含...
-
OPENCVを使ったエピポーラ幾何...
-
フォートラン77での微分と行列
-
Numpyのrandom.multivariate_no...
-
収束計算
-
MATLABにおける行の挿入方法
-
フランク行列の逆行列を求める...
-
BLASのレベル3の『ssyrk』や『s...
-
Z80のフラグレジスタについて
おすすめ情報