• ベストアンサー

マクロでセルの足し算

マクロで別シートの2008という値と01と言う値を足して別のシートに200808と表示させたいのですがどうすればいいでしょうか? どうしても01が判断されず1となってしまいます。 どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 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

wingup
質問者

お礼

ありがとうございました。 こちらの方で何とかやりたいことが出来ました。 本当にありがとうございました。

wingup
質問者

補足

すみませんでした。 シートAのG列のある2008という値とH列にある01と言う値を シートBのG列に200801としてコピー貼り付けをしたいと思っています。 シートAのG列H列は同じ行になりますが行の数が毎回違う為、シートBの方は G4:G65536のようにしたいと思っています。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 たぶん、おっしゃっていることは、こういうことではないかと思います。 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)
回答No.2

今はどうされているのでしょうか。 kwang0205さんの答えを置き換えると With 別シート   .Range("A1").Value & Format(.Range("B1").Value, "00") End With

wingup
質問者

補足

&のところで止まってしまうんですがどうすればいいんでしょうか?

回答No.1

こんなんでどうでしょう? A1 2008 B1 1 の場合、 =A1 & TEXT(B1,"00")

wingup
質問者

補足

すみませんこれはマクロで使用できるんでしょうか?

関連するQ&A