Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11828 / 13644 ツリー ←次へ | 前へ→

【13865】誰か教えて下さい いちご 04/5/15(土) 14:18 質問[未読]
【13870】Re:誰か教えて下さい Hirofumi 04/5/15(土) 15:34 回答[未読]
【13872】Re:誰か教えて下さい いちご 04/5/15(土) 16:17 発言[未読]
【13875】Re:誰か教えて下さい Hirofumi 04/5/15(土) 17:09 回答[未読]
【13878】Re:誰か教えて下さい いちご 04/5/15(土) 17:35 発言[未読]
【13879】Re:誰か教えて下さい いちご 04/5/15(土) 17:37 発言[未読]
【13883】Re:誰か教えて下さい Hirofumi 04/5/15(土) 17:59 回答[未読]

【13865】誰か教えて下さい
質問  いちご  - 04/5/15(土) 14:18 -

引用なし
パスワード
   シート1から日付のバラバラなデータ(和暦と西暦)をコピーしてシート2持ってきて、元号を合わせたいのですが、どうしたら、いいでしょうか?

コピーは、『Sheet1.Range("C2:C79").Copy Sheet2.Range("N2:N79")』で成功しましたが、元号の合わせ方がわかりません。

時間も無くとてもあせっています。
どなたか分かる方がいらしたら、イチゴを助けて下さい。。。

例))
1974
S43
S49
S38
S34
S41
S29

・・・となっています。宜しくお願いします。

【13870】Re:誰か教えて下さい
回答  Hirofumi E-MAIL  - 04/5/15(土) 15:34 -

引用なし
パスワード
   こんな?

Public Sub Test()

  Dim i As Long
  Dim vntData As Variant
  
  vntData = Worksheets("Sheet1").Range("C2:C79").Value
  
  For i = 1 To UBound(vntData, 1)
    vntData(i, 1) _
      = Format(DateValue(vntData(i, 1) & "/1/1"), "ggge")
  Next i
  
  Worksheets("Sheet2").Range("N2:N79").Value = vntData

End Sub

【13872】Re:誰か教えて下さい
発言  いちご  - 04/5/15(土) 16:17 -

引用なし
パスワード
   ▼Hirofumi さん:ありがとうございます。
 
>  vntData = Worksheets("Sheet1").Range("C2:C79").Value

インデックスが有効範囲にありません・・・というエラーが出て通りません。
どうしたらよろしいでしょうか??

【13875】Re:誰か教えて下さい
回答  Hirofumi E-MAIL  - 04/5/15(土) 17:09 -

引用なし
パスワード
   多分、Sheet1若しくは、Sheet2と言う名前のシートが無いからだと思います

vntData = Worksheets("Sheet1").Range("C2:C79").Value

Worksheets("Sheet2").Range("N2:N79").Value = vntData

の"Sheet1"と"Sheet2"を指定のシート名に替えて下さい

【13878】Re:誰か教えて下さい
発言  いちご  - 04/5/15(土) 17:35 -

引用なし
パスワード
   ▼Hirofumi さん:何度もありがとうございます。
>多分、Sheet1若しくは、Sheet2と言う名前のシートが無いからだと思います
>
>vntData = Worksheets("Sheet1").Range("C2:C79").Value
>
>Worksheets("Sheet2").Range("N2:N79").Value = vntData
>
>の"Sheet1"と"Sheet2"を指定のシート名に替えて下さい

とのことで。自分が作成しているシート名に変えてもやはり同じエラーがでてしまいます。すみません、どうしたら宜しいでしょうか??

【13879】Re:誰か教えて下さい
発言  いちご  - 04/5/15(土) 17:37 -

引用なし
パスワード
   もうひとつ・・・

年号は西暦年にあわせたいです。
頼ってばかりで申し訳ありませんが、宜しくお願いします。

【13883】Re:誰か教えて下さい
回答  Hirofumi E-MAIL  - 04/5/15(土) 17:59 -

引用なし
パスワード
   変ですね?

当方では、標準モジュールに記述して動いているのですが?
最も、Sheet1のコードモジュールに記述しても動いています

シート名若しくは、シート名の記述が違うのでは?
変更した、コードをUpして、記述場所を教えてください

尚、西暦年するなら以下の様に成ります

Public Sub Test()

  Dim i As Long
  Dim vntData As Variant
 
  vntData = Worksheets("Sheet1").Range("C2:C79").Value
 
  For i = 1 To UBound(vntData, 1)
    vntData(i, 1) _
      = Format(DateValue(vntData(i, 1) & "/1/1"), "yyyy")
  Next i
 
  Worksheets("Sheet2").Range("N2:N79").Value = vntData

End Sub

11828 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free