Excel VBA質問箱 IV

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

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


12527 / 13646 ツリー ←次へ | 前へ→

【10081】数値を行番号にしたい ほいみ 04/1/6(火) 14:47 質問
【10082】Re:数値を行番号にしたい INA 04/1/6(火) 15:03 回答
【10083】Re:数値を行番号にしたい つん 04/1/6(火) 15:05 回答
【10084】ありがとうございました ほいみ 04/1/6(火) 15:24 お礼

【10081】数値を行番号にしたい
質問  ほいみ  - 04/1/6(火) 14:47 -

引用なし
パスワード
   わからないことがあって、困っています。
よろしければ、ご教授ください。
やりたいことを具体例を挙げて書いておきます。

まず、セルごとに10,30,45,60・・・と数字が入っています。
その数字に対応する行番号のところに「1」を入れて、
それ以外のところには「0」を入れることで、
1列のバイナリデータを作成したいのですが、
もとの数字のデータが大量で、
一つ一つ手作業でやっていくわけにもいかない状況です。

マクロというのを書けば何とかなりそうなんですが、
いろいろなサイトを参考にしようと思って探したのですが、
いまいちパッとしたのを見つけられませんでした。

似たようなサンプルを知っている方がいましたらお知えていただけませんか?
よろしくお願いします。

【10082】Re:数値を行番号にしたい
回答  INA  - 04/1/6(火) 15:03 -

引用なし
パスワード
   >まず、セルごとに10,30,45,60・・・と数字が入っています。
データがあるのは、どのような範囲ですか?

>その数字に対応する行番号のところに「1」を入れて、
A列ですか?

【10083】Re:数値を行番号にしたい
回答  つん E-MAIL  - 04/1/6(火) 15:05 -

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

>まず、セルごとに10,30,45,60・・・と数字が入っています。
>その数字に対応する行番号のところに「1」を入れて、
>それ以外のところには「0」を入れることで、
>1列のバイナリデータを作成したいのですが、
>もとの数字のデータが大量で、
>一つ一つ手作業でやっていくわけにもいかない状況です。

数字がどういう形で(どのセルに)入ってるのかわからなくて、
どの列に「1」「0」を入れていくのかわからないので、
適当に、B列に数値がタテに入っていて、A列に「0」「1」を
入れていくとして・・・

Sub test()

  Dim i As Long
  
  For i = 1 To Range("b65536").End(xlUp).Row
    Cells(Cells(i, 2).Value, 1).Value = 1
  Next i
  
   For i = 1 To Range("a65536").End(xlUp).Row
    If Cells(i, 1).Value = "" Then
      Cells(i, 1).Value = 0
    End If
  Next i
 

End Sub

2段階にわけた、ベタなやりかたですけど・・・
B列に数値以外が入ってたりするとエラーになると思うので、
そういうことがあったら、エラー処理が必要になると思いますです。

【10084】ありがとうございました
お礼  ほいみ  - 04/1/6(火) 15:24 -

引用なし
パスワード
   ありがとうございました。
こんなに早く解決策が出てくるとは思ってもいませんでした。
おかげで、早く作業が片付きそうです。

スクリプトを提示していただいて、感謝感激です!

これを解析して、
ほかの形にも対応できるようにがんばりたいです。

ありがとうございました!
わからないことがあったら、また質問したいと思います。
質問してみて本当によかったです。

それでは、失礼します。

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