Excel VBA質問箱 IV

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

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


355 / 3841 ページ ←次へ | 前へ→

【75316】Re:指定した数値だけを削除したい
発言  kanabun  - 14/2/12(水) 9:11 -

引用なし
パスワード
   データと処理内容とがハッキリしませんが、

> 4ケタの数値のうち 指定した数値だけ を削除

なら、フィルタを使うのも手だと思います。

いまB列に、↓のような4桁の数値があり、

支店 商品番号 担当    カナ
A    5772    橋本    はしもと
B    4204    高山    たかやま
C    2989    岡田    おかだ
D    1331    平山    ひらやま
A    1399    須藤    すどう
B    6347    加藤    かとう
C    4735    君島    きみじま
D    9815    村上    むらかみ
A    9033    荒川    あらかわ
B    3442    丸山    まるやま
C    9708    佐々木    ささき
D    8371    大貫    おおぬき
A    2187    佐藤    さとう
B    5764    鈴木    すずき
C    5646    山口    やまぐち
D    5100    山本    やまもと
A    6624    吉田    よしだ
B    1834    坂本    さかもと
C    9545    手塚    てづか

このうち、5000以上 9000未満の数値の行を削除したいとき、
AutoFilter でその範囲を指定して、あてはまる
数値の行をあぶりだし、一括行削除できます。

Sub Try1()
  Dim r As Range
  
  ActiveSheet.AutoFilterMode = False
  Set r = Range("B1", Cells(Rows.Count, 2).End(xlUp))
  r.AutoFilter 1, ">=" & 5000, xlAnd, "<" & 9000 '← 範囲を指定
  If MsgBox("Are you sure delete these Lines?", _
    vbOKCancel) = vbOK Then
    r.Offset(1).EntireRow.Delete
  End If
  r.AutoFilter
End Sub

支店 商品番号 担当    カナ
A    5772    橋本    はしもと
B    6347    加藤    かとう
D    8371    大貫    おおぬき
B    5764    鈴木    すずき
C    5646    山口    やまぐち
D    5100    山本    やまもと
A    6624    吉田    よしだ
・ツリー全体表示

【75315】Re:指定した数値だけを削除したい
発言    - 14/2/11(火) 21:24 -

引用なし
パスワード
   そういえば、漫才師のいとしこいし さんのネタでありましたね。

「近所のスーパー、2のつく日は割引や
「ほんなら2日と、12日は割引やな
「そうや
「それから、20日、21、22、23、24、、、
「そんなに引くかい、22日だけやがな
「さっき、2の付く日は割引やいうたやん


隼さんの意図はどうなんでしょう。
・ツリー全体表示

【75314】Re:指定した数値だけを削除したい
発言  HARA  - 14/2/11(火) 18:21 -

引用なし
パスワード
   ▼γ さん 教えていただきすみません。

B列の数値を削除してE列に表示します?

V = Application.InputBox("数値入力", , , , , , , 1)

For I = 1 To 4
For J = 1 To Len(Range("B" & I))
 If Not Val(Mid(Range("B" & I), J, 1)) = V Then
  A = Val(Mid(Range("B" & I), J, 1))
  B = B & A
 End If
Next
 Range("E" & I) = B
 A = Empty
 B = Empty
Next
・ツリー全体表示

【75313】Re:指定した数値だけを削除したい
発言  γ  - 14/2/11(火) 15:02 -

引用なし
パスワード
   こんにちは。
何か意図が伝わっていない気がします。
消去なのか削除なのか。削除なら何を削除したいのか。
誤解を避けるためにも、簡単な例を示すといいと思いますよ。
処理前と処理後のサンプルを示してみてください。
・ツリー全体表示

【75312】Re:指定した数値だけを削除したい
発言  HARA  - 14/2/11(火) 14:39 -

引用なし
パスワード
   V = 4


For I = 1 To Len(Range("B1"))
If Not Val(Mid(Range("B1"), I, 1)) = V Then
 A = Val(Mid(Range("B1"), I, 1))
 B = B & A
End If
Next

MsgBox (B)
とかでやってみてください?
・ツリー全体表示

【75311】指定した数値だけを削除したい
質問    - 14/2/11(火) 11:50 -

引用なし
パスワード
   B列には4桁の数値を入力します。
(A列〜D列まで各種のデータを入力します)
入力後、B列の数値の内指定した数値だけを
削除するプロシージャを教えてください。
同一数値は2回以上入力される
こともあります。
宜しくお願いいたします。
・ツリー全体表示

【75310】数値配列からビットマップ画像を出力する...
質問  www  - 14/2/11(火) 10:34 -

引用なし
パスワード
   例えば、
dim a(255,255)
で作成した二次元配列があり、それぞれの中に0〜255の数値が格納されているとします。
この画像からグレースケールあるいは任意の配色で
256x256の解像度のbmp画像を出力するプログラムを
VBAで作りたいのですがどのようにすれば良いですか?


検索して調べたのですが
www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=54343;id=excel
akadamashy.blog68.fc2.com/blog-entry-915.html


のサイトにビットマップ画像を出力するための
プログラムが記載されていました。

しかしながら、ここに記載されているのは全てバイトで記述された配列から
画像を出力するものとなっており、数値データから出力するにはどうしたら良いか分かりません。


どなたか教えてください。
・ツリー全体表示

【75309】レディーチャイナ:www.yahookanpou.com/...
発言  レディーチャイナ E-MAIL  - 14/2/10(月) 15:31 -

引用なし
パスワード
   威哥王:www.yahookanpou.com/product/weigwang.html
威哥王:www.yahookanpou.com/product/weigwang.html
威哥王:www.yahookanpou.com/product/weigwang.html
威哥王:www.yahookanpou.com/product/weigwang.html
威哥王:www.yahookanpou.com/product/weigwang.html
レディーチャイナ:www.yahookanpou.com/product/cys.html
レディーチャイナ:www.yahookanpou.com/product/cys.html
レディーチャイナ:www.yahookanpou.com/product/cys.html
レディーチャイナ:www.yahookanpou.com/product/cys.html
小情人:www.yahookanpou.com/product/sexdrop.html
小情人:www.yahookanpou.com/product/sexdrop.html
小情人:www.yahookanpou.com/product/sexdrop.html
小情人:www.yahookanpou.com/product/sexdrop.html
小情人:www.yahookanpou.com/product/sexdrop.html
小情人:www.yahookanpou.com/product/sexdrop.html
巨人倍増:www.yahookanpou.com/product/jurenbeizenggouqi.html
巨人倍増:www.yahookanpou.com/product/jurenbeizenggouqi.html
巨人倍増:www.yahookanpou.com/product/jurenbeizenggouqi.html
巨人倍増:www.yahookanpou.com/product/jurenbeizenggouqi.html
三體牛鞭:www.yahookanpou.com/product/santiniubian.html
三體牛鞭:www.yahookanpou.com/product/santiniubian.html
三體牛鞭:www.yahookanpou.com/product/santiniubian.html
三體牛鞭:www.yahookanpou.com/product/santiniubian.html
三体牛鞭:www.yahookanpou.com/product/santiniubian.html
三体牛鞭:www.yahookanpou.com/product/santiniubian.html
三体牛鞭:www.yahookanpou.com/product/santiniubian.html
三体牛鞭:www.yahookanpou.com/product/santiniubian.html
紅蜘蛛:www.yahookanpou.com/product/hzhzyd.html
紅蜘蛛:www.yahookanpou.com/product/hzhzyd.html
紅蜘蛛:www.yahookanpou.com/product/hzhzyd.html
紅蜘蛛:www.yahookanpou.com/product/hzhzyd.html
紅蜘蛛:www.yahookanpou.com/product/hzhzyd.html
法国性奴:www.yahookanpou.com/product/sexslave.html
法国性奴:www.yahookanpou.com/product/sexslave.html
法国性奴:www.yahookanpou.com/product/sexslave.html
法国性奴:www.yahookanpou.com/product/sexslave.html
花痴:www.yahookanpou.com/product/huachi.html
花痴:www.yahookanpou.com/product/huachi.html
花痴:www.yahookanpou.com/product/huachi.html
花痴:www.yahookanpou.com/product/huachi.html
D10:www.yahookanpou.com/product/meiyao.html
D10:www.yahookanpou.com/product/meiyao.html
D10:www.yahookanpou.com/product/meiyao.html
D10:www.yahookanpou.com/product/meiyao.html
D10媚薬:www.yahookanpou.com/product/meiyao.html
D10媚薬:www.yahookanpou.com/product/meiyao.html
D10媚薬:www.yahookanpou.com/product/meiyao.html
D10媚薬:www.yahookanpou.com/product/meiyao.html
・ツリー全体表示

【75308】Re:マクロが入ったエクセルファイルのお...
お礼  ヒロリン  - 14/2/9(日) 1:06 -

引用なし
パスワード
   お答えがすごいのでびっくりしました
ど素人の私はFileSearch 2010サイトとか知らなくて
ありがとうございます


ちょつとこの問題自分でも勉強するにあたり
時間もらいたいです
私には一番やっかいな
パソコンのデーターのお引越しなので
先に簡単なたとえばメール関係 ワード関係 
してからじっくり取り組みます
今後もご指導宜しくお願いします

この返信の仕方もいまいち正しくできているか不安です
・ツリー全体表示

【75307】Re:マクロが入ったエクセルファイルのお...
発言  γ  - 14/2/8(土) 22:29 -

引用なし
パスワード
   このあたりの非互換性については、すでに色々なところで議論されて
いますから、対応策があり心配は要りません。手間ではありますが。
くだんの件なら、"FileSearch 2010"などで検索すれば代替策がわかります。
また、こうした掲示板で質問することでも解決可能です。

もともとのファイルをバックアップとして保存して置けば、
何かあっても安全です。
そのうえで、バージョンアップすれば心配はたぶん不要です。
・ツリー全体表示

【75306】Re:マクロが入ったエクセルファイルのお...
お礼  ヒロリン  - 14/2/8(土) 20:14 -

引用なし
パスワード
   2007以降はこの機能がなくなり使えなくなりました。エラーになります。


のこと知らなかったです
ありがとうございました
どうするか考えます
・ツリー全体表示

【75305】Re:どこがまずいのでしょうか
お礼  tomo  - 14/2/7(金) 12:27 -

引用なし
パスワード
   ▼kanabun さん:
親切なご指導に感謝します。
目的が達成できました。
ありがとうございます。
>▼tomo さん:
>
>>A6,A7の各行が削除されるものと思いましたが、
>>削除されません。どこがまずいのでしょうか。
>
>そのコードは、表がB列で並び替えられていれば、そのままで動作します。
>
>Sub 重複行削除2()
>  Dim i As Long
>  With Range("B1")
>    .CurrentRegion.Sort Key1:=.Cells, Header:=xlNo 'B列でSort
>    For i = .CurrentRegion.Rows.Count - 1 To 1 Step -1
>      If .Offset(i) = .Offset(i - 1) Then _
>         .Offset(i).EntireRow.Delete
>    Next i
>  End With
>End Sub
・ツリー全体表示

【75304】Re:どこがまずいのでしょうか
発言  kanabun  - 14/2/7(金) 11:41 -

引用なし
パスワード
   別法で、
作業列使っていいのなら、並び替えなくてもできます。

Sub 重複行削除3()
  With Range("B1").CurrentRegion.Columns(3)
    .Formula = "=IF(COUNTIF($B$1:$B1,B1)>1,TRUE,$A$1)"
    On Error Resume Next
    .SpecialCells(xlFormulas, xlLogical).EntireRow.Delete
    On Error GoTo 0
    .EntireColumn.Delete
  End With
End Sub
・ツリー全体表示

【75303】Re:どこがまずいのでしょうか
発言  kanabun  - 14/2/7(金) 11:09 -

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

>A6,A7の各行が削除されるものと思いましたが、
>削除されません。どこがまずいのでしょうか。

そのコードは、表がB列で並び替えられていれば、そのままで動作します。

Sub 重複行削除2()
  Dim i As Long
  With Range("B1")
    .CurrentRegion.Sort Key1:=.Cells, Header:=xlNo 'B列でSort
    For i = .CurrentRegion.Rows.Count - 1 To 1 Step -1
      If .Offset(i) = .Offset(i - 1) Then _
         .Offset(i).EntireRow.Delete
    Next i
  End With
End Sub
・ツリー全体表示

【75302】どこがまずいのでしょうか
質問  tomo  - 14/2/7(金) 10:54 -

引用なし
パスワード
   重複行削除練習のため、下記のように入力しました。
A6,A7の各行が削除されるものと思いましたが、
削除されません。どこがまずいのでしょうか。
素人です。端的に、ここをこうすればよい
というご教示だけをいただきたいのですが。
(専門的なこと、付加的なことを言われてもよく分かりませんので。)
  A列   B列
1  AB   1111
2  AB   1112
3  AB   1113
4  AB   1114
5  AB   1115
6  AB   1111
7  AB   1112

プロシージャは次としました。
Sub 重複行削除()
  Dim i As Long
  With Range("B1")
    For i = .CurrentRegion.Rows.Count To 1 Step -1
      If .Offset(i, 0) = .Offset(i - 1, 0) Then .Offset
                   (i,0).EntireRow.Delete
    Next i  
  End With
End Sub
・ツリー全体表示

【75301】Re:マクロが入ったエクセルファイルのお...
発言  γ  - 14/2/6(木) 21:03 -

引用なし
パスワード
   今のExcelのversionはいくつですか?
大抵のマクロは動くと思いますが、中には動かなくなるものもあります。
典型的な例はFileSearchオブジェクトです。(ExcelというよりOfficeの機能ですけど)
2007以降はこの機能がなくなり使えなくなりました。エラーになります。

このように、いくつかのものは使えなくなっていますし、振る舞いが変わってしまうものもあります。
それらは個々に対応するしかありません。
なにかのソフトを使えば、以前と同じように使えるといった万能の策はありません。
(強いて言えば、versionアップせずに元に戻すという策が理屈上はありますが、
 採り得無いでしょう。別の面では機能が強化されたりしているからです。)
・ツリー全体表示

【75300】マクロが入ったエクセルファイルのお引越...
質問  ヒロリン  - 14/2/6(木) 18:00 -

引用なし
パスワード
   マクロが入ったエクセルファイルのお引越しを
古いパソコンxpから
新しいパソコンWindows 8.1を買ったので
Office Home and Business 2013に
たとえば売上というファイルを移動しようと思いますが

何か不具合おきないでしょうか
マクロは自分で使いやすいように作って
問題なく動いています

移動をしたことないので
新しいパソコンで何かあったらいやなので
事前に知っておきたいのですが

ご教示していただけたらありがたいです
宜しくお願いします
・ツリー全体表示

【75299】Re:ある特定セルから文字を取得後,他のシー...
発言  HARA  - 14/2/5(水) 12:54 -

引用なし
パスワード
   検索値がみつからないので,エラーになります。
if target is nothing then exit subをいれてみてください。
同じ検索データがあるときの処理もしないといけないのでは?
・ツリー全体表示

【75298】Re:2つのグラフのグループ化
お礼  まめ  - 14/2/5(水) 8:53 -

引用なし
パスワード
   マナ様

お世話になっております。
度々ご回答いただき、誠にありがとうございます。

教えていただいたコードで無事グループ化ができました!(*^_^*)
もっとオブジェクト構成など勉強していきたいと思います。

この度はありがとうございました。
・ツリー全体表示

【75297】ある特定セルから文字を取得後,他のシートを...
質問  ケン  - 14/2/5(水) 1:20 -

引用なし
パスワード
   こんにちは.初歩的な質問かと思いますが,タイトル通りのマクロを組むのに困っています.

Sheet1のI8を読み取り(a),それに合致するセル(target)を
Sheet3のA1からA9の範囲で探してその右隣のセルの値,
すなわちSheet3のB1〜B9の値(b)をえたいのですが,b=〜のところで
エラー91になります.
どのように解決したらよろしいでしょうか?
ご回答よろしくお願いいたします.

Sub ()
 Dim a As Variant
 Dim target As Variant
 Dim b As Variant

 a = Sheets(1).Cells(2, 8)
 Set target = Sheets(3).Range("A1:A9").Find(What:=a)
 b = target.Offset(0, 1)
 MsgBox b
end sub
・ツリー全体表示

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