Excel VBA 質問スレ Part41©5ch.io
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん 転載ダメ©2ch.net
2016/04/27(水) 04:11:46.79ID:Nk+oP5xRコード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part40
http://echo.2ch.net/test/read.cgi/tech/1455817784/
※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 122
http://echo.2ch.net/test/read.cgi/bsoft/1461287268/
0896デフォルトの名無しさん
2016/06/22(水) 02:06:10.04ID:wvGXF4sCその無能そうな男根上司の人件費を削れと
更に上の方に進言してみては如何でしょうか
0897デフォルトの名無しさん
2016/06/22(水) 06:10:12.36ID:xpmo0JmUなぜそんな予測変換されたんですかねぇ
そういやexcelって音声入力出来たような
中身はapi使ってるだろうけど
その辺をマクロで動かせればマイク入力検知出来るかもな
多分マイク入力した内容がセルに入力されるから
セルの中身を監視すればマイク監視になるかも?
0898デフォルトの名無しさん
2016/06/22(水) 11:04:13.30ID:pdf2AYpoここはなんなんだ?
0899デフォルトの名無しさん
2016/06/22(水) 12:41:22.71ID:d8X+Mz2Y0900デフォルトの名無しさん
2016/06/22(水) 16:10:26.61ID:RYmYe0U+こうしたいのですが
Sub test()
For x1 = 1 To 21
z1 = Columns("B").Find(What:="1", LookIn:=xlValues).Row
z2 = Columns("B").Find(What:="4", LookIn:=xlValues).Row
Cells(x1, 3) = z1
Cells(x1, 4) = z2
??????? <- この部分がわかりません
Next
End Sub
簡単そうなのに書けない
どなたか教えてくれませんか
よろしくお願いします
0901デフォルトの名無しさん
2016/06/22(水) 16:30:58.68ID:k28/2S7E検索範囲を変える必要がある
For x1 = 2 To 21
Set cell = Cells(Int((x1 - 2) / 4) * 4 + 2, 2)
z1 = Range(cell, cell.Offset(3, 0)).Find(What:="1", LookIn:=xlValues).Row
z2 = Range(cell, cell.Offset(3, 0)).Find(What:="4", LookIn:=xlValues).Row
Cells(x1, 3) = z1
Cells(x1, 4) = z2
Next
0902デフォルトの名無しさん
2016/06/22(水) 16:37:52.57ID:fp5ZaXifoffset(3, 0)て必要だっけ?
0903デフォルトの名無しさん
2016/06/22(水) 16:40:09.59ID:fp5ZaXif元の仕様がはっきりしてないからそれも有りか
行こうで最初に見つかった1と4の行を書くのかと思った
レンジ内で見つからなければ空白にしておくのかな
0904デフォルトの名無しさん
2016/06/22(水) 16:45:48.18ID:onGVTzQVwin32apiについて調べました。osの制御領域にアクセスする関数と理解しましたが…恐らく違うと思いますが。
ただ、wavein で入力出来るのは把握しましたが録音は不要なので録音したデータの消去?メモリの開放?が必要と感じました。
apiを使った場合の手段をお持ちでしたらご教授いただけませんか?
>>896
お前が消えれば有能な新人3人雇えるぞ!と伝えたんですが笑ってごまかされましたw
0906デフォルトの名無しさん
2016/06/22(水) 17:50:50.12ID:k28/2S7Ecellは検索範囲の一番上の一つのセル
なので、検索範囲はcellからcell.offset(3, 0)まで
0907デフォルトの名無しさん
2016/06/22(水) 19:21:27.54ID:GzMeTh220908デフォルトの名無しさん
2016/06/22(水) 20:09:00.86ID:ODql0kXP0909デフォルトの名無しさん
2016/06/22(水) 20:17:12.73ID:Otf7UlaS社畜はボランティアだけどな
0910デフォルトの名無しさん
2016/06/22(水) 21:31:32.97ID:e7QNeyZNDeclare文をいちいち #If で分岐して2つ書くのめんどくせえ
0911デフォルトの名無しさん
2016/06/22(水) 21:56:02.90ID:Q6ImdGoP0912デフォルトの名無しさん
2016/06/22(水) 22:00:57.10ID:xMnnl7vvMS公式サイトのどっかに書かれていなかったっけ?
0913デフォルトの名無しさん
2016/06/22(水) 22:10:05.14ID:Q6ImdGoPさっきの話じゃないけどLongとLongPtrの使い分けがまれに必要になるくらいだし。
アドインなんてそんなに使うもんでもないし。
0914デフォルトの名無しさん
2016/06/22(水) 23:55:01.23ID:Q6ImdGoPLongとLongPtrの使い分けが必要なのは
2010以前のOfficeとそれ以降の区別のためだった
0915デフォルトの名無しさん
2016/06/23(木) 00:33:26.94ID:5Le54zsVグラディウスのパワーアップゲージみたいなのを表示したいんですけど、
やっぱApiじゃないとだめっすね。
0916デフォルトの名無しさん
2016/06/23(木) 01:26:28.46ID:AeympkFYたしかに団塊は70超えているよな。
だから団塊ジュニアだろうね。
団塊ジュニアの年長組はバブル世代でアクティブ馬鹿が多いから超やっかいだよ。
年少組は氷河期世代だから、中小企業にも普通ではあり得ないぐらいの高学歴優秀人材が入っていて、
最近の緩い世代に指示を出したときに、部下が指示を理解できないほど無能だと理解できない人もいる。
0917デフォルトの名無しさん
2016/06/23(木) 07:42:55.00ID:P65xBEPlさあ。作り方によりけりだから何とも。
0918デフォルトの名無しさん
2016/06/23(木) 08:17:04.29ID:6ajXjAAOスルーするわ
0919デフォルトの名無しさん
2016/06/23(木) 19:13:38.85ID:ORCEW442エクセルで7つ連続データがある場合色を変える条件書式を入れたいんだけど、
どうすればよい?
要は横長カレンダーで、
7連続勤務してたら赤いセルにしたいわけです。
条件書式苦手で簡単なものしかできないのでついマクロで組みたくなるんですが、
条件書式でするのがスマートかなと。
わかる達人さんいますか?
0920デフォルトの名無しさん
2016/06/23(木) 19:24:46.89ID:tLPsEa5bうん、条件付き書式でやるのがスマートだね。
そしてそうなるとVBAスレではスレ違いになるんだ。
例えば着色対象データが変動するなら、
それに条件付き書式を設定して行くというならVBAの対象になるけどね。
それも自動記録見ればどうやるか大体分かるんじゃないかな。
0921デフォルトの名無しさん
2016/06/23(木) 19:40:37.78ID:ORCEW442スレ違いなのはすいません
自動記録?
VB.netはよくやりましたが、
エクセルVBAは今まではじめてでエクセル独自の機能に詳しくないのですが、
7つ連続したら、の部分と$の部分が難しいと思ってて、
数式を書いてもどう全てのセルに適応させていいかが難しいです。
自動記録だと単にセルに色をつけます。
だけしかマクロに記述されないと思うんですが、違うの?
0922デフォルトの名無しさん
2016/06/23(木) 19:43:02.54ID:ORCEW442http://m.chiebukuro.yahoo.co.jp/detail/q14104677054
これでいいのかな?
もっとスマートな方法あります?
0923デフォルトの名無しさん
2016/06/23(木) 21:22:21.54ID:cLKZIR8E「連続データ」の内容をもうちょっと具体的に書いて
「出勤」という文字列が連続、とか
0924デフォルトの名無しさん
2016/06/23(木) 21:39:49.58ID:4odcvt180925デフォルトの名無しさん
2016/06/23(木) 21:41:46.90ID:4odcvt180926デフォルトの名無しさん
2016/06/23(木) 21:44:09.24ID:ORCEW442本当は色々あるけど、とりあえずは
出勤なら1
休みなら空白です。
A列が1日として、そこから右に
1が7つ連続で入っていたらその部分のみ赤に。
要は7連勤はダメですよ、の印を自動化したい。
0927デフォルトの名無しさん
2016/06/23(木) 21:45:41.71ID:ORCEW442前7セルはどう取ります?
offset?
0928デフォルトの名無しさん
2016/06/23(木) 22:05:04.93ID:cLKZIR8EそれならSUMで合計して7になればいいわけだから、もっと簡単に書けると思うよ
ていうか、前月と来月も連続して調べないと連勤かどうか判定できないじゃん
0929デフォルトの名無しさん
2016/06/23(木) 22:23:06.74ID:ORCEW442その辺りのことは関係ないからハショってるけどご心配なく
あとSUMで7になればというのはわかるんだけど、
そこからどう条件書式にあてはめるかがわからなくて。
例えばF1に対してA1:F1のサマリーが7ならそこまで赤。という条件書式を入れるとする。
それをどう31日分までコピればいいのかわからなくて、
0930デフォルトの名無しさん
2016/06/23(木) 22:25:21.53ID:ORCEW442半月シフトなんで常に前15日の分と足してあるんだよ。
提出シフトチェックなので来月分はいらない、というかない。
0931デフォルトの名無しさん
2016/06/23(木) 22:35:04.87ID:5hMmurD9この場合の最低限の対応でいいんなや、そのままF1セルをG1以降に貼り付ければできあがりじゃないか?
0932デフォルトの名無しさん
2016/06/23(木) 22:43:58.10ID:mfKhDDiMえっとこのすれ EXCEL VBA質問スレだけど
条件付き書式に適用する VBAプロシージャを作ればいいの?
EXCELのビルトイン関数じゃなくて
0933デフォルトの名無しさん
2016/06/23(木) 23:20:24.52ID:ORCEW442それでいけますか?
いちどやってみますが、そういうのやってみてうまくいきませんでした
0934デフォルトの名無しさん
2016/06/24(金) 00:04:12.12ID:AlMzuoNq懐かしいなオイ!
上上下下左右左右BAだったっけ?w
オレはその裏技使わなくても表裏クリア出来たけどな(自慢)
0935デフォルトの名無しさん
2016/06/24(金) 00:10:57.49ID:2UsOiKaq爺さんそれは良かったな
0936デフォルトの名無しさん
2016/06/24(金) 00:48:57.17ID:+Rdmt4kb2周目=裏面という表現の方が懐かしいわ。
0937デフォルトの名無しさん
2016/06/24(金) 00:52:02.07ID:AlMzuoNqそれを知ってるあんたモナー
>>936
え?
そうだっけw
0938デフォルトの名無しさん
2016/06/24(金) 00:52:29.28ID:+Rdmt4kb古いパソコンのF1とかF2とか、
そんなイメージ。
0939デフォルトの名無しさん
2016/06/24(金) 01:07:27.00ID:KnUE2FZK書式は25日まで設定すればいいんだから(25〜31日が最後の7日間)
A1〜Y1を選択した状態で条件付き書式を1つ入れれば自動的に全セルに適用される
0940デフォルトの名無しさん
2016/06/24(金) 08:57:55.46ID:iyC6NAOvありがとう。
まずは選択→条件書式→サマリー(この時A:Fのサマリーだけでいけますか?どこをサマリーしますか?$の固定を抜けば勝手に列はスライドしてエクセル側が判定してくれるのかな?
このやり方だと、A:Fの合計が7の時、A:Yの全てが赤になりませんか?)
A:Fのサマリーの条件書式をA〜Fを指定して作成→ラストまでコピー
↑自分的にはこういうやり方かと思ってました。
0941デフォルトの名無しさん
2016/06/24(金) 09:02:27.83ID:KnUE2FZKいいから聞く前にいっぺんやってみ
0942デフォルトの名無しさん
2016/06/24(金) 09:03:14.54ID:KnUE2FZK0943デフォルトの名無しさん
2016/06/24(金) 09:57:37.31ID:I5J50lMnコピペとかしないで、条件付き書式の適用先を1から31日までの範囲にして(選択して)数式を入力すればいい
=SUM(RC:R[-6]C)=7
条件付き書式の数式を考えるときはA1形式だとややこしいからR1C1にするのおすすめ
0944デフォルトの名無しさん
2016/06/24(金) 14:38:11.29ID:iyC6NAOv他のシートはいろんな人が使用してるため、その形式はブック全体だと思うので厳しいですね…
やっぱりとりあえずやりましたがうまくいきません。
使用変更で、×と空白以外を出勤とする。
連勤の数は外出し
となりました。
数の外出しも×と空白以外もいいんですが、
条件書式の基本的なところがわかってないみたいで、厳しいです。
$は抜くんですか?
固定ですか?
0945デフォルトの名無しさん
2016/06/24(金) 15:00:42.59ID:I5J50lMnR1C1にして条件付き書式設定した後にA1に戻せばいいだけの話だろ
連勤日数が入力されてるセルに色つけるなら数式を入力せずともリボンメニューのセルの強調表示ルールに"指定した値より大きい"があるでしょ
0946デフォルトの名無しさん
2016/06/24(金) 18:00:51.09ID:iyC6NAOvそうですね。そうしたらいいんですね。
あと、連勤日数がセルに記入されてるわけではないです。
セルには、9-18とか、会議、とか、
その日の勤務時間が入力されてるのでそれは使えないですね。
せるが連続して×ないしは空白のない7日連続になった場合に、セルの色を変えたいのです。
0947デフォルトの名無しさん
2016/06/24(金) 22:13:06.84ID:AYTMSqmcwindows7
excel2010
100行ほどのリストがexcelで渡されます。
1行目はフィールド名が20項目ほど並んでいます。
1列1項目。
2行目からはダーッとデータが入っていて、100行目まで。
各セルのデータは入っていたり、空だったり。
「G列からT列まで、セルに何も値が入っていなければ行全体を削除」というプログラムを組んでいます。
データが存在する最終行を取得して、最終行から上に向かって繰り返し処理を行います。
繰り返し処理の内容は
・G〜T列に値が入っているかチェック。チェックして値が入っていなければフラグを立てます。
・フラグが立っていればその行は削除。立っていなければフラグを初期化して次の行へ。
成功したかと思ったのですが、どうしても最後(下から上への処理なのでつまりは2行目)の行が判定されません。
この解決方法を教えていただけたらと思います。
0948947
2016/06/24(金) 22:14:45.53ID:AYTMSqmcDim i As Long
Sub DelRow()
Dim c As Range
Dim blnFlag As Boolean
blnFlag = False
'最終行iから上に進む
For i = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row To 1 Step -1
'G〜Tを判定。ワイルドカードで検索し何らかの文字があればblnFlagをTrueにする。
For Each c In Range(Cells(i, "G"), Cells(i, "T"))
'値が入っていたらTrue
If c.Value <> Empty Then
blnFlag = True
End If
Next c
If blnFlag = False Then
Range(i & ":" & i).Delete
Else
blnFlag = False
End If
Next i
End Sub
0949947
2016/06/24(金) 22:16:08.97ID:AYTMSqmc繰り返し処理は「何かしらの文字があれば」フラグを立てる、でした。
よろしくお願いいたします!
0950デフォルトの名無しさん
2016/06/24(金) 22:50:56.37ID:sry2i9xY何も入ってないのに削除されないって事?
空セルに見えて 実は 半角/全角のスペースが入ってるとかない?
0951デフォルトの名無しさん
2016/06/24(金) 23:11:09.46ID:PB/SKySKIf blnFlag = False Then
Range(i & ":" & i).Delete
Else
blnFlag = False
End If
を
If blnFlag = False Then
Range(i & ":" & i).Delete
End If
blnFlag = False
にすべき
0952デフォルトの名無しさん
2016/06/24(金) 23:32:31.95ID:JUbaOn5Z0953デフォルトの名無しさん
2016/06/24(金) 23:36:42.13ID:+Rdmt4kbG & H & I & …って全部繋げて、
そいつが = "" なら削除でよくね?
0954デフォルトの名無しさん
2016/06/24(金) 23:58:44.99ID:jYe71Mmyそれが圧倒的に判り易いやw
0955デフォルトの名無しさん
2016/06/25(土) 00:12:12.78ID:zTTmLUZY> blnFlag = True
> End If
どうでもいいけど、ここをEmpty で判定すると
数値型で 0 が入力されてても空と見なされるね
0も空と見なすなら別にいいけど・・・
0956デフォルトの名無しさん
2016/06/25(土) 00:57:11.91ID:zTTmLUZYちなみに値がEmpty値かどうか正確に判定したいなら
以下のようにすべき、これならEmptyの暗黙の型変換は無くなる
> If c.Value <> Empty Then
↓
If Not IsEmpty(c.Value) Then
0957デフォルトの名無しさん
2016/06/25(土) 11:05:53.81ID:zMiNU6un拾い物なんですが下記のコードをセルA1だけでなく、シート内全セルに変更したいのですがうまく出来ません。助けて下さい。
Sub 文字の修正()
If Range("A1").Find(What:="株式会社") Is Nothing Then
Moji = Range("A1").Value
Range("A1") = "株式会社" & Moji & "御中"
End If
End Sub
0958デフォルトの名無しさん
2016/06/25(土) 11:12:29.15ID:LSp3Y+eCSub 文字の修正()
Dim Unko as Range
If Range("A1").Find(What:="株式会社") Is Nothing Then
Moji = Range("A1").Value
Range("A1") = "株式会社" & Moji & "御中"
End If
End Sub
0959デフォルトの名無しさん
2016/06/25(土) 11:16:30.79ID:LSp3Y+eCSub 文字の修正()
Dim Unko As Range
For Each Unko In ActiveSheet.UsedRange
If Unko <> "" And InStr(Unko, "株式会社") = 0 Then
Unko = "株式会社" & Unko & "御中"
End If
Next Unko
End Sub
0960デフォルトの名無しさん
2016/06/25(土) 11:19:09.76ID:DPbC+aT1次スレぼちぼち立ててくれよ
0961デフォルトの名無しさん
2016/06/25(土) 11:21:30.82ID:LSp3Y+eCSub 抹殺()
Dim Aho as Respond
Set Respond = ActiveThread.Respond(960)
Respond.Delete
End Sub
0962デフォルトの名無しさん
2016/06/25(土) 11:22:07.48ID:LSp3Y+eCo Aho.Delete
0963デフォルトの名無しさん
2016/06/25(土) 11:22:33.41ID:LSp3Y+eCo Set Aho
0964デフォルトの名無しさん
2016/06/25(土) 11:32:10.33ID:zMiNU6un出来ましたありがとうございます!
最初うんことか書いてあるから動かないかと思いました。
0965デフォルトの名無しさん
2016/06/25(土) 14:39:50.13ID:GSPW6H1wそもそも株式会社ではないことも多い。
どうするの?
0966デフォルトの名無しさん
2016/06/25(土) 21:44:50.71ID:zNM5hCECオレはあくまでも例題と思ったがな・・
0967デフォルトの名無しさん
2016/06/25(土) 21:55:37.21ID:6Lp5FHz70968デフォルトの名無しさん
2016/06/25(土) 22:10:13.22ID:OxRz95e1よい観点
0969デフォルトの名無しさん
2016/06/26(日) 00:11:16.94ID:bWC1XfD2わけでもなし
0970デフォルトの名無しさん
2016/06/26(日) 01:52:39.72ID:wrV5aHGV相手の希望の裏にある本当に解決したいことを見つけるのが2流
相手自身が気がついてさえいない相手にとって有効なソリューションを示すのが1流
0971デフォルトの名無しさん
2016/06/26(日) 02:39:37.45ID:bX5XM7mIExcel VBA 質問スレ Part42©2ch.net [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1466876143/
0972デフォルトの名無しさん
2016/06/26(日) 02:47:40.29ID:DVGuk9ay当初の予定よりもカネも時間も桁違い
と陰口叩かれるんですね。わかります。
0973デフォルトの名無しさん
2016/06/26(日) 02:52:28.77ID:TQjwgA3Hconst char***
char ***
char const***
char *const**
char const*const**
char **const*
char const**const*
char *const*const*
char const*const*const*
0974デフォルトの名無しさん
2016/06/26(日) 02:52:46.64ID:TQjwgA3H0975デフォルトの名無しさん
2016/06/26(日) 08:25:22.50ID:nJ28NdtKtypedefすりゃだいたいわかる
0976デフォルトの名無しさん
2016/06/26(日) 09:01:04.18ID:0rtfUKXl運用者目線に立って
あらゆることを考慮して
使い易さを考えた結果として
高額見積りした方が現場の人間には信用されるよな
経理は金額で人を選んで
その値段で受注した奴に全責任を負わせるだけのクズが多い
何も考えずに出された仕様から
簡単な低額見積りした場合
そんな例外は考慮してません
そんな運用は考慮してません
そんな既存バグは考慮してません
契約範囲外です
ってなるんだけど
やって貰わないと困るとか
この契約書には例外、運用、既存バグについての想定は書かれていないとかさ
結局やることになって
仕組自体を一からやり直さないといけなかったり
既存バグが無限に湧いてきたりはよくある
そして揉めに揉めて全員損する
無駄が多過ぎる
0977デフォルトの名無しさん
2016/06/26(日) 10:20:33.30ID:0Y1q2sekその辺考慮するのは分かるけど
普通何でもかんでも対応するんじゃなくて
先にお客さんと話しあって固めない?
一流とか二流とか言う前に常識として
0978デフォルトの名無しさん
2016/06/26(日) 10:58:29.69ID:Y4p6Hgz2「こんなのは簡単でしょ」、というのと「ここの作り直しはどえらいことだ」というのが逆だったりする。
話し合わずに感覚で勝手に判断するんだよね。
0979デフォルトの名無しさん
2016/06/26(日) 11:00:17.21ID:I8EsIBnkバカのシステム屋ごっこもここに極まれり!やなwww
0980デフォルトの名無しさん
2016/06/26(日) 11:06:20.83ID:abwRoDQE0981デフォルトの名無しさん
2016/06/26(日) 11:11:09.05ID:I8EsIBnk大抵の仕事にはソリューション()が元からあるわwww
ソリューション()もないのに何の仕事した気になっとんねんバカ丸出しやんお前wwww
0982デフォルトの名無しさん
2016/06/26(日) 11:18:00.25ID:abwRoDQE流れ的に下流工程の話じゃないだろ
0983デフォルトの名無しさん
2016/06/26(日) 11:21:16.46ID:I8EsIBnkなんで突然下流工程とかwwww
バカなんやからもうやめろ恥ずかしいでw
0984デフォルトの名無しさん
2016/06/26(日) 11:31:07.00ID:qLHqrl/u0985デフォルトの名無しさん
2016/06/26(日) 11:50:58.57ID:Y4p6Hgz20986デフォルトの名無しさん
2016/06/26(日) 13:20:12.03ID:QNHd0b5c0987デフォルトの名無しさん
2016/06/26(日) 13:24:14.15ID:I8EsIBnk思い込みなんぞ人間誰にでもあるもんや
無駄に終わるんはお前自身が思い込みを抱えこんどるのに気がついてないからやでw
0988デフォルトの名無しさん
2016/06/26(日) 13:52:14.42ID:0+Or/a+e患者「ほっといてもすぐ治ると思ったのに…グスッ」
0989デフォルトの名無しさん
2016/06/26(日) 15:31:13.87ID:bWC1XfD20990デフォルトの名無しさん
2016/06/26(日) 15:50:18.08ID:nJ28NdtK0991デフォルトの名無しさん
2016/06/26(日) 17:30:44.05ID:SfsrMLBW”マクロを実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。”
というエラーメッセージが出てきます。
エクセルのオプション画面で、セキュリティセンターでマクロの設定を見ると、マクロ有効の設定になっています。
原因がさっぱりわかりません。詳しい人いましたら、教えてください。
Excel2010です。
0992デフォルトの名無しさん
2016/06/26(日) 17:51:27.04ID:MWzvQhZg拡張子
0993デフォルトの名無しさん
2016/06/26(日) 17:58:09.36ID:GKe9+Aa30994デフォルトの名無しさん
2016/06/26(日) 20:03:53.79ID:SXF7JZZI0995デフォルトの名無しさん
2016/06/26(日) 20:50:40.78ID:Qa1v+81y大阪の犯罪率が高いのも
在日率が高いのも
ナニワ金融道なのも
気持ち悪いのも
みんなの思い込みだから気にすんな
レス数が950を超えています。1000を超えると書き込みができなくなります。