行×列の組み合わせで値を列挙する方法は以前解決したのですが、
また難問にぶつかりました。
添付画像のような表を同様に列挙したいのですが、行×列1,列2,列3,列4みたいな組み合わせで書き出したいのです
※見やすくするために空行を入れてますが実際には詰めてます。
固定値の個所は"固定値"としてすべて同じ文字を入れたいだけです。下記の横方向には違うテキスト。縦方向には同一テキストです。
固定値,A1,固定値,固定値,固定値,B1項目名,B1,B2,B3,B4
固定値,A1,固定値,固定値,固定値,C1項目名,C1,C2,C3,C4
固定値,A1,固定値,固定値,固定値,D1項目名,D1,D2,D3,D4
固定値,A1,固定値,固定値,固定値,E1項目名,E1,E2,E3,E4
固定値,A1,固定値,固定値,固定値,F1項目名,F1,F2,F3,F4
固定値,A1,固定値,固定値,固定値,G1項目名,G1,G2,G3,G4
固定値,A1,固定値,固定値,固定値,H1項目名,H1,H2,H3,H4
固定値,A1,固定値,固定値,固定値,I1項目名,I1,I2,I3,I4
固定値,A1,固定値,固定値,固定値,J1項目名,J1,J2,J3,J4
固定値,A1,固定値,固定値,固定値,K1項目名,K1,K2,J4,K4
固定値,A1,固定値,固定値,固定値,L1項目名,L1,L2,L4,L4
固定値,A2,固定値,固定値,固定値,B1項目名,B1,B2,B3,B4
固定値,A2,固定値,固定値,固定値,C1項目名,C1,C2,C3,C4
固定値,A2,固定値,固定値,固定値,D1項目名,D1,D2,D3,D4
固定値,A2,固定値,固定値,固定値,E1項目名,E1,E2,E3,E4
固定値,A2,固定値,固定値,固定値,F1項目名,F1,F2,F3,F4
固定値,A2,固定値,固定値,固定値,G1項目名,G1,G2,G3,G4
固定値,A2,固定値,固定値,固定値,H1項目名,H1,H2,H3,H4
固定値,A2,固定値,固定値,固定値,I1項目名,I1,I2,I3,I4
固定値,A2,固定値,固定値,固定値,J1項目名,J1,J2,J3,J4
固定値,A2,固定値,固定値,固定値,K1項目名,K1,K2,K3,K4
固定値,A2,固定値,固定値,固定値,L1項目名,L1,L2,L3,L4
・
・
・
A24まで、またはA**の値が例えば「最終行」の行が最終行となります。
この様な場合、どんな処理の繰り返しになるんでしょう?
No.1
- 回答日時:
こんにちは
意味がよくわかりませんけれど、例示のケースで言えば、11行分のデータを第二項目だけA1、A2・・・に順に変えたものを全て列挙したいということでしょうか?
>どんな処理の繰り返しになるんでしょう?
どこかに、「A1、A2・・・」が列挙されていると仮定して・・・
1)11行分(11行なのかわかりませんが)を1セットとして、値をコピペ
2)第二項目にA1(ループして順にA2・・・)を入力
という処理を、「A1、A2…」の値の数分だけ繰り返せばよいだけではないでしょうか?
No.3
- 回答日時:
でも画像とテキストの関係性が良くわかりません。
>1行につきB~L、B~L、B~L、B~Lと4回出てきます。
これはどこを指していて何をどうすればいいのか画像との整合性を表した方が良いかなって感じますよ。
⇒画像ファイルで言うなら知恵袋の方が見やすいかもですけど。
No.4
- 回答日時:
①添付の画像がよく見えないので、下記にアップしました。
下記であってますか。最後の列はAWになります。
あなたが提示した画像ではAQになっています。
どちらが正しいでしょうか。
https://gyazo.com/ddac14ed985cb8ff7525eebf06140bda
②上記内容をもとにした出力結果は下記URLであってますか。
4行目から出力しますが、よろしいでしょうか。
https://gyazo.com/086741f36aacb786b77fe6a7b1c28b75
>①
ありがとうございます。
ご指摘の通りです。最初に私が載せた画像は、値グループ3が6列抜けてました。(B~Gが抜けてる)だからAQ列が最後になってます。
tatsumaru77さんのAWが最終列で正解です。
大変失礼いたしました。
>②
拝見しました。全くその通りです。
自分の力ではノーアイデアで、、、
大変負担のかかる事ではないかと恐縮してますが、
もし実現したらすごく嬉しいです。
No.5
- 回答日時:
No.3の補足について。
なんか最初の質問文では『値グループ3』が少ない点の疑問が抜けなくなってしまいます。
ベテラン様も出てきてくれたようですしジジィは退散ですね。
どんなに回答しても所詮初級者はベテラン様の長いコードには勝てませんので。
No.6
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Sheet1が元データ、Sheet2が出力先のシート名になっています。
シート名はあなたの環境にあわせて適切に設定してください。
Option Explicit
Public Sub 列挙()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim row1 As Long
Dim row2 As Long
Dim col1 As Long
Dim maxrow As Long
Dim grp_no As Long 'グループ番号(1~4)
Dim seq_no As Long 'B列~L列の番号(1~11)
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
maxrow = sh1.Cells(Rows.Count, "A").End(xlUp).Row 'sheetの最大行取得
'4行目以降をクリア
sh2.Rows("4:" & Rows.Count).Clear
row2 = 4
For row1 = 4 To maxrow
For seq_no = 1 To 11
sh2.Cells(row2, 1).Value = "固定値1"
sh2.Cells(row2, 2).Value = sh1.Cells(row1, "A").Value
sh2.Cells(row2, 3).Value = "固定値2"
sh2.Cells(row2, 4).Value = "固定値3"
sh2.Cells(row2, 5).Value = "固定値4"
sh2.Cells(row2, 6).Value = sh1.Cells(3, 5 + seq_no).Value
For grp_no = 1 To 4
sh2.Cells(row2, 6 + grp_no).Value = sh1.Cells(row1, 5 + (grp_no - 1) * 11 + seq_no).Value
Next
row2 = row2 + 1
Next
Next
End Sub
ありがとうございます。
意図通り完璧でした。(実際のフォーマットとサンプルのずれは、ソース内の値をカスタマイズして調整できました)
大変申し訳ないのですが、少し修正があり、
値1グループと値2グループの間に固定値1列、
値2グループと値3グループの間に固定値1列を挟むように変えられないでしょうか?
つまり、元の表現の仕方で表すとこのようになります。
固定値,A1,固定値,固定値,固定値,B1項目名,B1,B2,B3,B4
↓↓↓
固定値,A1,固定値,固定値,固定値,B1項目名,B1,固定値,B2,固定値,B3,B4
以下のソース部分を修正すれば良いとは思うのですが、うまくいきません。。。
For grp_no = 1 To 4
sh2.Cells(row2, 6 + grp_no).Value = sh1.Cells(row1, 5 + (grp_no - 1) * 11 + seq_no).Value
すみません、よろしくお願いいたします。
No.7
- 回答日時:
取り敢えず、
>A24まで、またはA**の値が例えば「最終行」の行が最終行となります。
A列の最後の値が『最終行』であった場合、その行は作業があるのですか?
それともB列以降はデータはないから1つ上の行で終わりなのでしょうか?
または『A21』まで記載があってA21と書かれた行までなのでしょうか?
ベテラン様の回答も出てますしExcelないので気になった点だけで。
⇒マルチブートですが全てにOfficeを入れてないもので。
完成を急いでおり、なかなかお返事できず申し訳ありません。
元の表には全ての列全ての行にデータが入っている想定ですので、
A列最終行の行に対しても作業があります。
ありがとうございました。
No.8ベストアンサー
- 回答日時:
No6です。
以下のようにしてください。
Public Sub 列挙()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim row1 As Long
Dim row2 As Long
Dim col1 As Long
Dim maxrow As Long
Dim grp_no As Long 'グループ番号(1~4)
Dim seq_no As Long 'B列~L列の番号(1~11)
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
maxrow = sh1.Cells(Rows.Count, "A").End(xlUp).Row 'sheetの最大行取得
'4行目以降をクリア
sh2.Rows("4:" & Rows.Count).Clear
row2 = 4
For row1 = 4 To maxrow
For seq_no = 1 To 11
sh2.Cells(row2, 1).Value = "固定値1"
sh2.Cells(row2, 2).Value = sh1.Cells(row1, "A").Value
sh2.Cells(row2, 3).Value = "固定値2"
sh2.Cells(row2, 4).Value = "固定値3"
sh2.Cells(row2, 5).Value = "固定値4"
sh2.Cells(row2, 6).Value = sh1.Cells(3, 5 + seq_no).Value
sh2.Cells(row2, 7).Value = sh1.Cells(row1, 5 + 0 * 11 + seq_no).Value
sh2.Cells(row2, 8).Value = "固定値5"
sh2.Cells(row2, 9).Value = sh1.Cells(row1, 5 + 1 * 11 + seq_no).Value
sh2.Cells(row2, 10).Value = "固定値6"
sh2.Cells(row2, 11).Value = sh1.Cells(row1, 5 + 2 * 11 + seq_no).Value
sh2.Cells(row2, 12).Value = sh1.Cells(row1, 5 + 3 * 11 + seq_no).Value
row2 = row2 + 1
Next
Next
End Sub
すごいです。期待通りに変更されました。
つまりFor文で一気に出力してたのを止めて、
1行ずつ書き出しに変更したという事でしょうか?
列番号を出すための数式が理解できませんでした(涙
「*11」してる理由とか。。。
自分で書けるようになりたいのですが、、
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(税金) 国民健康保険料の計算がサイトによってかなり違うのですが、何故でしょうか? 4 2022/03/24 14:51
- Excel(エクセル) エクセルで 1行目の固定とE列までの固定ができますか? 7 2022/10/21 04:56
- 家賃・住宅ローン 【住宅ローンの固定金利と変動金利で日銀の植田新総裁は固定金利も変動金利も両方操作すると 2 2023/04/17 19:11
- 労働相談 支給されないみなし残業手当について 4 2022/07/01 14:18
- 家賃・住宅ローン 【銀行から固定金利の住宅ローンを組んだ人に質問です】 銀行側から固定金利には固定期間 3 2023/04/18 07:52
- 簿記検定・漢字検定・秘書検定 簿記2級 固定資産の除却と廃棄 固定資産の除却と廃棄を勉強しました。 もし仮に、 「固定資産除却しよ 2 2022/09/13 14:47
- 数学 (3)がわかりません。 (1)は固有値λ=±1 固有ベクトルは λ=1のとき (-i,1) λ=-1 2 2023/06/11 14:46
- 数学 全微分について質問です。 z=f(x,y)のとき df=(∂f/∂x)dx+(∂f/∂y)dy ∂f 5 2023/02/24 05:46
- 固定資産税・不動産取得税 【固定資産税について質問です】ブログで固定資産税を初めて支払っている人がいて「一条工務店で家を建てた 2 2022/04/24 22:15
- FTTH・光回線 固定回線について教えてください。 固定回線=光回線だと思うのですが(間違ってますかね?) 家のネット 6 2022/03/25 09:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
土壁に穴を空けて てすりをつけ...
-
指数表記の逆は?
-
WordPressの編集方法 - Lightni...
-
MSFlexGrid で削除したいのに、、
-
マイページの開き方? 何をどう...
-
簡単ログイン(マイページはど...
-
【Wordpress】ページ送りで空の...
-
gooブログのカテゴリーの分け方
-
<select> <option>の表示、件数...
-
ブログの本文内に記事をリンクする
-
教えてgooって全ての回答受付中...
-
movabletypeでエントリーの表示...
-
ブログのテキストにハイパ-リ...
-
MovableTypeでトラックバックの...
-
ウィルスセキュリティzero...
-
movabletypeのエントリーのリン...
-
ヤフー知恵袋と違いカテゴリー...
-
同じ質問でカテゴリを複数選び...
-
XAMPPのMySQLの設定
-
orinoco ap-4000 アクセスポ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
”固定”の反意語
-
【Excel VBA】行×列1,列2,列3,...
-
指数表記の逆は?
-
土壁に穴を空けて てすりをつけ...
-
ExcelVBA ウィンドウ枠の固定で...
-
Pukiwikiを用いたサイト例
-
右クリックでポップアップメニ...
-
office excelで ウィンドウ枠の...
-
エクセル横スクロール
-
WordPressの編集方法 - Lightni...
-
ページ内検索バーを固定したい。
-
フレームを使わず、上を固定?
-
jimdoホームページ作成 全部の...
-
WordPressの固定ページを複製す...
-
ワードプレスの固定ページでタ...
-
エクセルの、一番上の行に入力...
-
パワーポイントで総ページ数を表示
-
wordpressの固定ページのタイト...
-
JavaScriptを使わない折りたた...
-
ワードプレスでHP作成
おすすめ情報
添付画像を細かく見ると誤解される箇所がありましたが、
画像も小さくて見づらいので、テキストで訂正します。
列の項目名は、
1行につきB~L、B~L、B~L、B~Lと4回出てきます。
こんな繰り返しの並び替えです。
A1,B1,B1,B2,B3,B4
~
A1,L1,L1,L2,L4,L4
A2,B1,B1,B2,B3,B4
~
A2,L1,L1,L2,L3,L4
~
A24,B1,B1,B2,B3,B4
~
A24,L1,L1,L2,L3,L4
分かりづらくてすみません。おかしい点があれば補足します。
失礼しました。
以前解決したという方法はこちらです。
https://oshiete.goo.ne.jp/qa/12431789.html
行×列がシンプルになるパターンでした。
端までキャプチャーすると画像が縮小されて見づらくなるので、
値グループ2まで見せてます。
値グループ1~値グループ4まであります。
1行目は最初はBの黄色部分を並べて
2行目は、C部分を並べて、
D~Lまでの繰り返しです。
次1行下がって、A2から始まる、の繰り返しです。
説明分かりづらくてすみません。