A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>マクロの組み方をご教授願います
コードそのものを回答者に書けと言うのは、丸投げでこのコーナーの規約違反。丸投げが横行したら、回答者は大変。自分で勉強してコードを作るのが本来のあり方。
ーー
質問も表現が要領を得ない。
3つのシートを(2つで良いと思うが)模擬実例を書くこと。
>中には数字や文字列が入っています
こんなこと書く必要はないでしょう。
>各シートの同じセルに数字と文字列が入ることは無し)。
どういう意味?セルには文字列か数字かどちらか入っている?
当たり前。abc123と言うようなのはないということか?
しかしこれも文字列だよ。
あるいは、シート1のA2が数字で、シート2のA2が文字列と言うことはないといいたいのか。
ーー
3表は同じ列項目(行項目)構成ではないということか。
>串刺しのイメージで数字が入っているセルは合計を
3シート各々でセル番地単位でやるのか?
だから模擬実例が必要なんだ。VBAは(コード例を挙げてほしいのだろうが)行と列の構成がわからないと組めないのだ。
回答者にそこまで推測させて回答させるのは、配慮が足りない。
>規則もマクロに入れる、
とはどういうこと。
優先順位か何かを、プログラムのロジックに入れるということか。それはどういう考えに刷るのか?質問者が決めなきゃ。ルールによっては大変難しい。
==
下記を参考にして、色々考えてみてください。
Sub test01()
Dim sh1, sh2, sh3, sh4 As Worksheet
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
Set sh3 = Worksheets("Sheet3")
Set sh4 = Worksheets("Sheet4")
'--
For Each cl In sh1.Range("a1:C10")
r = cl.Row: c = cl.Column
If IsNumeric(cl) Then
'--3セル加算
sh4.Cells(r, c) = cl + sh2.Cells(r, c) + sh3.Cells(r, c)
Else
'--3セル結合(小生の独断で)
sh4.Cells(r, c) = cl & sh2.Cells(r, c) & sh3.Cells(r, c)
End If
Next
End Sub
上記はSheet1の1つのセルについて、数値か文字列で処理を変えている。
Sheet1-Sheet3の同位置セルには、数値と文字列の混合はないとする(加算がエラーになるから)。
文字列の場合、簡単なので、3セルの結合で、ごまかした。優先や組み合わせのロジックは、質問に書いてないし、普通はロジックが複雑になる。質問さガ考え、判らなければ別質問のテーマだろう。
ーー
異なるシートのセルのコードでの表現ぐらい勉強して、質問しているのかな。
No.2
- 回答日時:
回答ではありません。
「不明な点」
1)エクセルのバージョン
2)表の構成
数字が入ってるセル(B2~B100など)
文字列が入ってるセル(C2~C100など)
「例としては○、×、-であれば○など」ではなく、具体的に何が入るのか。
また、合計用が○、×、-になる条件。
(3つのシートが一致してたら○とか、sheet1~3が○、×、-と一致しなかったらとか。)
明確になれば、優しい人が正確なコードを書いてくれるかもしれません。
私もVBAはド素人ですので、無茶苦茶なものしか書けません。
※ 足りないコードもあります。と前置きした上で。
数字はA1~A10・文字はB1~B10・sheet1~3にデータがあり、sheet合計用の同じセルに入れれるとして。
sheet1が○でsheet2が×でsheet3が-の時の条件だけ。
Sub test()
For i = 1 To 10
goukei = Worksheets("sheet1").Cells(i, 1) + Worksheets("sheet2").Cells(i, 1) + Worksheets("sheet3").Cells(i, 1)
Worksheets("合計用").Cells(i, 1) = goukei
go = Worksheets("sheet1").Cells(i, 2) + Worksheets("sheet2").Cells(i, 2) + Worksheets("sheet3").Cells(i, 2)
If go = "○×-" Then Worksheets("合計用").Cells(i, 2) = "○"
Next i
End Sub
No.1
- 回答日時:
セルデータが
数値かどうかは、IsNumeric関数
文字列どうかは、TypeName関数
で調べればよいと思います。
串刺し計算を「マクロの記録」して得られたコードを編集してみました。
Sub tes串刺し計算1()
Dim i As Long
For i = 1 To 3
If TypeName(Sheets("Sheet2").Range("B" & i + 1).Value) = "String" Then
Sheets("Sheet1").Range("B" & i + 1).Value = "○"
ElseIf IsNumeric(Sheets("Sheet2").Range("B" & i + 1).Value) Then
Sheets("Sheet1").Range("B" & i + 1).Value = "=SUM(Sheet2:Sheet4!B" & i + 1 & ")"
Sheets("Sheet1").Range("B" & i + 1).Value = Sheets("Sheet1").Range("B" & i + 1).Value
End If
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) Excelの数式の質問です。 A列に「redhat 8.0, centOS 7.9, python 4 2023/05/12 19:38
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル ボタンを押すとセルの...
-
セルを結合した場合の関数(COU...
-
【EXCEL】条件に合致するセルの...
-
excelでSUBTOTAL関数を設定した...
-
Excelの表に自動でナンバリング...
-
エクセルで過去の日付けの入っ...
-
VBAで結合したセルがクリアでき...
-
エクセルで1~9、10~19など度...
-
エクセルで作業した日の日付を残す
-
EXCEL VBAでたくさんのURLの一...
-
エクセルの並び替えがうまくい...
-
Excelでセルのある位置をMsgbox...
-
Excel 離れたセルへの連続デー...
-
EXCELで、結合されたセルに連続...
-
エクセルvbaの質問です。 エク...
-
エクセルでたくさんのセルを小...
-
エクセルで片方のセルに入力し...
-
【初心者です】(エクセルマク...
-
Excelでnullになるような式のセ...
-
Excelのカウントアップボタンに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelでSUBTOTAL関数を設定した...
-
エクセル ボタンを押すとセルの...
-
EXCELで、結合されたセルに連続...
-
セルを結合した場合の関数(COU...
-
エクセルでチェックボックスを...
-
エクセルで片方のセルに入力し...
-
Excel 離れたセルへの連続デー...
-
VBAで結合したセルがクリアでき...
-
セルの値を取得してSQL文に組み...
-
Excelのカウントアップボタンに...
-
Excel セルを結合したものを抽...
-
Excelの表に自動でナンバリング...
-
エクセルでセルをクリックして“...
-
Excelでnullになるような式のセ...
-
エクセル 結合セル内に空白なら...
-
エクセルで作業した日の日付を残す
-
VBAで困っています。
-
エクセルでたくさんのセルを小...
-
EXCEL VBAでたくさんのURLの一...
-
Excel2007 セルの削除について
おすすめ情報