No.3ベストアンサー
- 回答日時:
>実際には、「11.1%」の形式の数値が入っているのすが
>空欄だった場合、代わりに「-(全角ハイフン)」を入れる場合、
>どんな変更で実現できますでしょうか?
その場合、以下のようにしてください。
sh2.Cells(wrow, 2).Value = sh1.Cells(3 + i, 2 + j).Value
を
If sh1.Cells(3 + i, 2 + j).Value = "" Then
sh2.Cells(wrow, 2).Value = "-"
Else
sh2.Cells(wrow, 2).Value = sh1.Cells(3 + i, 2 + j).Value
End If
にかえてください。
あー、if文の書き方、非常に参考になります。
これで違う文字にも変更可能ですね。
明日、本当のファイルにて試してみたいと思います。
ありがとうございました!
(一応懸念点は、Aが日付だった場合、セルには2021/6/1と入っていて、
表示上は2021年6月だった場合、このマクロだとどのように写されるかですね。
「2021年6月」でやりたい・・・)
No.2
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Option Explicit
Public Sub 並べ替え()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim i As Long
Dim j As Long
Dim wrow As Long
Dim A As String
Dim B As String
Dim C As String
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
For i = 1 To 12
For j = 1 To 8
A = sh1.Cells(1, 1).Value
B = sh1.Cells(i + 3, "B").Value
C = sh1.Cells(3, j + 2).Value
wrow = 2 + (i - 1) * 8 + j
sh2.Cells(wrow, 1).Value = A & "-" & B & "-" & C
sh2.Cells(wrow, 2).Value = sh1.Cells(3 + i, 2 + j).Value
Next
Next
MsgBox ("完了")
End Sub
ありがとうございます!
レイアウト通りなら期待通りの結果が出ました。
ソースもカスタマイズしやすいです。
A、B、Cはレイアウトが変わった時に応じて値の入り方を調整すれば良いですね。
行列数が変更されたらi、jを変えればよいし、自動的に一番右端、一番下を算出するようにすれば良いですね。
自分で解決できなさそうな点、一つだけ書き忘れてた点、
追加しても良いでしょうか?
今回、値1~ で表現した箇所には、
実際には、「11.1%」の形式の数値が入っているのすが
空欄だった場合、代わりに「-(全角ハイフン)」を入れる場合、
どんな変更で実現できますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでの並べ替えについて 5 2022/11/26 22:18
- Excel(エクセル) Excelグラフのラベルオプションの並べ替えは可能ですか。セルの値を最後にしたいのですが。 1 2022/06/05 10:45
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) Excel VBA セルの書式設定 2 2022/03/30 10:48
- Excel(エクセル) エクセルでのマクロを使ったデータの並べ替え 3 2022/12/03 18:54
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Excel(エクセル) Excelで、行に複数の数字が入力されているセルが複数の列存在し、行を跨いでセル内の数値を並び替える 5 2022/06/17 18:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
VBAで複雑な構成の転記
-
エクセル:VBAで月変わりで、自...
-
VBAの指示の内容 昨日こちらで...
-
AQUOS 602SH
-
Excel VBAでシート内全体に非表...
-
【エクセル】 連続印刷する際の...
-
VBAで作成する勤務表の合計を求...
-
別シートから検索値に一致した...
-
ノートパソコン 2in1について i...
-
VBA ブック1からブック2へ行...
-
A列で同じ日付をグループ化し、...
-
エクセル 2つの表比較
-
エクセルVBA 別シートの複数の...
-
EXCELマクロで全シート対...
-
添付ファイルが開けない
-
Vodafone803Tの効果音設定
-
SDカードからminiSDカードへ移す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
エクセルVBA 別シートの複数の...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
シャープのアクオス sh-m25 を...
-
VBA:同じ文字列データの比...
-
エクセル:VBAで月変わりで、自...
-
VBA別シートの最終行の下行へ貼...
-
エクセルVBAで 2種のリストを...
-
エクセルVBAで SendKeys "{TAB}"
-
VBAで条件が一致する行のデータ...
-
Excel VBAでシート内全体に非表...
-
歯抜けの時間を埋めて行の挿入
-
Excelマクロ データが上書きさ...
-
VBA 貼付先範囲(行)がいっぱ...
-
【WORD差し込み印刷】複数レコ...
-
EXCELマクロで全シート対...
-
エクセルVBAでの日付順のデ...
-
エクセル シート保護後コメン...
-
ノートパソコン 2in1について i...
おすすめ情報