Excel VBA質問箱 IV

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

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


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

【11605】データ書式の変更 弩級初心者 04/3/12(金) 11:13 質問
【11607】Re:データ書式の変更 Jカーター 04/3/12(金) 11:24 回答
【11625】Re:データ書式の変更 弩級初心者 04/3/12(金) 14:21 発言
【11629】Re:データ書式の変更 Jカーター 04/3/12(金) 15:07 発言

【11605】データ書式の変更
質問  弩級初心者  - 04/3/12(金) 11:13 -

引用なし
パスワード
   元のデータが
日時 部品名1 金額1 部品名2 金額2・・・・・・部品名8 金額8
3/1  HDD   1000 FDD   100       LCD   20000
3/2  CDROM 200
    ・
    ・
    ・  
なのを

日時 部品名 金額
3/1  HDD   1000
3/1  FDD    100
    ・
    ・
    ・
3/1  LCD  20000
3/2  CDROM 200
    ・
    ・
    ・
のようなデータに
変更する方法はどうすればよろしいでしょうか?

【11607】Re:データ書式の変更
回答  Jカーター  - 04/3/12(金) 11:24 -

引用なし
パスワード
   こんにちは。

A列からX列ですか?
でしたら
-----------------------------------------------------------
  Dim i As Long
  Dim r As Long
  Dim tmp As Range
  
  i = 1
  r = 1
  Set tmp = Sheet1.Range("A2:X2").Cells(i).Resize(, 3)
  Do Until IsEmpty(tmp(1).Value)
    r = r + 1
    Sheet2.Cells(r, 1).Resize(, 3).Value = tmp.Value
    i = i + 3
    Set tmp = Sheet1.Range("A2:X2").Cells(i).Resize(, 3)
  Loop  
  

【11625】Re:データ書式の変更
発言  弩級初心者  - 04/3/12(金) 14:21 -

引用なし
パスワード
   ▼Jカーター さん:

>  Set tmp = Sheet1.Range("A2:X2").Cells(i).Resize(, 3)
>  Do Until IsEmpty(tmp(1).Value)
>    r = r + 1
>    Sheet2.Cells(r, 1).Resize(, 3).Value = tmp.Value
>    i = i + 3
>    Set tmp = Sheet1.Range("A2:X2").Cells(i).Resize(, 3)
>  Loop  
>  
これはどういう処理をしているのでしょうか?

【11629】Re:データ書式の変更
発言  Jカーター  - 04/3/12(金) 15:07 -

引用なし
パスワード
   こんにちは。

最初の質問の処理のつもりですが違いましたか?

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