今、Excelにて売上集計表を作成しているのですが、
シート1にその月の各支店毎の売上を打ち込み、
それを、コマンドボタン(フォームのボタンでもいいのですが、)
を押すと、シート2のその月の列にコピーされるというプログラムを
組みたいのですが、どうやれば良いのでしょうか?
シート1は毎回X列を打ち変える(実際には間の各個人売上を打ちかえるのですが...)というシートで
シート2はJ列から順に4月、5月・・となっている表です。
シート1はこうです。
A ・・ X Y ・ ・ ・
1 4月
2 大阪支店 220万
・
8 奈良支店 150万
・
14 京都支店 180万
・
20 神戸支店 200万
・
26 滋賀支店 110万
・
32 岐阜支店 140万
・
38 計 1000万
・
・
という感じで入れて、X1の月を変えて(形式表示を変えているので実際の入力は数字のみです)、
コマンドボタンを押すと、シート2のその月の列(4月ならJ列8月ならN列という感じ)に
各支店の数字がコピーされるという仕組みが作りたいのです。
C~Wの間には個人別の売上が記載されており、
その累計をSUM()で出して、X列に記載しています。
行については、セル数も結合方法も、
シート1,シート2共に同じにしてあるので
X列をそのまま値だけをコピーすれば移るのですが、
なにぶん使用するのがExcelに不慣れな不特定多数の方が使用し、
しかも「形式を選択して貼り付け」の「値」にチェックを入れてもコピー出来ず、
「値と数値の書式」をチェックしないとコピー出来ないので
(なぜだか分かりませんが...。)誰にでもすぐ使える方法が一番いいのです。
よって、シート1にコマンドボタンを置き、
それを押せばコピーされる方法があれば教えて下さい。
関数でそれが可能なのであればそれでもいいですし、
他にいい方法があれば教えて下さい。
宜しくお願い致します。
No.4
- 回答日時:
ANo.2です。
こちらで標準モジュールで検証したそのままをのせてます。
Sub Test()
End Sub
の中身を
Private Sub CommandButton1_Click()
End Sub
の中へコピペして下さい。
何度もご回答頂きありがとうございます。
作って頂いたプログラムを幾度と無く試してみたのですが、
「見つかりませんので終わります」というメッセージボックスが
出るばかりで、コピーが出来ません。
何がおかしいのでしょうか?
n-junさんが自分でやったら出来ている訳ですよね?
コピーペしているだけなのになぜ出来ないのでしょう?
表の内容も質問で載せた表そのままなのですが、
正直、X2:X7を結合していたりと、ところどころ表現しにくくて
1つのセルで表示しているように書いていますが、
別BOOKに新しく簡易な表を作り直してもやってみたのですが、
うまくいきませんでした。
今回は諦めて、また別の方法を模索してみます。
しかし、多大な労力を使ってご協力頂きありがとうございました。
感謝致します。
まだまだ、勉強不足な私ではありますが、
今後とも宜しくお願い致します。
No.3
- 回答日時:
既に、No.2にてぴったりの回答がされてます。
guchi_yamaさんの描かれているイメージとずれているかもしれませんが、別の方法:Sheet1に一つでもデータ変更が生じたらリアルタイムで、そのデータがSheet2に反映されるという方法を提案します。
次のコードをSheet1のシート名タグを右クリック→コードの表示(V)で表示されるコードエリアに貼り付けます。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tuki As String
Dim m As Integer
If Target.Row Mod 6 = 2 Then
tuki = Cells(1, "x")
m = Val(Left(tuki, Len(tuki) - 1))
Sheets("Sheet2").Cells(Target.Row, m + 6).Value = Cells(Target.Row, "x")
End If
End Sub
ご回答頂きありがとうございました。
このやり方も、何度も試してみたのですが、うまくいきませんでした。
ご協力頂いたのに、完成できず申し訳ありません。
もっともっと勉強して、理解できるよう勤めます。
また何かありましたら、これに懲りずにご回答頂ければ幸いです。
本当にありがとうございました。
No.2ベストアンサー
- 回答日時:
>シート1にその月の各支店毎の売上を打ち込み、
>それを、シート2のその月の列にコピーされるというプログラム
は、こんな感じではどうでしょうか?
Sub Test()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim r1 As Range, r2 As Range
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
With ws1
Set r1 = .Range(.[X2], .Cells(Rows.Count, "X").End(xlUp))
End With
Set r2 = ws2.Rows(1).Find(What:=ws1.Range("X1").Value, LookIn:=xlValues, _
LookAt:=xlWhole)
If r2 Is Nothing Then
MsgBox "見つかりませんので" & vbLf & "終わります。"
Exit Sub
End If
r2.Offset(1).Resize(r1.Rows.Count).Value = r1.Value
End Sub
シート2のA列とシート1のA列の順序が同じなのが、
条件です。
この回答への補足
お手数をお掛けして申し訳ないのですが、
Test() というのは、どこに貼り付けるプログラムなのでしょうか?
コマンドボタンに貼る場合、
Private Sub CommandButton1_Click()
End Sub
というような形になりますよねぇ?
それとも、モジュールの種類が違うのでしょうか?
何度もすいませんが、その辺りを再度ご教授願います。
No.1
- 回答日時:
シート1は、大阪支店・奈良支店・・・と行間が空いてますが、
シート2はどのようになっているのでしょう?
同じ行間が空いている?
それとも、支店名で上詰めしている?
支店名はA列にある?
この回答への補足
説明不足ですいません。
シート1、シート2と、共に全て同じ行間です。
セルの結合方法も同じにしてあります。
なのに、形式を選択して貼り付けで、値だけのコピーが出来ないのは、
どこか違う部分があるって事ですかねぇ?
でも、値と数値の書式を一緒にコピーすると出来るんです。
って、それはどうでもいいですよね;;
支店名も同じA列にあります。
タイトル部分がI列まであるんですが、A~I列まで全て同じです。
J列からシート2には4月、5月、6月・・と月の累計が入るようにしています。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
Excel の複数シートの列幅を同...
-
文字の色も参照 VLOOKUP
-
エクセルの保護で、列の表示や...
-
【VBA】複数のシートの指定した...
-
エクセルで横並びの複数データ...
-
VBAで繰り返しコピーしながら下...
-
EXCEL 関数を教えてください。...
-
エクセルのブック分割マクロを...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
"りんご"と"みかん"というシー...
-
Excel VBA ピボットテーブルに...
-
Excelで全てのシートに一気に列...
-
【条件付き書式】countifsで複...
-
SUMPRODUCTにて別シートのデー...
-
エクセルの複数シートにあるデ...
-
エクセルVBA 転記するループ処理
-
エクセル関数に詳しい方、教え...
-
Excel 2段組み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
excel 複数のシートの同じ場所...
おすすめ情報