- ベストアンサー
マクロでセルの足し算
マクロで別シートの2008という値と01と言う値を足して別のシートに200808と表示させたいのですがどうすればいいでしょうか? どうしても01が判断されず1となってしまいます。 どうかよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 2008 と 01 を足して、200808 になるという論理が分かりませんが。 そもそも、 「別シートの2008という値」というものが、シート名なのか、セルの値なのか、また、セルの値なら、セルの値が任意なのか、固定なのか、 次に、01 というのは、一体何なのか、 別のシートに「200808」と表示させるとは、どういうことなのか、それらが分からないままに、コードを教えてほしいというのは、不可能だと思います。 こちらの勝手な想像ですが、 A1 が、2008 と表示され、B1 が、01 と表示されていて、 Sheet2 のA1 に「200801」と出す場合は、このようになります。 実務的には、シート名は、変数に置き換えるなり、With ステートメントを使います。 Worksheets("Sheet2").Range("A1").Value = Worksheets("Sheet1").Range("A1").Text & Worksheets("Sheet1").Range("B1").Text
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 たぶん、おっしゃっていることは、こういうことではないかと思います。 Sub Test1() Dim myVal As String Dim i As Long With Worksheets("A") myVal = .Range("G1").Text & .Range("H1").Text '表示に従う End With With Worksheets("B") If .Range("G65536").End(xlUp).Row < 4 Then i = 4 Else 'インクリメント i = .Range("G65536").End(xlUp).Row + 1 End If .Cells(i, 7).Value = myVal 'G列 End With End Sub
- xls88
- ベストアンサー率56% (669/1189)
今はどうされているのでしょうか。 kwang0205さんの答えを置き換えると With 別シート .Range("A1").Value & Format(.Range("B1").Value, "00") End With
補足
&のところで止まってしまうんですがどうすればいいんでしょうか?
- kwang0205
- ベストアンサー率25% (1/4)
こんなんでどうでしょう? A1 2008 B1 1 の場合、 =A1 & TEXT(B1,"00")
補足
すみませんこれはマクロで使用できるんでしょうか?
お礼
ありがとうございました。 こちらの方で何とかやりたいことが出来ました。 本当にありがとうございました。
補足
すみませんでした。 シートAのG列のある2008という値とH列にある01と言う値を シートBのG列に200801としてコピー貼り付けをしたいと思っています。 シートAのG列H列は同じ行になりますが行の数が毎回違う為、シートBの方は G4:G65536のようにしたいと思っています。