Excel VBA質問箱 IV

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

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


3289 / 13645 ツリー ←次へ | 前へ→

【63080】Likeの使用方法 まめ 09/10/5(月) 20:33 質問[未読]
【63081】Re:Likeの使用方法 neptune 09/10/5(月) 22:00 発言[未読]
【63084】Re:Likeの使用方法 まめ 09/10/6(火) 5:57 お礼[未読]

【63080】Likeの使用方法
質問  まめ  - 09/10/5(月) 20:33 -

引用なし
パスワード
   初心者です。
よろしくお願いします。

Likeを使って部分一致の文字列を抽出したいのですが、
何も出ません。
エラーすら出ません。

教えてください。


Dim i          As Variant
Dim j          As Variant
Dim Row         As Long
Dim NO          As String
Dim Namae        As String
Dim Suryo        As String
Dim Tanka        As String
 
With Worksheets(2)
  For i = 3 To 10 Step 1
    Worksheets(2).Copy after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = i - 1
  Next i
  Worksheets(10).Name = "合計"
  Row = Worksheets("CSV").Range("A1").SpecialCells(xlLastCell).Row
  NO = Worksheets("CSV").Cells(Row, 1).Value    '1番号
  Namae = Worksheets("CSV").Cells(Row, 2).Value  '2品名
  Suryo = Worksheets("CSV").Cells(Row, 3).Value  '3数量
  Tanka = Worksheets("CSV").Cells(Row, 5).Value  '5単価
  For j = 2 To 10 Step 1
    If NO = j - 1 And Namae Like "野菜類 *" Then
      Worksheets(j).Cells(15, 4).Value = Namae
      Worksheets(j).Cells(15, 5).Value = Suryo
      Worksheets(j).Cells(15, 7).Value = Tanka
    ElseIf NO = j - 1 And Namae = "水" Then
      Worksheets(j).Cells(16, 5).Value = Suryo
      Worksheets(j).Cells(16, 7).Value = Tanka
    ElseIf NO = j - 1 And Namae = "米" Then
      Worksheets(j).Cells(17, 5).Value = Suryo
      Worksheets(j).Cells(17, 7).Value = Tanka
    End If
  Next i
End With

<CSV>
A列 B列         C列 D列  E列  F列
1. 野菜類 きゅうり  1  本  50   50
2. 水         1  本  200  200
3. 米         1  袋 4000  4000
4. 肉類 牛こま切れ 300  g  300  900

<excel>
A列 B列         C列 D列 E列  F列
1. 野菜類 きゅうり  1 (本) 50   50    ←シート1

2. 水         1 (本) 200  200    ←シート2

3. 米         1 (袋)4000  4000    ←シート3

・CSVを同じブックの別シートに読み込み、「CSV」と言うシート名になっています。
・各品目別にシートを作りたいため、今回は10シートを作成。
・10シート目には「合計」と言うシート名にする。
・excelのD列(単位)には、既に入力されている。
・excelのF列には、数式が入力されている(C列×F列)
・excelに入力するセルは、15行目以降。

【63081】Re:Likeの使用方法
発言  neptune  - 09/10/5(月) 22:00 -

引用なし
パスワード
   ▼まめ さん:

私なら、
sub test()
debug.print Worksheets("CSV").Cells(1, 2).Value like "野菜類 *"
end sub
等というテストプロシージャを使って正常に動作するかどうかを確認します。

>初心者です。
なら、なおさら一気にまともに動くプログラムを書くのは難しいですから、
小分けに実験しながら書く方が早いかも?

本当はデバッグの手法を少し勉強するのも良いです。これなしでは
プログラムは書けません。

以下参考。
[作成したマクロの動作の確認方法]
ht tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_030.html
[デバッグ(プログラムミスを探す)]
ht tp://www.onetwo.jp/proginfo/pub/excel/excel2.htm

【63084】Re:Likeの使用方法
お礼  まめ  - 09/10/6(火) 5:57 -

引用なし
パスワード
   ありがとうございます。

頑張ってみます。

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