![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
マクロで自動的に計算式に値を取得させsheet1にある基データを
sheet2に等間隔で出力させたいのですが・・・うまくいきません。
最終的にはこれをループさせsheet1の全てのデータを等間隔で
sheet2の方へもたせる予定です。
[sheet1] [sheet2]
A B C A B C
1 りんご りんご
2 みかん
3 なし みかん
4 ・・・
5 ・・・ なし
6 ・・・
sheet2のA1に計算式「=sheet1!$A1」を入れ、それをコピーして
A3、A5にペーストすると計算式が上手く反映されず、ずれてしまいます。
希望としては・・・
A3には「=sheet1!$A2」となりsheet1のA2の「みかん」
A5には「=sheet1!$A3」となりsheet1のA3の「なし」
が入るようにしたいのですが、上手くいきません。また、
sheet1のデータ量も多いのでマクロでの処理を考えています。
いろいろ検索してみたのですが上手く処理ができませんでしたので
こちらで質問させていただきました。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
どんな数式を記入すれば1行おきに参照させられるのか、考えます。
sub macro1()
dim lastrow as long
lastrow = worksheets("Sheet1").range("A65536").end(xlup).row
worksheets("Sheet2").range("A1").formula = "=INDEX(Sheet1!A:A,ROW(A2)/2)"
worksheets("Sheet2").range("A1:A2").copy worksheets("Sheet2").range("A1").resize(lastrow * 2, 1)
end sub
もっともマクロを使うなら、考えていた通りの数式を「書かせる」事も容易です。
sub macro2()
dim r as long
for r = 1 to worksheets("Sheet1").range("A65536").end(xlup).row
worksheets("Sheet2").cells(r * 2 - 1, "A").formula = "=Sheet1!A" & r
next r
end sub
No.2
- 回答日時:
Sub ボタン1_Click()
For i = 1 To Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("A" & i * 2 - 1).Value = Sheets("Sheet1").Range("A" & i).Value
Next
End Sub
こんな感じでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Visual Basic(VBA) このプログラムなんですがsheetにデータを置いて表示できるようにしてありますがsheetに101を 2 2023/02/23 20:13
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCでie内のデータを取得しエ...
-
Excel2003 マクロで同じ文字列...
-
結合したセルの並び替え(エク...
-
VBAで保存しないで閉じると空の...
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
エクセルで、「いいね」のよう...
-
エクセルの、記録を終了したマ...
-
エクセル;相対パスを絶対パスへ...
-
セルに入力するたびにマクロを...
-
エクセルVBA 個人用マクロブッ...
-
エクセル マクロ名にブック名...
-
VBA Shapes コピーと名前
-
excelで直前に参照していたブッ...
-
複数のマクロボタンをまとめて...
-
エクセルの表を複数枚印刷した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列内データにsmallを使う
-
【VBA】 通し番号の入力について
-
結合したセルの並び替え(エク...
-
UWSCでie内のデータを取得しエ...
-
Excel2013 マクロ(初心者)2
-
マクロでセル値をAND
-
Excel2003 マクロで同じ文字列...
-
ワークブックを追加したあとに ...
-
Excel VBA データ差し込みPDF...
-
マクロで自動的に計算式に値を...
-
Excel vba PDF 複数ファイルを...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
Excelのマクロでボタンを押すと...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
エクセルで、「いいね」のよう...
-
【Excel VBA】マクロでExcel自...
-
エクセルの表を複数枚印刷した...
おすすめ情報