Excel VBA 質問スレ Part29

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ExcelのVBAに関する質問スレです

★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。

★2 ExcelのVBA以外の部分に関する質問はNGです。
   但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。

★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。

 VBAとは、『Visual Basic for Applications』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。

★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
   コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
   ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。

★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)

前スレ:Excel VBA 質問スレ Part28
http://toro.2ch.net/test/read.cgi/tech/1359607536/

関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
2デフォルトの名無しさん:2013/03/31(日) 09:30:13.76
3デフォルトの名無しさん:2013/03/31(日) 09:40:50.10
>>1
死ねよアスペ
4デフォルトの名無しさん:2013/03/31(日) 11:24:01.80
まぁ別に>>1がこの世の何にも優先される絶対的真理って訳でもないし、テンプレ盾に訳分からんこと言ってきたって無視すれば良いだけの話。
5デフォルトの名無しさん:2013/03/31(日) 12:52:33.92
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
6デフォルトの名無しさん:2013/03/31(日) 13:56:41.55
>>1
7デフォルトの名無しさん:2013/03/31(日) 15:13:33.85
>>1は前スレで★5を消すか皆で議論している最中に消されるのが嫌で
焦ってこのスレを立てることにより、テンプレを守る必要がない大義名分を与えてしまった。馬鹿な奴だ。
8デフォルトの名無しさん:2013/03/31(日) 15:19:26.85
どんだけ悔しがってるんだw
とりあえず涙拭けよ
9デフォルトの名無しさん:2013/03/31(日) 15:23:14.34
あーあ、アスペのせいで
このスレもなんでもありになっちゃったね。
10デフォルトの名無しさん:2013/03/31(日) 15:28:17.38
これまでも何でもありだったし、これからも何でもありでいいじゃん。
11デフォルトの名無しさん:2013/03/31(日) 15:48:58.08
じゃそういうことで
12デフォルトの名無しさん:2013/03/31(日) 15:51:05.69
もう一個のVBAスレとは何だったのか
13デフォルトの名無しさん:2013/03/31(日) 15:52:41.61
クレクレウェルカム荒らしウェルカム桃白白可愛い
14デフォルトの名無しさん:2013/03/31(日) 15:59:54.19
話題無いから燃料投下
VBAとVB6のアーキテクチャってどっかで共有されてるの?
言語仕様そっくりだとは思いつつそのへん意識した事無かった
15デフォルトの名無しさん:2013/03/31(日) 16:03:25.11
これから何かあるたびに
>>1のせいで、とか
あの時のアスペのせいでって
言われるんだろうな。自業自得だけど。
16デフォルトの名無しさん:2013/03/31(日) 17:11:34.24
>>1叩いてるの一人だけかよ
どんだけw
17デフォルトの名無しさん:2013/03/31(日) 17:17:13.17
調子にのるな馬鹿
18デフォルトの名無しさん:2013/03/31(日) 17:23:17.12
余程悔しかったんだろうな
なんとか>>1を悪者にしようと、必死で印象操作してる

露骨&粗忽すぎて、>>1叩いてる奴の方が自分の陰湿さを晒してるだけなのが笑えるがw
19デフォルトの名無しさん:2013/03/31(日) 17:23:33.49
>>16
死ね
20デフォルトの名無しさん:2013/03/31(日) 17:25:11.62
この人、荒して皆に迷惑掛けてるって自覚あるのかな
21デフォルトの名無しさん:2013/03/31(日) 20:59:25.01
ある列の値の入った最下行を取得するのは、どうするのが一番確実でしょうか?
End(xlUp).Rowだと書式だけ残った使用済みのセルで引っ掛かってしまいます
End(xlUp).Rowから一つずつ上のセルの確認するしかないのでしょうか
22デフォルトの名無しさん:2013/03/31(日) 21:01:06.76
以上、ここまでテンプレ
23デフォルトの名無しさん:2013/03/31(日) 21:15:29.58
>>21
この間の人?
End(xlUp)って書式引っかかったっけか。
もう一度引っかかったとこらへんの範囲を選択して
Deleteキーで消してみても駄目?
24デフォルトの名無しさん:2013/03/31(日) 21:19:07.30
>>22
旬の食材を薄力粉の液体につけて
180度くらいに熱したゴマ油にいれて熱を通してから天つゆにつけて食う
25デフォルトの名無しさん:2013/03/31(日) 21:31:03.85
>>23
この前の人がどなたか存じ上げません、別人です
すみません、書式だけ残った場合では引っ掛かりませんでした

=if(iserror(hogehoge),''',a1)みたいな数式を値で貼付けていた場合に
見た目が空のセルでもEnd(xlUp).Rowで引っ掛かってしまう様です
26デフォルトの名無しさん:2013/03/31(日) 21:41:48.30
>>978
ああ、ExcelVBAではなくて、AccessVBAか。それならその使い方にむいてるかもね。
Excelから、AccessDBに連携させてんじゃなくて、AccessVBAで単独構築ってことだよね。

>>996
保守が誰もできないVBA資産を残すリスクが高いって話だよ。

金の計算がからむのは、さすがに怖くて残せない。利率がかわっても、修正することすら
気づかず使いつづけそうだし。コードに利率は記載せず、誰にでも修正できるようシートの
利率TBLを参照する形にしたって、気づかない人は気づかない。

後任はまだよくても、後任の後任のPCスキルがどの程度なのか不明なわけだし。

ちなみに今月、自分が、同僚に真顔で聞かれたこと。

「フォルダって、どうやって新しく作るの?」

・・・VBA資産を残すのは、リスキーすぎる職場だろう。
27デフォルトの名無しさん:2013/03/31(日) 21:46:53.47
>>24
天ぷら
28デフォルトの名無しさん:2013/03/31(日) 22:45:19.66
>>25
有効な値のあるセルを見つけたいってことかな。
Columns(1).Find("*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
29デフォルトの名無しさん:2013/03/31(日) 23:12:56.71
>>28

Dim targetColumn as Integer
targetColumn = 1

Dim resultRange as Range
set resultRange = Columns(targetColumn).Find("*", LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)

Dim resultRow as Long

If resultRange Is Nothing Then
resultRow = 1
Else
resultRow = resultRange.Row
End If

出来ました、ありがとうございます
ワイルドカードを逆順で検索、思いつきませんでした
30デフォルトの名無しさん:2013/03/31(日) 23:15:04.14
>>29
小汚いプログラムだなw
31デフォルトの名無しさん:2013/03/31(日) 23:19:31.12
>>30
小綺麗な見本をいただけますか!
32デフォルトの名無しさん:2013/03/31(日) 23:28:47.45
>>31
>>1★5
33デフォルトの名無しさん:2013/03/31(日) 23:31:21.29
>>31
全部大文字で書け!
34デフォルトの名無しさん:2013/03/31(日) 23:33:11.28
>>32
書きましたのに、小汚いコードを

>>33
どういう事ですか
35デフォルトの名無しさん:2013/03/31(日) 23:33:51.28
>>34
プログラムが汚いw
36デフォルトの名無しさん:2013/03/31(日) 23:36:49.54
>>35
あ、はい
37デフォルトの名無しさん:2013/03/31(日) 23:41:30.71
>>36
書き直せw
38デフォルトの名無しさん:2013/03/31(日) 23:41:45.78
>>37
嫌です
39デフォルトの名無しさん:2013/03/31(日) 23:46:01.64
>>38
as Rangeって何?
40デフォルトの名無しさん:2013/04/01(月) 00:09:36.90
29に優しくしてやれ。
このスレ、私見だが、女も多い気がするし。29がそうだとはいわないが。

vba = 事務職が主に使う言語 =事務職の大半は女 の構図から連想してみた。
41デフォルトの名無しさん:2013/04/01(月) 00:12:56.00
カワイイなら俺が全部コード書いてやる
42デフォルトの名無しさん:2013/04/01(月) 00:21:31.25
濡れた
43デフォルトの名無しさん:2013/04/01(月) 01:15:11.25
Dimは先頭にまとめるべき論争の再来になるから嫌だ
44デフォルトの名無しさん:2013/04/01(月) 01:23:06.28
汚いってそういう事なの?
45デフォルトの名無しさん:2013/04/01(月) 01:33:18.42
結果を変数に入れてるのがなあ
こういうのは関数にするだろ普通は
46デフォルトの名無しさん:2013/04/01(月) 07:17:44.11
いや、これ自体が関数の中身で、
その変数が最後に戻り値設定されていれば別段問題ない。
47デフォルトの名無しさん:2013/04/01(月) 07:19:54.10
>>43
そんな論争が以前あったのか
48デフォルトの名無しさん:2013/04/01(月) 15:21:01.96
変数や定数の値を別のブックから参照する方法がありましたら教えてください。
49デフォルトの名無しさん:2013/04/01(月) 16:03:13.89
参照設定
50デフォルトの名無しさん:2013/04/01(月) 23:00:36.18
ものすごく初心者な質問ですみません…
Sheet1にあるマクロ実行ボタンを押して、その結果をSheet2に表示する方法を教えてください。
どうしても、Sheet1結果が出るか、新しいシートに出るかしかできないのです。
よろしくお願いします。
51デフォルトの名無しさん:2013/04/01(月) 23:01:47.07
Sheet2.Cells(1,1) = "けっか"
52デフォルトの名無しさん:2013/04/01(月) 23:02:50.90
Sheets("Sheet2").Cells(1,1) = "けっか"
53デフォルトの名無しさん:2013/04/01(月) 23:23:18.46
>>51-52
できましたー!
このスピードで答えていただき本当に助かりました!
ありがとうございました!
54デフォルトの名無しさん:2013/04/02(火) 07:52:45.58
このスピードで
ワロタ
55デフォルトの名無しさん:2013/04/03(水) 13:19:39.78
すみません、自分で考えたのですが解決できずお力を貸して下さい。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Intersect(Target, Range("D4:D10")) Is Nothing Then Exit Sub
Select Case Target.Value
Case Is = ""
Target = "あ"
Case Is = "あ"
Target = "い"
Case Is = "い"
Target = ""
End Select

If Intersect(Target, Range("B4:B10,C4:C10")) Is Nothing Then Exit Sub
frmCal.Show

End Sub

今の状態では、B4:B10,C4:C10のセルを選んでもカレンダーがでません。助けてください orz
56デフォルトの名無しさん:2013/04/03(水) 13:27:05.71
>>55
「あ」とか「い」が何やってるのかわからないけど、これじゃ駄目なの?

if target.column >= 2 and target.column <= 4 and target.row >= 4 and target.row <= 10 then
  frmcal.show
end if
57デフォルトの名無しさん:2013/04/03(水) 13:36:22.67
>>56
解決しました!ネ申
58デフォルトの名無しさん:2013/04/03(水) 17:22:06.71
>>57
> If Intersect(Target, Range("B4:B10,C4:C10")) Is Nothing Then Exit Sub
> frmCal.Show
>
> End Sub

の何がまずかったのかな?
59デフォルトの名無しさん:2013/04/03(水) 17:44:45.55
聞いてる本人に聞くなよw
60デフォルトの名無しさん:2013/04/03(水) 17:45:59.53
>>58
「あ」とか「い」の部分がなくても
> If Intersect(Target, Range("D4:D10")) Is Nothing Then Exit Sub
があるから絶対にfrmCal.Showは実行されない。
それがまずい。
61デフォルトの名無しさん:2013/04/03(水) 17:47:05.38
何がまずくてもいいじゃん
あきらかにまずいだろ
前スレの何が勉強になったの?とか言ってた奴か?
62デフォルトの名無しさん:2013/04/03(水) 17:55:32.19
未だに悔しがってるとか、どんだけw
63デフォルトの名無しさん:2013/04/03(水) 18:10:43.53
もういいだろ
64デフォルトの名無しさん:2013/04/03(水) 18:19:51.44
>>61
俺も解らなかったから聞いただけなんだが。
解決したのならどこがまずかったのか理解できたと思うんだけど。
65デフォルトの名無しさん:2013/04/03(水) 18:23:28.13
>>64
なあ、それ本当に知りたいことなのか?
何かお前にプラスになるのか?
66デフォルトの名無しさん:2013/04/03(水) 18:38:28.63
できました!ありがとう。
6758:2013/04/03(水) 19:00:44.35
>>60
絶対にfrmCal.Showが実行されないという理由がわかりません。
68デフォルトの名無しさん:2013/04/03(水) 21:46:52.67
>>67
D列以外をダブルクリックしたら、最初のIfだけで終わっちゃうじゃん
69デフォルトの名無しさん:2013/04/03(水) 22:22:57.47
ていうか、うちの環境だとちゃんと判定してくれるけど
70デフォルトの名無しさん:2013/04/03(水) 22:24:35.64
>>68
ということは、>>56のレスをふまえると、最初のIfか最後のIfのRangeプロパティの
範囲のどちらかが間違っていたということですね。
ありがとうございました。
71デフォルトの名無しさん:2013/04/03(水) 23:06:07.09
マジで言ってんのか?
もうVBA以前の問題だわ。
72デフォルトの名無しさん:2013/04/03(水) 23:10:42.52
なんで?
73デフォルトの名無しさん:2013/04/03(水) 23:16:58.74
この中で男以外は帰ってください。
残ったなかで女以外は帰ってください。
誰も残ってないんですなぜだかわかりません。

って言ってるようなもんだぞ。
74デフォルトの名無しさん:2013/04/03(水) 23:29:31.73
性別があやふやな人もいるじゃないですか
75デフォルトの名無しさん:2013/04/04(木) 01:52:44.23
このスレで女以外は帰って下さい。
そして可愛い子以外は帰って下さい。
76デフォルトの名無しさん:2013/04/04(木) 02:02:32.49
おまえって欲望に忠実だな
77デフォルトの名無しさん:2013/04/04(木) 06:54:09.66
デ・ルモンテの法則
78デフォルトの名無しさん:2013/04/04(木) 13:44:42.40
VBAで画面キャプチャ後bmpとかpngで保存するとか可能ですか?
79デフォルトの名無しさん:2013/04/04(木) 13:54:02.16
可能だよ
VB6でのやり方がそのまま使えるのでお好きにどうぞ
80デフォルトの名無しさん:2013/04/04(木) 14:04:49.81
>>79
返信ありがとうございます。
ちょいとサンプルコード探してみたいと思います。
81デフォルトの名無しさん:2013/04/04(木) 15:05:45.29
>>79
探したのですがコードが見当たりません。
何かわかりやすいソースコード御持ちじゃないですか?
82デフォルトの名無しさん:2013/04/04(木) 15:19:09.45
持ってますお
83デフォルトの名無しさん:2013/04/04(木) 15:30:25.65
>>82
貼り付けお願いできませんか?
8483:2013/04/04(木) 15:50:07.05
Option Explicit

'ファイル保存ダイアログ
Private Function GetSaveFileName() As String
Dim sfile As String

sfile = Application.GetSaveAsFilename(fileFilter:="JPGファイル (*.jpg), *.jpg")
If sfile = "False" Then
GetSaveFileName = ""
Else
GetSaveFileName = sfile
End If
End Function

Private Sub CommandButton1_Click()
Dim rg As Range
Dim cht As Chart
Dim fina As String
8583:2013/04/04(木) 15:50:37.62
'保存ファイル名を取得
fina = GetSaveFileName

If fina <> "" Then
'選択範囲を取得
Set rg = Selection
'選択した範囲を画像形式でコピー
rg.CopyPicture appearance:=xlScreen, Format:=xlPicture
'画像貼り付け用の埋め込みグラフを作成
Set cht = ActiveSheet.ChartObjects.Add(0, 0, rg.Width, rg.Height).Chart
'埋め込みグラフに貼り付ける
cht.Paste
'JPEG形式で保存
cht.Export Filename:=fina, filtername:="JPG"
'埋め込みグラフを削除
cht.Parent.Delete
End If
End Sub
8683:2013/04/04(木) 15:51:34.76
これを保存ダイアログなしで自動でtestで保存。指定したセル範囲をキャプチャに改造して頂けませんか?
87デフォルトの名無しさん:2013/04/04(木) 16:09:36.80
甘えすぎ
8883:2013/04/04(木) 16:19:20.62
>>87

じゃあ範囲は自分で、できたから

保存ダイアログなしで自動でtestで保存。教えてよ
89デフォルトの名無しさん:2013/04/04(木) 16:38:58.05
http://blog-imgs-46-origin.fc2.com/c/h/a/chaigon/CapWnd.txt
※拡張子が txt となっていますが、実体はZIPファイルです。ダウンロード後、拡張子を zip に書き換えて解凍してください。
※CapWnd.basファイルをVBAProjectから「ファイルをインポート」すればOK!

使用例1 : 画面全体の画像をファイルに保存する
Public Sub SavePictureOfScreen()
    Dim pic As IPictureDisp
    Set pic = CaptureScreen()
    Call SavePicture(pic, "C:\screen.bmp")
End Sub

使用例2 : アクティブウィンドウの画像をファイルに保存する
※保存した画像の一部がおかしい不具合あり。原因は調査中。
Public Sub SavePictureOfActiveWindow()
    Dim pic As IPictureDisp
    Set pic = CaptureActiveWindow()
    Call SavePicture(pic, "C:\activewindow.bmp")
End Sub
90デフォルトの名無しさん:2013/04/04(木) 17:42:44.07
コード作成依頼に対応するなよ。
91デフォルトの名無しさん:2013/04/04(木) 17:45:56.00
>>83
こういうお願いはこっちにしろ。

VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
92デフォルトの名無しさん:2013/04/04(木) 17:53:44.09
>>91
誘導ありがと。修正もここでしてもらると思ってたわ。
失礼しました
93デフォルトの名無しさん:2013/04/04(木) 18:05:07.89
>>92
>>1★5を死ぬまで読んでろ。
94デフォルトの名無しさん:2013/04/04(木) 18:22:45.23
>>92
男が書くコードは修正しません
95デフォルトの名無しさん:2013/04/04(木) 18:45:13.45
私オカマなんたけど
96デフォルトの名無しさん:2013/04/04(木) 18:51:04.19
事務のパソコンが壊れたため1台新しくwin8を買ったため
excelを2003から2010に変えました

それでもう一台別のXPパソコンのほうも2010にしたんだけど
win8の2010でシート上のactivXのテキストボックスを作って保存したものを
XPの2010で開くとなんとテキストボックスのサイズもフォントサイズも一回りでかくなってるという
気持ち悪い現象が起きてます。

なんかバグっぽいけど治す方法とかありましたら教えてください。
97デフォルトの名無しさん:2013/04/04(木) 20:48:20.40
>>96
>>1★5
98デフォルトの名無しさん:2013/04/04(木) 21:09:42.76
99デフォルトの名無しさん:2013/04/04(木) 21:52:30.50
>>96
星五つだってよ、よかったな!
100デフォルトの名無しさん:2013/04/04(木) 23:45:58.20
>>1★5に反発してた子が、>>1★5を推す奴はキチガイという印象操作のために
>>1★5に該当しない案件にまで>>1★5を指摘ししてネガキャンしてるのか

そこまで見えてくると、逆に>>1★5に反発してる子の方が
どんだけキチガイで姑息で陰湿で浅学浅慮なのか、ありありと解ってしまうな
101デフォルトの名無しさん:2013/04/04(木) 23:59:23.84
必死すぎ
102デフォルトの名無しさん:2013/04/05(金) 00:17:41.10
だよな
なんでそこまで必死にネガキャンしてまで>>1★5を叩こうとするんだろう?
103デフォルトの名無しさん:2013/04/05(金) 00:18:59.16
白ももが必要以上に手厚いのがウザいんじゃね
104デフォルトの名無しさん:2013/04/05(金) 00:39:34.51
つーか丸投げグレグレしたい奴が、ここを自分に都合の良い場に
改変したくて騒いでるだけだろ
105デフォルトの名無しさん:2013/04/05(金) 00:41:40.83
★5そのものじゃなく、高圧的な態度
106デフォルトの名無しさん:2013/04/05(金) 00:49:12.48
態度って、誰の?
107デフォルトの名無しさん:2013/04/05(金) 01:22:39.49
どっちでもいいよ
むしろ7追加してこんなことで荒す奴は
来んなってしといた方がいい
108デフォルトの名無しさん:2013/04/05(金) 03:10:01.82
最初どう言う事か分からなかったけど>>97はあの基地外が書き込んだものではないと言う事なのか?
だから>>100以降あの基地外らしき人物の自演レスが暫く続いているのか。
どっちも迷惑だから早く氏んでね。
109デフォルトの名無しさん:2013/04/05(金) 06:35:27.10
はいはい、印象操作乙

でも他人に自演のレッテル貼る前に
自分の自演がバレないようにもう少し演技したら( ̄ー ̄)ニヤリッ
110デフォルトの名無しさん:2013/04/05(金) 06:56:46.25
結局>>1のせいでまた荒れるのか
111デフォルトの名無しさん:2013/04/05(金) 07:21:36.55
失礼、間違えました

×結局>>1のせいでまた荒れるのか
○結局>>1に粘着する奴のせいでまた荒れるのか
112デフォルトの名無しさん:2013/04/05(金) 09:45:01.35
印象操作wwww
113デフォルトの名無しさん:2013/04/05(金) 10:30:59.20
ActiveSheet.Range("A1:A2").Value
これでエラーになるの何でですかね
114デフォルトの名無しさん:2013/04/05(金) 10:31:43.52
>>110の印象操作に、当てつけのように印象操作返しか
やるなw
115デフォルトの名無しさん:2013/04/05(金) 10:42:06.65
>>113
それ自体はエラーにならないはずだが
返る値が配列なので、代入先が配列変数じゃないと型不一致でエラーになる
116デフォルトの名無しさん:2013/04/05(金) 10:47:37.63
>>115
ヒント㌧。もう一度コード見直す。
117デフォルトの名無しさん:2013/04/05(金) 12:22:11.49
印象操作返しwwwwwww
118デフォルトの名無しさん:2013/04/05(金) 15:32:53.88
>>116
それはヒントじゃなくて答えだろ
119デフォルトの名無しさん:2013/04/05(金) 17:30:28.53
はやく春休み終わらないかなぁ
120デフォルトの名無しさん:2013/04/05(金) 17:32:03.60
>>119
残念ながら、今粘着してる奴はおっさんだと思うよ。
飽きるまで待つしか無いね。
121デフォルトの名無しさん:2013/04/05(金) 21:02:28.58
本人が言うならそうなんだろう
122デフォルトの名無しさん:2013/04/05(金) 21:28:37.39
ド・ンキホーテの法則
123デフォルトの名無しさん:2013/04/07(日) 22:49:36.08
VBA初心者ですが
VBAの連続作動時間には制限はあるのでしょうか?その気になれば1年でも2年でもPCが壊れない限り永久に動き続ける物なのでしょうか?
124デフォルトの名無しさん:2013/04/07(日) 23:28:01.31
>>123
理論上は無制限だけど、実際はバグや故障があるから運次第
どれだけ動き続けるかは予測不可能
125デフォルトの名無しさん:2013/04/08(月) 02:04:45.72
Dim a As Variant
For s = 2 To 20
a = Cells(s, 12).value
Select Case a
Case Is = 0
i = i + 1
Case 1 To 2
r1 = r1 + 1
Case 3 To 4
r3 = r3 + 1
Case Is >= 5
r5 = r5 + 1
End Select
Next

これでやるとCells(s, 12)が空白の時にも
Case Is = 0と判定されてしまいます。
空白を0と判定させないためにはどう修正したらいいでしょうか?
126デフォルトの名無しさん:2013/04/08(月) 02:19:12.03
ISって何かしら
セル = "" とかで分岐してみてはどうでしょうか?
127デフォルトの名無しさん:2013/04/08(月) 02:25:02.38
>>125
セルの値をVariant型で取得してるわけだから、Select Caseステートメントで数値にこだわる必要はない。
128デフォルトの名無しさん:2013/04/08(月) 02:25:39.64
>>125
数字が入ってるかどうか調べるにはIsNumericという関数を使う

ていうか、ここでIsを使う意味がわからない
Case 0
でいいじゃん

>>126
ヘルプぐらい嫁
129デフォルトの名無しさん:2013/04/08(月) 02:27:25.54
>>125

空 0 =""
○ ○ ○ := Empty
○ ○ × := 0
○ × ○ := ""
○ × × :IsEmpty
○ × ○ :Len() = 0
130デフォルトの名無しさん:2013/04/08(月) 02:28:06.01
>>125
これでいいんじゃね?

Select Case a
  Case ""
    ' 空白の場合
  Case 0
    i = i + 1
  Case 1 To 2
    r1 = r1 + 1
  Case 3 To 4
    r3 = r3 + 1
  Case Is >= 5
    r5 = r5 + 1
End Select
131デフォルトの名無しさん:2013/04/08(月) 02:29:42.01
>>128
IsNumericは0でも空白セルでもTrueだよ
0か空白かの判別には使えない
132デフォルトの名無しさん:2013/04/08(月) 02:31:18.43
>>128
Case 0でも空白(Empty)の場合は0と判断されて仕舞いました。
>>127
空白を除外したい場合はどうしたらよいのでしょうか?
133デフォルトの名無しさん:2013/04/08(月) 02:33:41.28
>>130
が一番いいな
134デフォルトの名無しさん:2013/04/08(月) 02:34:49.03
>>130
ありがとうございました
判定してくれました
135デフォルトの名無しさん:2013/04/08(月) 02:37:36.17
>>128
IsNumericのヘルプくらい嫁
136デフォルトの名無しさん:2013/04/08(月) 02:43:06.25
a = Cells(s, 12).Text
137デフォルトの名無しさん:2013/04/08(月) 02:44:42.48
表示形式に左右されるTextプロパティは条件判定に使わない方が吉
やるならValueをCStrで変換
138デフォルトの名無しさん:2013/04/08(月) 02:54:01.75
>>132
それをコードに起こすだけなんだけどできない理由は?
139デフォルトの名無しさん:2013/04/08(月) 02:55:43.69
>>138

>>130で出来ました
140デフォルトの名無しさん:2013/04/08(月) 02:56:37.26
もう質問者は別回答者より事足りてるのに、掘り返す奴。
ちいせぇ。
しかもできない理由は?(キリッ
とかキモイ。
理由なんかどうでも良いんだよ。ましてやお前になんていう必要も無い。
黙ってやり取りを必要としない一発回答上げりゃ良いんだよ低脳。
141デフォルトの名無しさん:2013/04/08(月) 03:09:43.02
142138:2013/04/08(月) 03:15:27.79
>>139
>>130の空白の場合と0の場合を入れ替えると結局出来てないことになるけど問題ないのか?
143デフォルトの名無しさん:2013/04/08(月) 03:17:52.52
>>142
>130でできたって何回も言ってんだろ。
 >空白の場合と0の場合を入れ替えると
わざわざ入れ替えるなよ低脳。
144デフォルトの名無しさん:2013/04/08(月) 03:19:59.08
>>143
お前も掘り起こしててきもいわけだがw
145デフォルトの名無しさん:2013/04/08(月) 03:21:36.15
>>144
流れ見て何が正か考えて物言えよ。クズ。
答え出てんだよ。低脳が。
146デフォルトの名無しさん:2013/04/08(月) 03:21:59.53
>>142
なんのために入れ替えるんだよ
147デフォルトの名無しさん:2013/04/08(月) 03:23:29.02
>>138-145
どっちもアレだけど、正直スレ違いなので遠慮いただきたい
ちなみに>>143,146でも触れられているけれど、なぜ入れ替えるの?
148デフォルトの名無しさん:2013/04/08(月) 03:34:03.65
掘り起こす割りに、掘り起こされる事に弱い138。
149デフォルトの名無しさん:2013/04/08(月) 04:19:46.95
>>124
ありがとうございました。
大量処理をさせてますがしょっちゅ止まります
150デフォルトの名無しさん:2013/04/08(月) 06:20:03.68
>>146,147
評価順番が変われば結果が変わる。
あとは想像できるでしょ。
151デフォルトの名無しさん:2013/04/08(月) 07:28:45.71
評価の順番を変える理由は?
152デフォルトの名無しさん:2013/04/08(月) 08:07:20.87
153デフォルトの名無しさん:2013/04/08(月) 08:43:16.87
またこの手の荒らしか。
いい加減にしてくれないか。
154デフォルトの名無しさん:2013/04/08(月) 14:24:06.74
あるセルに名前を打ち込むと自動的に指定したセルに振り分けられて入力させるとかってできるかな?
155デフォルトの名無しさん:2013/04/08(月) 14:26:12.01
できるけど、何か?
156デフォルトの名無しさん:2013/04/08(月) 14:27:15.90
>>154
Worksheet_Change()
157デフォルトの名無しさん:2013/04/08(月) 14:28:12.98
>>155
そういうの、もういいから
158デフォルトの名無しさん:2013/04/08(月) 14:37:24.29
>>156
ありがとう。ググってみる
159デフォルトの名無しさん:2013/04/08(月) 15:35:34.78
160デフォルトの名無しさん:2013/04/08(月) 16:23:07.57
必死すぎ
161デフォルトの名無しさん:2013/04/08(月) 16:29:25.58
なんか最近いつもこんな流れになっちゃうね
162デフォルトの名無しさん:2013/04/08(月) 19:41:16.91
・答えではなく理屈を知って欲しい
・自分の回答を採用して欲しい
・お礼を言ってほしい

こんな回答者が居ると、高確率で荒なる
163デフォルトの名無しさん:2013/04/08(月) 20:13:19.97
>>1のルールを無視すると荒れるということだと思うが。
164デフォルトの名無しさん:2013/04/08(月) 20:24:52.39
また>>1か!
165デフォルトの名無しさん:2013/04/08(月) 20:28:30.13
>>1の事が気になって夜も眠れない
166デフォルトの名無しさん:2013/04/08(月) 20:41:10.95
要は>>163の様に見せかけたい>>1がずっと人の事を低脳だとか何とか言って
暴れまわってるんだな。必死過ぎるだろw
167デフォルトの名無しさん:2013/04/08(月) 20:44:18.66
> ・答えではなく理屈を知って欲しい
それは正論じゃね?

・自分の回答を採用して欲しい
採用しないとゴネるってならまだしも、
わざわざ回答しておいて採用して欲しくないってあり得ないんじゃね?

> ・お礼を言ってほしい
回答する側の要望ではなく、回答貰う側の礼儀としては常識じゃね?


むしろ、これらの当たり前のことに反発する奴の存在が
荒れる原因を作ってるのだと思うけど
168デフォルトの名無しさん:2013/04/08(月) 20:46:46.72
そんなことでまともな人なら
人の事を低脳呼ばわりしないわな
169デフォルトの名無しさん:2013/04/08(月) 20:54:01.33
>>167
そういう価値観を押し付けるから荒れるって、いい加減気付こうな
170デフォルトの名無しさん:2013/04/08(月) 20:57:19.65
価値観を押し付けるなっていう価値観を押し付けるなっていう価値観を押し付けるなっていう価値観をおしつけるな
171デフォルトの名無しさん:2013/04/08(月) 20:59:08.49
>>166
ってかさ>>1を叩く奴、或いは>>1に則ったレスを叩く奴が低脳だとか何とか言って暴れてるように見える。
172デフォルトの名無しさん:2013/04/08(月) 20:59:44.49
>>170
「反発する奴」の価値観押しつけに反発する>>167の価値観押しつけに反発する>>169の価値観押しつけに反発する>>170
ってことか?
173デフォルトの名無しさん:2013/04/08(月) 20:59:46.57
174デフォルトの名無しさん:2013/04/08(月) 21:02:03.64
>>171
暴れている様に見せかけて、実は自分が叩かれたいドMなんだろ。
175デフォルトの名無しさん:2013/04/08(月) 21:08:59.11
>>171
残念。俺は >>1を叩くけど、仕事があるから>>1の様に真昼間から書き込む事は出来ない。
そしてここ暫くの荒しは昼夜を問わず行われている。
176デフォルトの名無しさん:2013/04/08(月) 21:10:58.32
>>175
自己紹介乙w
177デフォルトの名無しさん:2013/04/08(月) 21:11:58.56
やっぱり>>1
178デフォルトの名無しさん:2013/04/08(月) 21:30:38.89
俺はこのスレが荒れたって別にかまわないからあえて言うけど、
荒れるのが嫌な連中はまず自分がスルーする事を覚えるべきだと思う。
179デフォルトの名無しさん:2013/04/08(月) 21:47:11.74
荒れるのやだったら2chに向いてないだけ。
180デフォルトの名無しさん:2013/04/08(月) 23:04:03.39
まあでも荒れないに越したことないし。
ほんと困ったもんだ。
181デフォルトの名無しさん:2013/04/08(月) 23:29:26.88
・答えではなく理屈を知って欲しい
・自分の回答を採用して欲しい
・お礼を言ってほしい
・反論されると腹が立つ
・論破しないと気がすまない

3つ以上当てはまる奴は、色々な所でトラブルを起こしやすい気質。
現実だと相手にもされない。
182デフォルトの名無しさん:2013/04/08(月) 23:46:06.47
>>181
何か二つ追加されてるw
183デフォルトの名無しさん:2013/04/09(火) 00:43:38.00
お前らがグズグズやってるから事務のかわいこちゃん達が来れないじゃないか
184デフォルトの名無しさん:2013/04/09(火) 01:44:41.81
仕方ないな、俺がかわいこちゃんやってやるよ
185デフォルトの名無しさん:2013/04/09(火) 02:08:03.23
・いつも荒れてないと物足りない
・とりあえずどんな質問にもケチを付ける
・とりあえずどんな回答にもケチを付ける
186デフォルトの名無しさん:2013/04/09(火) 04:06:52.31
・昼間から書き込める身分。
・触ると、>>171に対する>>174のように合いの手が入る。

これも追加しといて。
187デフォルトの名無しさん:2013/04/09(火) 04:42:59.28
見えない敵に必死すぎだろw
188デフォルトの名無しさん:2013/04/09(火) 05:37:46.20
そうか?大体みんな
>>1がどんな奴か見えてるみたいだぞ?
むしろ>>1が滑稽なシャドーボクシングしている様に見える。
189デフォルトの名無しさん:2013/04/09(火) 05:46:01.93
むしろ>>1に過剰に反発して執拗に粘着してる1人が
どんな奴なのか、皆見えてきてるんじゃないか?

って言うと、本人から俺が>>1という根拠無きレッテル貼りを食らいそうだがなw
190デフォルトの名無しさん:2013/04/09(火) 05:48:55.77
>>185
負けず嫌いで単純だからすぐ食いつく

これも追加しといて。
191デフォルトの名無しさん:2013/04/09(火) 05:51:00.23
192デフォルトの名無しさん:2013/04/09(火) 08:47:23.33
・答えではなく理屈を知って欲しい
・自分の回答を採用して欲しい
・お礼を言ってほしい
・反論されると腹が立つ
・論破しないと気がすまない
・負けず嫌いで単純だからすぐ食いつく
>>1

3つ以上当てはまる奴は、色々な所でトラブルを起こしやすい気質。
現実だと相手にもされない。
193デフォルトの名無しさん:2013/04/09(火) 08:58:58.37
>>192
お前もいい加減うざいわ
194デフォルトの名無しさん:2013/04/09(火) 09:17:44.83
195デフォルトの名無しさん:2013/04/09(火) 22:00:19.04
・すぐに箇条書きにしたがる
196デフォルトの名無しさん:2013/04/09(火) 22:06:39.30
スレの住民が手を取り合い同調できる、そんなマクロありますか?
197デフォルトの名無しさん:2013/04/09(火) 23:58:59.36
>>196
丸投げすんな。
198デフォルトの名無しさん:2013/04/10(水) 01:31:49.68
199デフォルトの名無しさん:2013/04/10(水) 12:38:49.99
質問です。
os win7
Excel2013

時間の計算で、
0~<45分→30分
41~<1時間15分→1時間
71~1時間45分→1時間30分



という計算をするために関数として、
=IF(ISERROR(IF(A1<"0:45"*1,"0:30",IF(F10<"1:15"*1,"1:00",IF(F10<"1:45"*1,"1:30",........
という感じで計算しています。
ただ、これだと入れ子制限で現行バーション前のExcelでは対応できないため
この条件をVBAとして簡略する方法がありましたらお願いします。
200デフォルトの名無しさん:2013/04/10(水) 13:29:10.21
>>199
どんなコードを書いたのかな?
201デフォルトの名無しさん:2013/04/10(水) 13:42:00.61
41~45分は「30分」なの?「1時間」なの?_
「~<」とか変な記号使わないで
「0分~45分未満」とか「45≦n<75分」とか正しく書いてよ

つーかVBAどころか、FLOOR関数使ったらIF入れ子にする必要すら無いんじゃね?
条件が曖昧な上に数式はスレ違いだから具体的な式は伏せるけど
202デフォルトの名無しさん:2013/04/10(水) 13:52:26.21
>>199
「この条件をVBAとして簡略する方法」って何を期待してるのかな?
VBAのコードを書け、ということなら申し訳ないが別スレで聞いてくれ。
203デフォルトの名無しさん:2013/04/10(水) 13:53:59.10
=IF(ISERROR(IF(A1<"0:45"*1,"0:30",IF(F10<"1:15"*1,"1:00",IF(F10<"1:45"*1,"1:30",........

これだけ見たら「41~」とか「71~」なんて条件が存在しないんだが・・・・死なねえかな
204デフォルトの名無しさん:2013/04/10(水) 14:10:06.41
>>200-203
分からないならスレ汚すなボケ
205デフォルトの名無しさん:2013/04/10(水) 14:12:55.68
>>204
modして15、45で条件分けるだけだろうが
クレクレ擁護すんなカス
206デフォルトの名無しさん:2013/04/10(水) 14:13:57.75
なんでいきなり204は悔しがってるんだ?
207デフォルトの名無しさん:2013/04/10(水) 14:14:06.78
>>204 は >>199 じゃね
しょーもな
208デフォルトの名無しさん:2013/04/10(水) 14:19:10.63
くれくれは怖いお(;_;)
クレーマー怖いおwwww
209デフォルトの名無しさん:2013/04/10(水) 14:29:31.10
>>204
お前が頑張れば頑張るほどスレが汚れるということがわからないようだぬw
210デフォルトの名無しさん:2013/04/10(水) 14:36:00.11
>>205
そのやり方がスマートな気がする。
>>199の回答次第だけどw
211デフォルトの名無しさん:2013/04/10(水) 14:50:52.10
>>205-210
昼間だからって調子乗ってんじゃねーよカスが
212デフォルトの名無しさん:2013/04/10(水) 14:53:34.51
夜なら許されんの? 昼夜関係なくね?
213デフォルトの名無しさん:2013/04/10(水) 14:59:19.34
>>199
VBAなんか使わなくてもMROUND関数で30分単位に変換できる
=IF(A1<"0:15"*1,"0:30"*1,MROUND(A1,"0:30"))
この場合0:45~1:14までが1:00になる
0:46~1:15までを1:00にしたい場合は0:01を足してから計算する
Excel2003以前で使う時は分析ツールを有効にする
214デフォルトの名無しさん:2013/04/10(水) 15:09:07.96
>>199
Function 時刻丸め(n)
  x = Round(n * 48) / 48
  If x = 0 Then x = TimeValue("0:30")
  時刻丸め = x
End Function
215デフォルトの名無しさん:2013/04/10(水) 15:15:53.51
>>214
無理してエスパーする必要ないと思う。

エスパーが質問に答えるスレ
http://toro.2ch.net/test/read.cgi/tech/1187922645/
216デフォルトの名無しさん:2013/04/10(水) 21:19:24.91
これは凄いな。
誰かさんがたった1レス成りすましで書き込む事によって、
クレクレ厨ウザいと言う印象を皆に与えてしまった。
でも流れが不自然だから何となく分かるね。
217デフォルトの名無しさん:2013/04/10(水) 21:45:49.73
自分がやってることは、他者もやってるのだろうと疑ってしまうのですね、わかります
218デフォルトの名無しさん:2013/04/10(水) 21:48:28.73
燃料投下!
219デフォルトの名無しさん:2013/04/10(水) 23:32:39.42
質問の仕方が悪くてというか間違えててすみません。

0:00~0:44 0:30
0:45~1:14 1:00
1:15~1:44 1:30

でしたが、関数だと>>213さんがどんぴしゃでした。
もともとAccessで使う予定で、フィールドに関数入れると
フォームからテーブルに反映されないためVBAにするしか思いつかず、
テンプレ★2のみを読んで質問してしまいました。
なのでスレ違いも甚だしく、ご迷惑おかけしました。

なんだかんだでアドバイスしてくれた方々、ありがとうございました。
220デフォルトの名無しさん:2013/04/11(木) 00:01:44.54
だそうだ。
結局ボロが出てばれて恥の上塗りするくらいなら
最初から荒らさない方が良かったとは思わないか?
221デフォルトの名無しさん:2013/04/11(木) 04:48:49.70
VBAエキスパートって、ここの人は持ってるの?
222デフォルトの名無しさん:2013/04/11(木) 04:57:02.20
もちろん持ってない

あんなもん必要ないだろ
求人の条件でも見たことないし
実際VBAばっか使う仕事なんて皆無だし
223デフォルトの名無しさん:2013/04/11(木) 05:32:50.42
>>220
なんでそう言う方向にしようと必死なの?
明らかに自演とかじゃないのに
224デフォルトの名無しさん:2013/04/11(木) 06:19:54.91
>>220
最初から荒れてなかったけど?
質問の内容がわからなかったら聞くのが普通でしょ。
このやり取りを荒らしとみなすのなら、どんだけ被害妄想なんだ?
225デフォルトの名無しさん:2013/04/11(木) 07:06:49.96
>>223
>>224
済まない。言葉が足りなかった様だ。>>220
>>216で言った、成りすましで書き込んだ誰かさんに対して言ったものだ。
もちろん俺も>>199の自演だなんて思っていない。
226デフォルトの名無しさん:2013/04/11(木) 10:26:58.31
>>225
その妄想癖のひどさからいって、むしろお前が荒らしてる本人だってバレバレなんだが。
227デフォルトの名無しさん:2013/04/11(木) 10:48:55.34
         ____
       /        \〟
      i──────┐ ヽ
      | ⌒ヽ ⌒ヽ\ |   |
      |  >|・   |─-|_ /
      j ーc ─ ′    ヽ  もうそういう話はお腹いっぱいだからサァ
       ⊂____ /!   _ノ  丸々諸々白桃桃が諸悪の根源ってことにしてサァ
  _(\ \ \ __/ /   僕たちは仲良く楽しくやっていくのが利口ジャン
 (─   ヽ、 ` ─_──イ- 、
  ヽ二_ノ \/|/\ /   \
      \
228デフォルトの名無しさん:2013/04/11(木) 11:16:21.18
>>227
桃白乙
229デフォルトの名無しさん:2013/04/11(木) 17:52:45.61
  _  ∩
( ゚∀゚)彡 乙白 !乙白!
 ⊂彡
230デフォルトの名無しさん:2013/04/11(木) 18:54:11.31
教えてください。
eval関数でテキストボックス内を四則演算、カッコ計算とかしていたのですが
64bit版対応で動かなくなりました。
231デフォルトの名無しさん:2013/04/11(木) 19:38:06.37
そうですか。
報告、確かに伺いました。
232デフォルトの名無しさん:2013/04/11(木) 19:38:49.96
>>230
何を教えてほしいのかな?
Excelのバージョン、OSのバージョンもわからず。
少なくてもExcel 2002 SP3ではeval関数はサポートされてないようだけど。

単に事実しか書かれてないから、何をどのようにしたいのかわからない。
233デフォルトの名無しさん:2013/04/11(木) 19:41:14.23
すみません、聞きたかったのは明日の天気です!
234デフォルトの名無しさん:2013/04/11(木) 19:51:19.38
地球上の明日の天気は
晴れの地方と、曇りの地方と、雨の地方と、雪の地方と
それぞれが混在した天気の地方があります
235デフォルトの名無しさん:2013/04/11(木) 20:18:56.34
ありがとうございました。
236デフォルトの名無しさん:2013/04/11(木) 22:43:08.75
どういたしまして
237デフォルトの名無しさん:2013/04/12(金) 00:06:05.30
いやぁそんな
238デフォルトの名無しさん:2013/04/12(金) 00:06:37.46
照れるなぁ(^O^)
239デフォルトの名無しさん:2013/04/12(金) 00:34:33.14
一生感謝しません
240デフォルトの名無しさん:2013/04/12(金) 05:16:03.57
バージョン毎の違いまとめある?
241デフォルトの名無しさん:2013/04/12(金) 05:23:32.90
>>240
MSが毎回更新内容まとめてる
242デフォルトの名無しさん:2013/04/12(金) 18:08:23.24
>>232
すみません。

以下は32ビット版のVBAでは動くのですが
64ビット版のVBAではScriptControlがサポートされてないようなのです。
どう対応すればいいのでしょうか?

Public Sub Sample()
 MsgBox Myfunc("100/2*3+3")
End Sub

Public Function Myfunc(str As String) As Variant
 Dim sc As Object
 Set sc = CreateObject("Scriptcontrol")
 sc.Language = "VBScript"
 Myfunc = sc.eval(str)
 Set sc = Nothing
End Function
243デフォルトの名無しさん:2013/04/12(金) 18:12:47.03
>>242
Myfunc()への実引数は、実際はどんなのがあるの?
244デフォルトの名無しさん:2013/04/12(金) 18:32:11.88
>>243
テキストボックスやコンボボックスに入力された値です。
IsNumericでエラーになり、さらにMyfuncでエラーにならなかった
場合のみ、四則演算の計算をしようと考えています。
245244:2013/04/12(金) 18:39:38.84
IsNumericでエラー
訂正↓
IsNumericでfalse
246232:2013/04/12(金) 19:06:21.71
>>242
すまん。64bitのOfficeの環境がないんで確認はできないけど・・・。
普通にEvaluateステートメントじゃだめなのかな?

Public Sub Sample()
 MsgBox Evaluate("100/2*3+3")
End Sub
247232:2013/04/12(金) 19:17:05.86
>>242
重ね重ねすまん。>>244見落としてた。
>>244の条件を踏まえれば、ScriptControlのオブジェクトを生成せずに
sc.eval()のところをEvaluateステートメントに置き換えて、エラートラップをかければ
できそうな気がする。

確認できる環境がないからいまいち自信がない。
248デフォルトの名無しさん:2013/04/12(金) 19:31:52.24
>>247
Evaluateがあったのですね。
解決しそうです。
どうもありがとうございます。
249デフォルトの名無しさん:2013/04/12(金) 22:20:18.59
仮にScriptControlでやるにせよ、「64ビット ScriptControl」でググったら一発でヒットしないか!?
250デフォルトの名無しさん:2013/04/12(金) 23:08:47.69
>>249
ヒットしたページを見ても「64bitでは使えません」って書いてあるだけ
つまり解決しない
251デフォルトの名無しさん:2013/04/12(金) 23:46:15.94
>>250
いやいや、HTMLDocument使った代用コード出てるからそれ使えばいいだけだろう?
252デフォルトの名無しさん:2013/04/13(土) 05:55:34.22
>>251
>>250じゃないけど、個人的にはバージョンが変わると使えない可能性があるオブジェクトを使うより
VBAにやりたい機能があるのならそれを使ったほうがいいかなと。
あと、ググった感じではHTMLDocumentにevalメソッドが無さそう。
253デフォルトの名無しさん:2013/04/13(土) 10:32:59.24
249 :デフォルトの名無しさん:2013/04/12(金) 22:20:18.59
仮にScriptControlでやるにせよ、「64ビット ScriptControl」でググったら一発でヒットしないか!?

251 :デフォルトの名無しさん:2013/04/12(金) 23:46:15.94
>>250
いやいや、HTMLDocument使った代用コード出てるからそれ使えばいいだけだろう?


適当ぶっこいたことの謝罪マダー?
254デフォルトの名無しさん:2013/04/13(土) 10:36:44.36
>>252
parentWindow(HTMLWindow)のexecScript経由での呼び出しだからevalも普通にいけるはず。
ScriptControlが使えないのは64ビット向けのmsscript.ocxが出ていないことが原因だからバージョンというよりはアーキテクチャの問題かな?
で、今回の質問はたしかにEvaluateで十分なんだけどencodeURIComponentとかdecodeURIComponent呼び出すにはHTMLDocumentも便利だと思うわ。
255デフォルトの名無しさん:2013/04/13(土) 10:43:53.32
>>253
Dim d As Object, elm As Object
Set d = CreateObject("htmlfile")
Set elm = d.createElement("span")
elm.setAttribute "id", "result"
d.appendChild elm
d.parentWindow.execScript "document.getElementById('result').innerText = eval('100/2*3+3')"
Debug.Print elm.innerText

こういうことだろ?
試してないから分からんけどmsscript.ocx使わないから64ビットでも問題ないはず。
256デフォルトの名無しさん:2013/04/13(土) 12:08:59.99
計算式しかないんだったら、セルにformulaで設定して評価すれば良くね?
257デフォルトの名無しさん:2013/04/13(土) 17:50:14.45
VBA初心者ですが
他から持ってきたデータの数値が文字列として認識されているのを何とかしようとしている最中ですが
末尾の文字1文字消して 1をかける
=LEFT(A1,LEN(A1)-1)*1 
をシートすべてに適用して結果の数値に置き換えるには一体どのように書けば良いのでしょうか?
表は1シートにひとかたまりのみです。
宜しくお願い致します。
258デフォルトの名無しさん:2013/04/13(土) 17:55:27.90
1掛けてどうすんだよ
259257:2013/04/13(土) 18:10:48.59
>>258
マクロ上では最後に1をかけないと数字に変身してくれませんでした・・・
260デフォルトの名無しさん:2013/04/13(土) 18:12:33.04
>>259
マクロもとい→関数 失礼・・
261デフォルトの名無しさん:2013/04/13(土) 18:14:16.22
本屋で初心者向けの入門書買って来い
262デフォルトの名無しさん:2013/04/13(土) 18:16:52.28
つーかVal関数で良いのでは?

Dim cell As Range
For Each cell In UsedRange
  cell.Value = Val(cell.Value)
Next

あと、ワークシート関数の場合も、文字列から数字を切り出して
数値に変換するのは、VALUE関数使うのが基本ね
*1で強制変換するのは、配列数式などでやむを得ない場合以外やらない方がいい
263デフォルトの名無しさん:2013/04/13(土) 18:18:52.73
>>257
何でシートの値を数値にしなくちゃいけないのかな?
264257:2013/04/13(土) 18:22:49.38
>>263
後にその表を使ってあれこれ計算分析するためです。文字列ですとエラーになります。
265257:2013/04/13(土) 18:33:28.08
>>261
>>257
今日半日かけてここまでは完成しました。

改行削除 スペース削除 #削除

Sub Macro1()
Worksheets(1).Activate
Range("A1").CurrentRegion.Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Range("A1").CurrentRegion.Select
Selection.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Range("A1").CurrentRegion.Select
Selection.Replace What:="#", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

残るは
1文字消して 1をかける・・・・
266デフォルトの名無しさん:2013/04/13(土) 18:35:46.14
入門書買って来い
267デフォルトの名無しさん:2013/04/13(土) 18:44:08.72
268デフォルトの名無しさん:2013/04/13(土) 18:48:40.69
知らんがな
269257:2013/04/13(土) 19:11:54.66
>>257
=LEFT(A1,LEN(A1)-1)*1 
のA1を変数にして
配列変数を駆使して列と行数の数だけ一つづつ繰り返し処理するで合ってますか?
書くのが凄く大変そうですがw
270デフォルトの名無しさん:2013/04/13(土) 19:26:22.13
>>264
よくわからん。
=LEFT(A1,LEN(A1)-1)
の結果は確かに文字列みたいだけどこの結果のセルに対して計算できるけど。

例えばA1のセルに「1a」が入力されているとして
B1のセルに「=LEFT(A1,LEN(A1)-1)」の計算式を入力すると
B1のセルには「1」が表示される。
C1のセルに「=B1+3」の計算式を入力すると普通に「4」が表示される。

コードを書いてるようだから参考になるかも

Excel VBA 入門講座
http://excelvba.pc-users.net/

データ変換
http://excelvba.pc-users.net/func/func5.html
271257:2013/04/13(土) 19:33:52.96
>>270
他から持ってきたデータには数値の最後にコード不明の見えない1文字が必ず入ってるためです。。半角スペースの置換をかけても何をしても置換では消えてくれませんでした。
272デフォルトの名無しさん:2013/04/13(土) 19:43:49.30
>>271
いやいや、>>270の式は最後に「*1」を入れてないから文字列のままなんだけど。
その文字列のままだと計算できないと言ってたけど、実際計算できてるということなんだが。
ようは「*1」を入れなくても計算できてるということ。

最後の一文字の削除はLEFTの2つ目の引数「LEN(A1)-1」でやってるでしょ。
これについてはまさしく>>271のような理由があるだろうから、ここでは問題にしてない。
273257:2013/04/13(土) 19:49:37.13
>>272
なるほど
>「*1」を入れなくても計算できてるということ。
そうでしたか、、、となると計算の邪魔をしているのは最後にくっついている見えない文字のようですね。勉強になりました。
274257:2013/04/13(土) 19:55:13.26
度々すみませんが
インポートしたデータに  " が混在している物もあり悪さを働いている世なのですが
Sub Macro1()
Worksheets(1).Activate
Range("A1").CurrentRegion.Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

を使って ” を置換対称とするにはどう記述すればいいのでしょうか?
275257:2013/04/13(土) 20:05:23.82
>>274
自動記録で出てきました
Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _
””””こう書くのですね、、自己解決しました。。
276デフォルトの名無しさん:2013/04/13(土) 21:44:47.57
>>271

TrailingMinusNumbers:=True
でもだめ??
277デフォルトの名無しさん:2013/04/13(土) 23:31:46.98
windows7、Excelのバージョンは2010です、
マクロを5分おきに実行したいのですが、
例えば、
シートのA2には開始時刻の17:00が入力してあって、
シートのB2には終了時刻の1:00が入力してあって、
17:00から終了時刻の1:00まで5分おきにマクロを実行したいです、
waitを使うとほかの操作がしにくくなってしまうので、
application.ontimeを使ってやりたいのですが、いい方法はないでしょうか?
278デフォルトの名無しさん:2013/04/13(土) 23:33:04.47
recalc
279デフォルトの名無しさん:2013/04/14(日) 02:47:02.42
VBA、VBA、あ~あ~、E気持ち~♪
280デフォルトの名無しさん:2013/04/14(日) 06:32:01.35
>>277
Application.Ontimeを使えばいいんじゃね?
281デフォルトの名無しさん:2013/04/14(日) 13:47:59.92
会社のPC数十台の設定をしていますが
マクロセキュリティーを低の設定を1舜で行える方法は無いのでしょうか?いちいち設定画面を開かないといけないのは沢山あると骨の折れる作業です
282デフォルトの名無しさん:2013/04/14(日) 14:22:43.29
普通グループポリシーとかで制御するんじゃない?
VBAで出来るかなんてみんな考えた事もないでしょ
283デフォルトの名無しさん:2013/04/14(日) 14:25:17.36
あるけど、それの自動化は
「悪意を持ってセキュリティーに穴を開ける作業の自動化」
にも通ずるので、こういうところで晒しちゃうのはちょっと愚行のように思うので控える

まあ数十台くらいなら、PCが既に全てのPCが起動している状態なら1時間掛からないだろ
それも毎日1時間近い作業が必要とかではなく、1回設定したらPC買い換えや
OSやOfficeのバージョンアップしない限りそれっきりで終わりの作業なんだから、
自分で調べる能力が無いなら手動でやったら?

1度きりの作業の自動化に、手動でやる以上の時間や労力を費やすのはバカバカしいよ
284277:2013/04/14(日) 14:25:45.16
>>280
使ったった
285デフォルトの名無しさん:2013/04/14(日) 15:26:10.33
>>281
デジタル証明書取ればいいじゃん
286デフォルトの名無しさん:2013/04/14(日) 15:44:24.91
会社でExcel使う全社員が、絶対に外部からのBookを開かないという保障がない限り、
セキュリティを低にしちゃいかんだろ。
287デフォルトの名無しさん:2013/04/14(日) 19:32:02.21
状況が見えないな
市販のパソコンを何十台も買ったんか?

大量に買う時は、普通は初期状態をメーカーに伝えて、あらゆる設定が済んだやつを一括納品するもんだけど
288デフォルトの名無しさん:2013/04/14(日) 20:02:59.32
>>287
数十台程度のオーダーでそんなことしてくれるとこあんの?
289デフォルトの名無しさん:2013/04/14(日) 20:09:25.57
いくらでもあるよ
今はそこまでサービスしないとパソコンが売れなくなってる
290デフォルトの名無しさん:2013/04/14(日) 20:11:52.72
でるでらでれでろ
291デフォルトの名無しさん:2013/04/14(日) 21:27:45.47
>>281
パワポかWordにやり方まとめてメールで全員に送信すれば


と、言ってみるテスト
292デフォルトの名無しさん:2013/04/15(月) 23:55:44.94
VBA初心者です入門書で一通り勉強しました
最初はどのようなものを作ればよいのでしょうか?
293デフォルトの名無しさん:2013/04/16(火) 00:00:01.90
子供
294デフォルトの名無しさん:2013/04/16(火) 01:37:30.55
自分が使いたいと思う物を作れば良い

作った物に便利さを感じられれば
以後のVBAの勉強にも身が入って、上達も早くなる

興味こそが最大の原動力にして上達の秘訣ですよ
295デフォルトの名無しさん:2013/04/16(火) 06:28:53.72
テトリス
296デフォルトの名無しさん:2013/04/16(火) 07:35:41.03
数独を解いてみるとか。
297デフォルトの名無しさん:2013/04/16(火) 09:32:50.06
将棋で世界一
298デフォルトの名無しさん:2013/04/17(水) 05:02:41.03
>>292
家計簿だな。
それも無駄にマクロ入れたやつ。
299デフォルトの名無しさん:2013/04/17(水) 07:58:09.57
テトリスいいかもな。
比較的簡単だし、作るのも面白いしな。
ただ仕事に使うための知識になるかどうかは分からんけど。
300デフォルトの名無しさん:2013/04/17(水) 10:23:16.64
ネットなどのサンプルコードや参考アルゴリズムを一切見ないでテトリス作れたら
その知識と言うより、発案、コーディング、テスト、デバッグなどの一連の能力は
仕事で大いに役立つと思うよ
301デフォルトの名無しさん:2013/04/17(水) 22:25:28.55
>>300
テトリスぐらいなら作れるけど
仕事で大いに役に立ったことはないなぁ
いったいどんな仕事だと大いに役立つんだ
302デフォルトの名無しさん:2013/04/17(水) 22:29:53.54
そりゃ発案、コーディング、テスト、デバッグなどの一連の能力が必要な仕事に役立つんだろう
303デフォルトの名無しさん:2013/04/17(水) 22:30:24.47
は?
テトリスを作る仕事だろ
304デフォルトの名無しさん:2013/04/17(水) 22:32:21.59
バブルの頃に流行ったイタリアのチョコレート菓子を作るのがいいと思う
305デフォルトの名無しさん:2013/04/18(木) 04:47:09.03
セル内の文字列の編集(置き換えとか、一部削除とか)をしたいとき

予め修正したいセルをマウスで選択し
「ツールバーメニューの編集>置換>条件設定」
で実行すると選んだセルだけではなく
現在アクティブなシートの全セルに対して置換が実行されてしまいます

「ツール>マクロ>新しいマクロの記録」でマクロのデモ設定をしようとしても
その設定過程で、同様に全セル実行が行われてしまいます、つまりNG

セル内の文字列から、編集したい範囲をカーソル反転で指定しておき、その範囲内でのみ
マクロで編集を掛けるようにするにはどうすればよいでしょうか?
306デフォルトの名無しさん:2013/04/18(木) 05:07:39.76
>>305
これはだめ?
ググると結構ヒットするけど。
http://officetanaka.net/excel/vba/tips/tips111.htm
307305:2013/04/18(木) 06:49:28.55
A1="ABC:XX , ABC:XX , ACFA , GFD , C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD , EF"
A2="ABC:XX , ABC:XX , ACFA , GFD , C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD , EF"
C3="ABC:XX , ABC:XX , ACFA , GFD , C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD , EF"
D3="D:XX, NFFK , JG:BB , HLD , FUS , IUN , VO:ASD , IJE"
↑このデータは説明用であり、意味はない

例えば、A1の"ABC:XX , ABC:XX , ACFA , GFD , C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD , EF"の
     {C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD}の部分だけをカーソルで選択反転させて
     「 ,*: 」を「 , 」に置換する

求めたい結果はこうなる{C:DD , ASD , XT , GS , BBC , CD}

A1="ABC:XX , ABC:XX , ACFA , GFD , C:DD , ASD , XT , GS , BBC , CD , EF"

A1セルをダブルクリックし、
{C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD}の部分だけをカーソルで選択反転した状態でマクロを実行し
A1="ABC:XX , ABC:XX , ACFA , GFD , C:DD , ASD , XT , GS , BBC , CD , EF"を得たい

ところがA1の{C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD}以外の部分、選択してないセルまで置換が実行されてしまう

現在は編集したい部分を新規シートにコピペして、編集してから戻すという作業をしている
これをマクロで一発編集できるようにしたい
308デフォルトの名無しさん:2013/04/18(木) 07:09:32.57
>>301
職業プログラマならテトリスくらい作れて当たり前なので、何の意味もないけど
職業プログラマじゃないけどExcelを多用する職の奴が、テトリスをあんちょこも既製ライブラリも無しに
そらで作れるくらいのVBA能力持ってたら、活用できる場はいくらでもあるだろ?

301が職業プログラマなら、テトリス作れたところで当然の能力を持ってるだけだから
仕事で特に役に立たないというのも解るが、職業プログラマではなくそれを理解できる頭が無いとしたら、
そもそも君にはテトリス作る能力は無いと思うよ
フラッシュでなら結構簡単だけど、VBAでバグの無いテトリス作るのは、難しくはないが
フラッシュみたいにちょいと囓ってればちょちょいと作れるってわけには行かないからな
309306:2013/04/18(木) 07:15:19.13
>>307
> A1セルをダブルクリックし、
> {C:DD , Z:ASD , FAR:XT , GS , DAB:BBC , CD}の部分だけをカーソルで選択反転した状態でマクロを実行し

この部分、マクロを実行するのは不可能だと思う。
別の方法を考える必要があるかも。

例えば
・別シーに置換したい文字列を設定しておく。
 {Z:}、{FAR:}、{DAB:}
・変換対象のシートで変換するセルの範囲を選択。
・マクロ実行

とか

・変換対象のシートで変換するセルの範囲を選択。
・マクロ実行
・ユーザーフォームを表示して置換したい文字列を設定して「OK」ボタンで置換開始

とか
310デフォルトの名無しさん:2013/04/18(木) 22:47:17.72
複数ユーザーの共有ブックで操作するユーザーによって
処理を分岐させたいのですが、可能でしょうか?

具体的には特定のユーザーが共有ブックを閉じようとするときに
シート上のCheckBoxをコントロールしたのです。
311デフォルトの名無しさん:2013/04/18(木) 22:56:13.05
VB6 OSユーザーでググる
312デフォルトの名無しさん:2013/04/18(木) 23:02:44.20
>>311
ありがとうございます。
これで何とかなりそうです
313デフォルトの名無しさん:2013/04/18(木) 23:19:00.93
ネットワークユーザーもあるで
314デフォルトの名無しさん:2013/04/19(金) 16:28:02.54
Dim CB As New DataObject, buf1 As String, buf2 As String

With CB
.GetFromClipboard     ' クリップボードからDataObjectにデータを取得
On Error Resume Next
buf1 = .GetText      ' DataObjectのデータを変数bufに取得
On Error GoTo 0      ' エラー処理
End With

Dim strClipboard1 As String : Dim strClipboard2 As String
If TypeName(buf1) = "String" Then
strClipboard1 = buf1    ' 変数buf1のデータをstrClipboard1に入力
Else
strClipboard1 = ""
End If

処理部分(略) strClipboard2 ← strClipboard1を修正

With CB
buf2 = strClipboard2
.SetText buf2        ' 変数のデータをDataObjectに格納
.PutInClipboard        ' DataObjectのデータをクリップボードに格納
End With

テクストエディターで文字列をコピーして、あるいは文字列の入ったセルをコピーして
上記のマクロを実行
文字列を編集した結果をクリップボードに返す
ということをやろうとしたのですが、結果はクリップボードがからのままです

どこが問題でしょうか?
但し、処理部分の実行は問題なく、buf2には期待する結果が入力されています
315デフォルトの名無しさん:2013/04/19(金) 16:50:18.44
因みにクリップボードソフト(Cliborというフリーソフト)の履歴にはbuf1、buf2のデータは何れも記録されています
ところがテキストエディター、あるいはExcelシートの任意のセルにペーストをしても空です
316デフォルトの名無しさん:2013/04/19(金) 18:41:01.60
環境:
Windows7pro 32bit
Excel2013

質問:
IEのリンクからVBA入りExcelファイルを開いた場合
ユーザーフォームがExcelウインドウの裏側に隠れてしまう

Excel2010までは強制的に前面に表示されていたのですが
Excel2013でも前面に表示することは出来るでしょうか。
シートに入力する必要があるためModal=Falseとしています

IEやExcel本体側の設定の問題でしたらすみません


起動時のコードです
●ThisWorkbook
Public Sub Workbook_Open()
Call UserForm1.Entry
End Sub

●UserForm1
Public Function Entry()
Me.Show False
End Function
317デフォルトの名無しさん:2013/04/19(金) 23:55:24.53
思ったんだけど


WordVBAのスレが無いん勃てます
318317:2013/04/20(土) 00:02:37.66
319デフォルトの名無しさん:2013/04/20(土) 00:29:56.62
>>317
あーぁ、重複スレ立ててやんの。

VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
320デフォルトの名無しさん:2013/04/20(土) 00:33:35.01
>>319
ということはここも重複スレ
321デフォルトの名無しさん:2013/04/20(土) 02:04:14.01
勘定科目別の金額を出すシートがあって、

4月金額 5月金額・・・3月金額 年度計 上半期計 下半期計 ・・・(5年度分繰り返し)
・・・(上の構成が1万行繰り返し)

上に書いたみたいに、
横に5年分の金額+年度計、半期計(年度と半期は数式) 縦に1万行位あるんですが、
このシートを、Rangeで範囲指定してDeleteしようとすると、(明細の上部に固定の情報行があるので、シートまるごとは消せない)
削除に10秒位かかってしまいます。


数式が大量に入ったシートをDeleteすると重くありませんか?
10秒かかったシートでも、数式を予め消してDeleteすると1秒未満で終わります。
何か回避する方法ってありませんか?
当然再計算OFFと再描画抑制はやっています。
322デフォルトの名無しさん:2013/04/20(土) 06:03:28.56
>>320
以前、このスレでExcel VBA以外の内容を質問されていたことがある。
スレ違いだからということでかなり荒れて、隔離スレとしてできたのが「VBAなんでも質問スレ」。
この経緯を知っている人間から見ると重複スレというより隔離スレなんだけどね。
323デフォルトの名無しさん:2013/04/20(土) 07:11:34.72
>>321
よく分からんけど、初期化の為に消すのなら、
消すんじゃなくて、テンプレートシートを使う方法もあるよ。
324デフォルトの名無しさん:2013/04/20(土) 09:18:24.38
ユーザーフォームのチェックボックスON/OFFの状態を保存する方法はありますか?
ファイルを開くと、毎回チェックが外れてしまっていて困ってます。
325デフォルトの名無しさん:2013/04/20(土) 10:39:56.63
セルに保存する。
326デフォルトの名無しさん:2013/04/20(土) 12:09:28.64
>>325
セルに保存というのは、具体的にはどうすればできますか?
327デフォルトの名無しさん:2013/04/20(土) 12:47:58.27
Range("A1").Value = CheckBox1.Value
328デフォルトの名無しさん:2013/04/20(土) 14:28:00.78
レジストリに保存する方法もあったような、やりかたはぐぐれ
329デフォルトの名無しさん:2013/04/20(土) 14:47:54.52
>>327
チェックボックスに戻す時は、単純にこの式を左右逆にするだけですか?
330デフォルトの名無しさん:2013/04/20(土) 15:16:42.24
>>329
当然試してからの発言だろうな?
331デフォルトの名無しさん:2013/04/20(土) 17:56:44.40
ブック(もしくはフォーム)を閉じる時にシートのどっかに保存しておきゃいいだろ。何のためのExcelなんだよ
332デフォルトの名無しさん:2013/04/20(土) 19:35:57.36
フォームの値って、
Range("A1").value とか書かなくても、
ControlSourceかなんかで、バインディング出来なかったっけ?
333デフォルトの名無しさん:2013/04/20(土) 20:38:59.04
設定ファイルに保存すればいいじゃん
拡張子はiniかcfgな
334デフォルトの名無しさん:2013/04/20(土) 20:49:17.92
>>333
設定ファイルの管理がめんどくさいでしょ。
ブック以外にファイルが必要だし、読込・書込の処理が必要になるし。
チェックボックス設定用のシートに書いておけば管理する必要ないし処理も楽。
335デフォルトの名無しさん:2013/04/20(土) 20:58:45.83
チェックボックス設定用のシートを開いたり閉じたりする処理が必要じゃん
手間は一緒じゃん
336デフォルトの名無しさん:2013/04/20(土) 22:16:51.91
???
337デフォルトの名無しさん:2013/04/20(土) 22:23:56.89
そんなの秘書に覚えといてもらえばいいじゃん
起動も秘書にやらせて、チェックボックスを元に戻してもらうだけだし
338334:2013/04/20(土) 22:37:08.47
>>335
ユーザーフォームのコードを書いているブックにチェックボックス設定用のシートを作っておけば
ブックを開く手間なんてないけど。
もしかしてチェックボックス設定用のシートをActiveにする必要があるとか思ってるのか?
339デフォルトの名無しさん:2013/04/22(月) 00:44:02.32
チェックボックスのインデックスをカンマで取得して、regexpでreplaceするなどして、VBEで自動でソースを書き換えておくなんて方法も。
340デフォルトの名無しさん:2013/04/22(月) 00:48:11.83
もちろん起動時にはカンマ区切りのインデックスを基にforループでチェックボックスを回して有効にしていく。など。うん、めんどくさ。
ブックのクローズ時に非表示シートに値を転写しとくのが楽だわ。って、普通ファイル保存したらチェックボックスの状態も保存されるんじゃ。
341デフォルトの名無しさん:2013/04/22(月) 00:51:33.37
>>321
.value = "" で消せばいいじゃん
342デフォルトの名無しさん:2013/04/22(月) 00:53:54.60
>>316
.activeだか.activateで最前面じゃないっけ
2013わかんないや
343デフォルトの名無しさん:2013/04/22(月) 01:06:14.04
>>339
笑うところ?
344デフォルトの名無しさん:2013/04/22(月) 01:06:41.34
面白いと思ったら笑いなさい
345デフォルトの名無しさん:2013/04/22(月) 02:26:45.47
おバカだと思った場合はどうすれば?
346デフォルトの名無しさん:2013/04/22(月) 03:49:08.41
>>345
3年ROMれ
347デフォルトの名無しさん:2013/04/22(月) 09:30:03.01
>>346

 >>339
 3年ROMれ、ヴォケ

これでいいですか?
348デフォルトの名無しさん:2013/04/22(月) 16:42:51.49
ある選択範囲を
フィルターのかかったシートに、その可視セルだけにその範囲をコピペするためのコードは
どうなりますか?
349デフォルトの名無しさん:2013/04/22(月) 17:24:28.09
どうもこうも無いだろ、自分で試せよ
350348:2013/04/22(月) 17:28:05.67
それができないから困っておる。
351デフォルトの名無しさん:2013/04/22(月) 18:17:43.21
で、何がわからないんだ?
352デフォルトの名無しさん:2013/04/22(月) 18:49:02.24
>>351
>>348に書いたつもりだがね。読めないのかね。
353デフォルトの名無しさん:2013/04/22(月) 18:58:19.17
>>341
一緒でした。
ちなみに、ClearContentsでも消すのに10秒ぐらいかかります。
354デフォルトの名無しさん:2013/04/22(月) 19:08:22.51
>>348
>>1★5
355デフォルトの名無しさん:2013/04/22(月) 19:12:51.17
>>354
さっさとヒントを教えてくれんかね?
356348:2013/04/22(月) 19:16:03.76
>>352
こら偽物めが。
おかげで>>354みたいなのが現れた。
こっちは被害もいいとこだ。
357348:2013/04/22(月) 19:18:40.69
>>351
なにがわからないかを把握できないということは
それだけVBAのスキルがないからだ。
Excelに熟知し、VBAの達人なら、>>348の言うことで何が言いたいかはすぐ分かるはず。
これもスキルのうちだよ。
2chではエスパーと呼ぶらしいが。
358デフォルトの名無しさん:2013/04/22(月) 19:22:47.90
>>348
上から目線過ぎなので知っていても教えないw
359348:2013/04/22(月) 19:40:49.30
>>358
VBAの達人なら自分の技術力に自信を持ってるだろうから、そんな卑屈なとらえかたはせんはずだ。
君も初心者の一人ということだ。そんな人に教えを請おうとは思わん。
負担を掛けるだけだからね、下手に背伸びされて間違ったことを教えられてもかなわん。
VBAの達人が現れるのを待つことにするよ。
360348:2013/04/22(月) 19:52:25.82
>>359
あなたは愉快な偽物だ。
違いはsageが偽物。
361デフォルトの名無しさん:2013/04/22(月) 20:11:46.10
>>348
四の五の言う前にググれカス!
362デフォルトの名無しさん:2013/04/22(月) 20:11:57.58
XP、エクセルは2002です

作成済のあるmacro1を呼び出して
あるフォルダ内の全てのブックに適用するためのmacro2を作りたいと思っています。

macro1は印刷設定をちょっと変える程度の簡単なものなので
macro2の中に直接コードを書き込む事も考えたのですが
できればmacro2がmacro1を呼び出す形で実行したいと思っています。


余談ですが、
いろいろ検索した結果、「現在開いている」ブック全てに
macro1を適用するmacro2を作ることはできました

Sub macro2()

Dim oBook As Workbook

For Each oBook In Workbooks
oBook.Activate
Call macro1
Next

End Sub
363デフォルトの名無しさん:2013/04/22(月) 20:15:03.14
>>362の続き)

Sub try()
 Dim Fname As String
 Fname = Dir("\*.xls")
 Do Until Fname = ""
   Workbooks.Open "\" & Fname
   '何かの処理
   Debug.Print Fname
   Workbooks(Fname).Close True
   Fname = Dir()
 Loop
End Sub



こんなのも使ってなんとかやれないものかと思ったのですが
無理でした

'何かの処理

のところをCall macro1としてみたのですがダメでした
まるで知識のない状態で検索だよりで頑張ってみたのですがこの辺が限界です
助けてください・・・
364デフォルトの名無しさん:2013/04/22(月) 20:16:23.04
>>362を修正

*作成済のmacro1を呼び出して
365デフォルトの名無しさん:2013/04/22(月) 20:24:35.33
macro1
じゃなくて
macro1
でした
これも修正
366348(本物):2013/04/22(月) 20:28:29.45
>>361

>>1
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
   コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
   ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。

自分で答えようとせず、Googleに丸投げしようって人は、お断りだ。
プログラマは自分でプログラムを組み、コードを書く人の事だと書いてある。
君は初心者どころかプログラマでもない。素人に用はないよ。
367デフォルトの名無しさん:2013/04/22(月) 20:28:44.86
出来なくも無いけどセキュリティレベルによる
あとデータとロジックは分離すべきなのでブックを開いてマクロを仕込むのはどうかと
macro1が各ブックを開いて印刷設定変えて保存して~ではダメなん?
368デフォルトの名無しさん:2013/04/22(月) 20:33:49.73
>>362
macro1、macro2が別々のブックに定義されているのか一緒のブックに定義されてるのかさっぱりわからんw
この情報だけだと何とも言えない。
369デフォルトの名無しさん:2013/04/22(月) 20:36:35.54
>>367
仰る事の100%は理解できなかったのですが
macro1がフォルダ内の全てのブックを順に開き
印刷設定を変えてから上書き保存していくということですね?
それでも構いません

macro2がmacro1を呼び出していく方法は
知っていれば他の用途にも応用できそうだと思っただけです。
問題がありそうならやめておきます。
370361:2013/04/22(月) 20:39:20.61
>>366
ググってみてそれらしきことが書いてあったから2ch風に回答してだけだが何か?
ググれば瞬殺の内容だったぞw
371デフォルトの名無しさん:2013/04/22(月) 20:40:43.95
>>368
作成済のmacro1の保存先を「個人用マクロ ブック」にしてあります。
こうすることで他のブックを開いたときにも使えるとどこかに書いてあったような・・・
372348:2013/04/22(月) 20:41:19.11
>>366
そろそろ落ちますね。
ひょっとしたらテレホのときまた来るかも。
ではまたー。
373362:2013/04/22(月) 20:43:26.96
ちなみにmacro1はこんなものです

Sub Macro1()
With ActiveSheet.PageSetup
.PaperSize = xlPaperLetter
End With
ActiveWorkbook.Save
End Sub
374デフォルトの名無しさん:2013/04/22(月) 20:48:20.70
もしかしてマクロが他ブックに作用するには何か特殊な事が必要だと思ってる?
375362:2013/04/22(月) 20:53:10.47
>>374
いえ
印刷設定の変更が必要なブックが大量にあるため
いちいち手動でブックを開いてからmacro1を適用していくと大変なのです
なのでmacro2という別のマクロを組み、これを用いてmacro1を一括して
すべてのブックに適用できないかと思ったのです

見当外れの回答かもしれませんが
376348(本物):2013/04/22(月) 20:57:58.44
>>370
答えをググって見つけたのかね?君は知りもしなかったのかね。
やはり君はプログラマじゃないな。ググってそれらしいものを見つけ、自分が達人だと錯覚した素人だ。
能力を正しく推し量ることができてないから、そこらの素人より質が悪い。その証拠に瞬殺したと
さも自慢げに書いておるが、それが正しいかは質問者である私にしか判断できん。
私にその答えを言わず、ググって瞬殺した(笑)と言っとるだけだ。
前にも書いたが君のように背伸びして答える人を、私は求めておらんのだよ。
ググったことを誇りたいならTwitterにでも書いたらどうだね。
ツイートしてくれる奇特な人が見つかるかも知れんよ。
377デフォルトの名無しさん:2013/04/22(月) 21:11:33.37
>>375
>>363のアプローチで合ってるね

Sub Macro1(WorkBook book)
With book.ActiveSheet.PageSetup
.PaperSize = xlPaperLetter
End With
book.Save
book.Close
End Sub

ActiveXXXは実行時にどうなるか分かりづらいので極力無しの方向で。

Sub try()
 Dim Fname As String
Dim book as WorkBook
 Fname = Dir("\*.xls")
 Do Until Fname = ""
'Openで開いたBookを返してくれる
   Set book = Workbooks.Open "\" & Fname
'bookを処理対象にしたいので引数で渡す
   Call macro1(book)
   Debug.Print Fname
   Fname = Dir()
 Loop
End Sub

ActiveSheetの意図は分からなかったけどこんなかんじ
378362:2013/04/22(月) 21:31:03.35
>>377
おお・・・ありがとうございます!
手元にそのパソコンがないので明日にでも動作確認してみます。

macro1はマクロの記録機能を使って自動で書かれたVBAから
無駄かな、と思われる部分をそぎ取って作り直し、動作確認をしたものです。
なので、おかしな所があると思います。「ActiveSheet」もそのひとつだと思います。
いずれにしても各ブックの最初の1シートにしか表がないので一応問題なく使えていたのかな・・

解説付のコード、勉強になります。
もう少しまともな知識身につけないとダメですね
379デフォルトの名無しさん:2013/04/22(月) 21:42:37.16
ActiveSheetsは保存時にActiveだったシートだろうから
左端のシートならWorkSheets(1)で
380362:2013/04/22(月) 21:46:08.92
>>379
分かりました
macro1はこう作ることにします

Sub Macro1(WorkBook book)
With book.WorkSheets(1).PageSetup
.PaperSize = xlPaperLetter
End With
book.Save
book.Close
End Sub
381デフォルトの名無しさん:2013/04/22(月) 21:59:19.47
そうだね
あとDir("\*.xls") やった事ないんだけど期待したファイル取れてるの
382362:2013/04/22(月) 22:23:56.60
>>381
>>363の'何かの処理の部分で毎回エラーがおきているので
Dir("\*.xls") が問題あるかどうかはまだ分かりません。
http://oshiete.goo.ne.jp/qa/5048673.html
この辺を見ながら適当に改変したと思います

今、古いXPマシンに2002を入れて試してみたのですが
エラーが出てしまいました
>>380 のmacro1で
Sub Macro1(WorkBook book)
のbookの部分に
>コンパイル エラー:
>修正候補:区切り記号 または)

>>377 のmacro2で
   Set book = Workbooks.Open "\" & Fname
の"\"の部分に
>コンパイル エラー:
>修正候補:ステートメントの最後

macro2でのエラーは今指摘して頂いた部分と関連ありそうな・・・
383デフォルトの名無しさん:2013/04/22(月) 22:44:37.48
>>382
>Sub Macro1(WorkBook book)

引数の指定が違ってるんじゃ。
Sub プロシージャ名(引数名 As 型名)

>Set book = Workbooks.Open "\" & Fname

Workbooks.Openはオブジェクトを返さない。

Workbooks.Open "\" & Fname
Set book = Workbooks(Fname)

っていう感じになるんじゃないかな?
動作確認してないから保証しないけど。
384デフォルトの名無しさん:2013/04/22(月) 22:50:09.39
1こめは確かにそう、ごめん
でもOpenて戻り値あるでしょ?
左辺を追記した事で()が必要になったとかじゃなくて?
Set book = Workbooks.Open("\" & Fname)
385383:2013/04/22(月) 23:02:08.65
>>384
すまん。間違えてた。
386デフォルトの名無しさん:2013/04/24(水) 07:36:59.87
VBAの構文について教えてください。

①ダイアログボックスが自動的に開く。
②ユーザーがExcelのファイルをどれか一つを指定する。(開いてはダメ。)
③その指定したファイルのディレクトリ情報を手に入れる。(表示される。)

①~③を含んだマクロをVBAで作りたいです。
①だけなら自分一人で作成できたのですが、
VBA初心者なのでできるだけ簡単な構文で作成したいです。
387デフォルトの名無しさん:2013/04/24(水) 07:45:00.46
>>386
できるさ。
やりかたは覚えてないけど、調べたらすぐできる。
オレみたいなVBA達人でも、しばらく使ってない構文は忘れるから
VBA含めプログラミング力は調べる能力だよ。
388デフォルトの名無しさん:2013/04/24(水) 07:55:38.11
>>386
こういうのをやりたいのか?
http://officetanaka.net/excel/vba/tips/tips109.htm
389デフォルトの名無しさん:2013/04/24(水) 21:12:17.16
>>387>>388
ありがとう。
とりあえず自分でコード書いてみた。
Sub 選択ファイル()
Dim selectFile As Variant
Dim i As Integer

With Application.FileDialog(msoFileDialogFilePicker)

.Title = "ファイル選択"

.InitialFileName = ThisWorkbook.Path
.AllowMultiSelect = True

.Filters.Add "Excelファイル", "*.xls;*.xlsx"
.Filters.Add "すべてのファイル", "*.*"
If .Show = -1 Then
i = 1

For Each selectFile In .SelectedItems
Cells(i, 1).Value = selectFile
i = i + 1
Next
End If
End With
End Sub

とりあえず、これで第一段階は終わったんだけど、
最終的に選択したファイルが、すべてExcelのシート内にディレクトリ情報が縦に順に表示されないといけないから
もう少し手を加えないといけない。
またなんかわかったらよろしく頼みます。
390デフォルトの名無しさん:2013/04/24(水) 21:46:40.52
>>389
やりたい事が伝われば答えられるよ
>最終的に選択したファイルが、すべてExcelのシート内にディレクトリ情報が縦に順に表示
もうすこし具体的に
何がしたくてどこまで出来ていてどこで躓いているのか
391デフォルトの名無しさん:2013/04/24(水) 21:52:00.11
>>389
http://www.cocoaliz.com/excelVBA/index/13/
丸ごとパクるのは全然いいんだけどさ、せめて理解しろよ
392デフォルトの名無しさん:2013/04/24(水) 22:04:25.25
>>389
もしかして
Cells(i, 1).Value = selectFile
のselectFileをフォルダ名とファイル名に分離したいってこと?
393デフォルトの名無しさん:2013/04/24(水) 22:07:20.83
なんだパクリか。
パクったんだったらパクったと言えばいいのに。

最低だな。
394デフォルトの名無しさん:2013/04/24(水) 22:17:36.61
これは擁護出来ない
395デフォルトの名無しさん:2013/04/25(木) 11:46:59.17
はじめまして。
VBAにてlogファイルをcsvにする、という事をしたいのですが、どうにも上手くいかないため質問させて頂きます。
条件のlogファイルのサンプル→http://u1.getuploader.com/madcatz/download/784/sample.log
実行後の理想CSVのサンプル→http://u1.getuploader.com/madcatz/download/783/sample.csv

半角スペースをカンマに置き換え、無駄な行の削除、ファイルの保存。
この3つで出来るだろうと踏んでいるのですが、ファイルの読み込み時に、Line InputがLFの改行コードに対応していないらしく
すべてが1セルに書かれてしまいます。
変換してから読み込みを行なってまた変換ということになるでしょうか?
VBAを初めて間もないため、どのようにすれば良いかわかりません。
どうぞ宜しく御願い致します。
396デフォルトの名無しさん:2013/04/25(木) 11:47:31.69
すみません、ファイルのパスはsampleです。
397デフォルトの名無しさん:2013/04/25(木) 12:40:10.89
>>395
> 変換してから読み込みを行なってまた変換ということになるでしょうか?

それをまず試せばいいじゃん
398デフォルトの名無しさん:2013/04/25(木) 12:48:49.54
>>395
サンプルがオリジナルの状態で落とせねえ
ロダ変えるか2つまとめて圧縮しろ
399デフォルトの名無しさん:2013/04/25(木) 13:14:30.78
とりあえず作ってみたけど、最後の「log close」が消える。なんでだ?

Sub Macro1()
  Open "sample.log" For Input As #1
  Line Input #1, a
  Close #1
  b = Split(a, vbLf)
  Range(Cells(1, 1), Cells(UBound(b), 1)) = WorksheetFunction.Transpose(b)
  Columns("A:A").Select
  Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), _
    Array(68, 1), Array(89, 1), Array(104, 1), Array(117, 1), Array(131, 1)), TrailingMinusNumbers:=True
End Sub
400デフォルトの名無しさん:2013/04/25(木) 14:07:18.33
>>399
消えるというより改行が入ってないから一行として取得できてない。
Log closeの行に改行を入れるとちゃんと入る。
401デフォルトの名無しさん:2013/04/25(木) 14:09:41.06
すみません。zipで上げました。。
http://u1.getuploader.com/madcatz/download/785/sample.zip
402デフォルトの名無しさん:2013/04/25(木) 15:05:11.98
ごめん、めっちゃ単純なミスしてた。これでちゃんと動く
Range(Cells(1, 1), Cells(UBound(b) + 1, 1)) = WorksheetFunction.Transpose(b)

>>400
vbCrLfは1つも入ってないんだから、その理屈だと1行も読み込めないはず
403デフォルトの名無しさん:2013/04/25(木) 15:07:16.97
>>398
制限時間3分のリンク直撃で普通に落とせたぞ
404デフォルトの名無しさん:2013/04/25(木) 15:13:40.64
Range("A1:A" & UBound(b) + 1) = WorksheetFunction.Transpose(b)
405デフォルトの名無しさん:2013/04/25(木) 15:38:22.33
みなさんありがとうございます。
>>399さんのコードでsampleは実行できましたが、実際使うlogではsample.logの6行目と8行目に

===============================
log
===============================

のように半角イコールのみの行があり、どうしてもここで止まってしまい動きませんでした。。
406デフォルトの名無しさん:2013/04/25(木) 15:41:15.09
続き
止まったのはRangeのところです。
この場合どのようにして回避すれば良いでしょうか。
407デフォルトの名無しさん:2013/04/25(木) 15:41:53.97
後だしw
6行目と8行目だけ飛ばすなりなんなりすればいいだけじゃん、自分で工夫する気ゼロかよ
408デフォルトの名無しさん:2013/04/25(木) 15:48:36.86
>>407
バカの一つ覚えw
409デフォルトの名無しさん:2013/04/25(木) 15:49:57.98
改めて質問してんのに後出しというやつは頭がおかしい
410デフォルトの名無しさん:2013/04/25(木) 15:50:45.31
後だしの意味を知らないんだろ、そっとしておいてやれよ。
411デフォルトの名無しさん:2013/04/25(木) 15:51:35.80
407 名前:デフォルトの名無しさん :2013/04/25(木) 15:41:53.97
後だしw
6行目と8行目だけ飛ばすなりなんなりすればいいだけじゃん、自分で工夫する気ゼロかよ

バカ乙
412デフォルトの名無しさん:2013/04/25(木) 15:53:25.41
まあまあお前ら落ち着けよ、とりあえず>>407お前は消えろ。
413デフォルトの名無しさん:2013/04/25(木) 16:02:09.84
>>407
禿同。

これを後出しと言わず何を後出しというのか。

「改めて質問」というより、マクロを作る際、仕様をきちんと把握していなかったのが問題。
結果的に条件を後出しする羽目になる。
「改めて質問」するのであればきちんと仕様を固めるか、或いは
条件がまだ固まってないからまた質問するかも、とか一文を加えておけばいいのに。

コミュ障と言われても仕方ない。
414デフォルトの名無しさん:2013/04/25(木) 16:03:29.94
>>405
b(5) = "'" & b(5)
b(7) = "'" & b(7)
415デフォルトの名無しさん:2013/04/25(木) 16:04:38.38
もっと本番に近いサンプルを出せばよかったのに
416デフォルトの名無しさん:2013/04/25(木) 16:09:24.92
ってか本人作ってないのか。
条件も後出しだから>>399のコードじゃ全然ダメってことね。

>>399
くだらねぇ時間を過ごしちまったね。
かわいそうに。
417デフォルトの名無しさん:2013/04/25(木) 16:13:42.78
>>413
そうしてほしいのであればそうしてくださいとお願いしろよ。
相手が自分の意のままにならないからといってこうすればいいのに
と愚痴るのはただのわがまま。コミュ障はお前。質問にろくに答えられない
くせにどうでもいいところで愚痴愚痴いう女の腐ったような奴。まじきめえ。
418デフォルトの名無しさん:2013/04/25(木) 16:15:06.24
>>413
はいはい自演乙
419デフォルトの名無しさん:2013/04/25(木) 16:18:00.16
>>416
>>399はとっかかりを掴む上で有益だ。役に立たなかったんだと
卑下するような態度をとって、後出しだからと言ってそれを質問者の
せいにする。鬱病のやつがいるとこんなにもスレが暗くなる。
さっさと線路に飛び込んで死ね。
420デフォルトの名無しさん:2013/04/25(木) 16:18:11.28
421デフォルトの名無しさん:2013/04/25(木) 16:19:40.10
422デフォルトの名無しさん:2013/04/25(木) 16:24:46.07
>>413>>416は言い返せなくなって、
悔し紛れにリンクを貼るいつものテンプレ厨w
423デフォルトの名無しさん:2013/04/25(木) 16:31:27.78
前スレの雰囲気をぶち壊しにしたのもそのテンプレ厨。
しらけるよな、こういう奴が紛れ込むと。
424デフォルトの名無しさん:2013/04/25(木) 16:36:11.43
>>393もそうなんじゃないか?
憂さ晴らしならよそでやれよ
425デフォルトの名無しさん:2013/04/27(土) 07:52:30.52
また>>1か!
426デフォルトの名無しさん:2013/04/27(土) 08:48:16.03
>>424=423=425
未だに根に持ってるとか、どんだけw
427デフォルトの名無しさん:2013/04/27(土) 08:56:53.94
>>426
同じ人だと思ってんの?
どんだけシャドウボクサーなんだよw
428デフォルトの名無しさん:2013/04/27(土) 09:02:44.95
>>426
だな。

スレの雰囲気云々言ってる奴いるけど叩こうとするレスが更に雰囲気悪くしてる。
俺はスレの雰囲気なんてどうでもいいんだが。
429デフォルトの名無しさん:2013/04/27(土) 10:21:27.66
一つ分かっているのは、
前スレから荒しているアスペの>>1が、
未だ居座り続けて住人に不快感を与えているということだな。
430デフォルトの名無しさん:2013/04/27(土) 10:22:41.21
成りすましの自己レスキモい
431デフォルトの名無しさん:2013/04/27(土) 16:02:20.17
>>428
自分は関係ない、でも自分はこう思うと主張する腰抜けw
432デフォルトの名無しさん:2013/04/27(土) 16:25:20.48
>>1は社会的常識がわかりにくく、自分の気持ちや欲求しか見えなくなりがちで、
相手の都合や反応に関係なく、一方的な行動に走ってしまいやすい。
433デフォルトの名無しさん:2013/04/27(土) 18:31:55.93
434デフォルトの名無しさん:2013/04/27(土) 22:50:37.96
もう、精神的な問題を疑うレベルの粘着質
435デフォルトの名無しさん:2013/04/28(日) 06:41:17.73
なんでそこまで>>1に粘着するんだろうね?
436デフォルトの名無しさん:2013/04/28(日) 08:12:03.73
>>435
>>1で触れてはいけないところに触れてしまっているとかw
437デフォルトの名無しさん:2013/04/28(日) 14:48:27.19
まあ他力本願のゆとりにとっては都合が悪いことが書いてあるからなぁ
438デフォルトの名無しさん:2013/04/28(日) 14:48:47.91
VBA初心者ですが
マクロの設定のオプションという箇所でプロシージャにショートカットキーを割り当てる事が出来ますが
設定し
実行時に処理に時間がかかる場合処理が終わる前にショートカットキーを押すと
コマンドの実行が中断されましたとメッセージが出てきて止まってしまうのですが
処理が終わるまで
ショートカットをスルーするか
ショートカットを一時的に無効にするか
もしくはエラーを出さなくするようにする事は出来ないのでしょうか?!
439デフォルトの名無しさん:2013/04/28(日) 16:26:47.82
VBA歴長いけど知らなかった
ショートカット設定はマクロ記録されないの?
DoEvents使ってる?
動作中EXCELごと非表示にしちゃうとか
440デフォルトの名無しさん:2013/04/28(日) 16:42:20.56
>>438
「excel vba ショートカットキー 無効」でググるとそこそこヒットするんだけど何か試したの?
441デフォルトの名無しさん:2013/04/28(日) 16:45:57.16
>>440
ググる厨は黙っててくれないか
442デフォルトの名無しさん:2013/04/28(日) 16:47:53.64
>>440
「excel vba ショートカットキー 無効 何を試したか」でググればいんじゃね?w
443デフォルトの名無しさん:2013/04/28(日) 16:49:34.27
ググる厨はテンプレ厨
これマメな
444440:2013/04/28(日) 16:54:41.35
>>441
ここに質問して回答待つくらいならググったほうが早く解決することが多いと思うけど。
ってかさ俺を煽るんだったら回答しろ。
445デフォルトの名無しさん:2013/04/28(日) 17:01:12.51
>>444
コミュニティを全否定してるな、お前は二度とここに書き込むな
永遠とググってろ
446デフォルトの名無しさん:2013/04/28(日) 17:14:54.23
>>444
「ググったほうが早く解決する」でググればいんじゃね?w
447デフォルトの名無しさん:2013/04/28(日) 17:20:00.11
お前等いい加減にしろ子供の喧嘩と一緒だな
何時まで続けるんだ
どっちも質問潰してそんなに面白いか
自重しろ
448デフォルトの名無しさん:2013/04/28(日) 17:21:31.60
ここまで>>447の自演でお送りしました
449デフォルトの名無しさん:2013/04/28(日) 17:26:50.41
ヤフー知恵袋とOKWEBはスパムだろう。見ていてイライラする。
450デフォルトの名無しさん:2013/04/28(日) 17:34:19.42
Findで二つの条件で検索する方法はないでしょうか?

B列がキーワードと一致し、なおかつE列が空白である所を検索したいのです。
For a = .Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If .Cells(a, 2).Value = ord And .Cells(a, 5) = "" Then
'処理
End If
Next
で一応はできたのですが、データ数が多くなると処理速度が遅くなるので
Findでやりたいのです
451デフォルトの名無しさん:2013/04/28(日) 17:34:42.94
無効:Application.OnKey "{F1}", ""
有効(初期値に戻す):Application.OnKey "{F1}"
マクロ設定:Application.OnKey "{F1}", "マクロ名"
の方法で、ショートカットのコントロールが可能です。

これか
本文をペーストすれば一番速いだろう。w
452デフォルトの名無しさん:2013/04/28(日) 17:45:28.01
>>450
Columns("B:E").Select
Selection.AutoFilter
ActiveSheet.Range("$B$1:$E$9999").AutoFilter Field:=1, Criteria1:=ord  'B列がキーワードと一致
ActiveSheet.Range("$B$1:$E$9999").AutoFilter Field:=4, Criteria1:="="  'E列が空白

For a = .Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
  If Rows(a).Visible = True Then  '条件に一致していたら処理
  '処理
  End If
Next
453450:2013/04/28(日) 17:47:53.63
Findでやりたいって言ってんだろが、あほ
454デフォルトの名無しさん:2013/04/28(日) 17:51:00.67
>>451
これをやってみてダメだったということ考えないのかな?
455デフォルトの名無しさん:2013/04/28(日) 17:51:32.72
単純なIfを数万回実行したところで、そんな遅くなるか?
遅くなる原因はほかにあるとしか
456デフォルトの名無しさん:2013/04/28(日) 17:53:34.99
>>450
FindでB列のキーワードを検索してから、その結果に対してIfでE列を検査すればいいんじゃないの?
B列とE列を調べる順番は逆でもいいいけどさ、データの分布を見てどっちか効率のいい方で
457デフォルトの名無しさん:2013/04/28(日) 17:59:58.36
回答者が決め打ちの仕様でコード書くのはよくないね。
仕様が分かってコード書いて回答するのもよくないけど。
458450:2013/04/28(日) 19:22:56.13
>>456
そのやり方が良さそうですね
ありがとうございます。
459デフォルトの名無しさん:2013/05/03(金) 12:46:50.33
VB EditorのフォントをSource Code Proに設定すると文字化けします。
欧文フォントなので日本語表示できないためです。

下記URLを参考に、Migu 1Mの日本語フォントを FontLink しましたが,
VB Editorの文字化けは治りません。他のエディタ(gPad)では文字化け
しなくなりました。

kagura-c.info/blog/2012/10/10/the_font_make_programmer_happy/
※http省略

VB Editorで欧文フォント(Source Code Pro, Dejavu Sans Mono)を
文字化けせず使う方法を教えて頂けないでしょうか?

※カッコイイフォントが使いたいという自己満足な話で申し訳ありませんが、
 ご協力頂けると幸いです。
460デフォルトの名無しさん:2013/05/03(金) 12:51:37.46
※連投申し訳ありませんが、補足します。

>VB EditorのフォントをSource Code Proに設定すると文字化けします。

英数字は文字化けせず、全角の日本語だけ文字化けします。
これを解決したいと思っています。
461デフォルトの名無しさん:2013/05/03(金) 13:01:59.49
日本語を使わない
462デフォルトの名無しさん:2013/05/03(金) 13:52:20.66
>>459
こいつで日本語フォントの半角部分を好きなフォントと入れ替えてオリジナルのフォントファイルを作る
ttp://fontforge.org/
463デフォルトの名無しさん:2013/05/03(金) 15:25:44.68
>>462
アドバイスありがとうございました。
fontforgeをインストール後、日本語フォントを開き、
Source Code Pro の英数字フォント部分をコピー&ペーストしました。
しかし、フォントファイル出力時にエラーが発生します。

お勧め頂いたのに恐縮ですが、VB Editor でSource Code Proの利用は
ハードルが高いようです。

大変お世話になりました。
464デフォルトの名無しさん:2013/05/04(土) 01:56:14.69
Source Code Pro って Mac 用なんか
TTF のフォーマットが違うっぽいな
465デフォルトの名無しさん:2013/05/08(水) 00:15:21.44
データ数3000超
E列でフィルターを掛けた結果、500件くらい抽出されたとする
その抽出されたデータ数をカウントするにはどうすればいいのでしょうか?
466デフォルトの名無しさん:2013/05/08(水) 01:05:31.76
467465:2013/05/08(水) 18:36:05.30
>>466
できました!有り難うございます
468デフォルトの名無しさん:2013/05/09(木) 15:52:36.60
スマートアートオブジェクトの図について教えてください。
vbaから、挿入した画像のみをクリアして、初期状態に戻す方法がありましたら教えてください。
469デフォルトの名無しさん:2013/05/09(木) 23:56:23.53
OS:7 Excel2003、Excel2007

任意のセルに数字を入力したときにその数値に対 応する文字列を同一セルに変換して表示する方法 を教えてください。対応する文字列は列ごとに変わります。
470デフォルトの名無しさん:2013/05/09(木) 23:58:24.99
続き
例えばB列に1と入力したら課税、2と 入力したら非課税、3なら-、E列には、1と入力し たら有、2なら無、3なら-、などのように列ごと に文字列が変わっていきます。
VBAならできるということはわかったんですがどうやって組むのかまでたどり着けませんでした。ご教授お願いします。
471デフォルトの名無しさん:2013/05/10(金) 00:23:55.70
>>470
どこかのセルに何かが入力されるとWorksheet_Changeイベントが発生する
必要な情報は変数Targetに自動的に入ってくるので、それに応じて処理を分ける
列はTarget.Column、入力された内容はTarget.Valueで取得する

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  With Target
    Select Case .Column  ' 列によって分ける
      Case 2  ' B列の場合
        Select Case .Value   ' 数字によって分ける
          Case 1: .Value = "課税"
          Case 2: .Value = "非課税"
          Case 3: .Value = "-"
        End Select
      Case 5  ' E列の場合
        Select Case .Value  ' 数字によって分ける
          Case 1: .Value = "有"
          Case 2: .Value = "無"
          Case 3: .Value = "-"
        End Select
    End Select
  End With
  Application.EnableEvents = True
End Sub
472デフォルトの名無しさん:2013/05/10(金) 00:27:54.52
>>471
ありがとうございます!!

試してみます!!
473デフォルトの名無しさん:2013/05/10(金) 06:30:37.61
>>471
プログラムを書くという楽しみを奪っているんだよなぁ。
474デフォルトの名無しさん:2013/05/10(金) 16:18:05.05
>>468もおねがいします~
475デフォルトの名無しさん:2013/05/10(金) 16:35:55.19
>>474
それをそのままコードに落とせばできるよ。
476デフォルトの名無しさん:2013/05/10(金) 18:28:34.58
マクロで記録されないから、デバッグしようにも手が出ないよ。
477デフォルトの名無しさん:2013/05/10(金) 19:48:42.07
EXCEL2003でrngという変数を使っていたのですが、
EXCEL2010では勝手にRng(先頭が大文字)になってしまうみたいなのですが、
原因について教えて下さい。

OSはWindows7です。
478デフォルトの名無しさん:2013/05/10(金) 20:02:13.81
どうせVBAだ気にすんな
479デフォルトの名無しさん:2013/05/10(金) 20:16:17.10
>>477
SortオブジェクトにRngプロパティがある
プロパティ名を勝手に変数名に使うと自動的に頭文字が大文字になる
480470:2013/05/10(金) 20:49:34.96
>>471

試してみました。
思い通りに変換できました!おかげで入力速度が倍になりました。本当にありがとうございました!

応用出来そうなので少しずつ勉強していきます。
481デフォルトの名無しさん:2013/05/10(金) 22:03:40.95
>>479
そのようなものが追加されたのですね…
教えてくださってありがとうございました。
482デフォルトの名無しさん:2013/05/10(金) 23:54:11.23
A列に、【11】、【10】と【】にランダムな数字に囲まれたセルがあります。
これをB列に移動させたいのですが、どうしてもうまくいきません。
書いたコードはこちらです

Sub Macro2()

Dim i As Long, j As String, tmp As Variant

For i = 900 To 1


If InStr(Cells(i, 1), "【") >= 1 Then
Cells(i - 1, 2) = Cells(i, 1)

End If
Next

End Sub
483デフォルトの名無しさん:2013/05/10(金) 23:58:45.97
900 to 1を
1 to 900 で試してみ。
それかstep指定するか。
484デフォルトの名無しさん:2013/05/11(土) 00:01:21.86
あ、1はだめだね。
cells( i - 1 , 2 )にてi = 1はエラーになると思う。
あと見た感じ移動じゃなくてコピーっぽいけどそれは前後ソースがあるんだよね?
485デフォルトの名無しさん:2013/05/11(土) 00:10:12.07
1 to 900にしたらあっさりできました^^ ありがとうございます。
486デフォルトの名無しさん:2013/05/13(月) 17:20:33.59
>>485
はたして何がダメだったのか理解できたのだろうか?
487デフォルトの名無しさん:2013/05/17(金) 05:02:59.62
よろしくお願いします。

cells(i,1)に、2013年 5月12日(日) [09:50] という文字列が入っていて
[09:50]を削除したいのですが、どうすればいいでしょうか。

right(cells(i,1),8)="" というのを試してみましたがダメでした。
488デフォルトの名無しさん:2013/05/17(金) 05:04:09.56
cells(i,1)に、2013年 5月12日(日) [09:50]

もうひとつお願いします。↑で、「5月」を抜き出し、セル(i+1,1)に入れたいのですが、可能でしょうか
489デフォルトの名無しさん:2013/05/17(金) 05:38:25.88
cells(i,1) = Func487(cells(i,1))
cells(i+1,1) = Func488(cells(i,1))

Function Func487(ByVal s As String) As String
Func487 = Left(s, Len(s) - Len(" [09:50]"))
End Function

Function Func488(ByVal s As String) As String
Func488 = Mid(s, 6, Len(" 5月"))
End Function
490デフォルトの名無しさん:2013/05/17(金) 05:45:57.12
>>487
> right(cells(i,1),8)=""
これしか試してないの?
ここまでできているなら試すことがまだありそうなものだけど。
491デフォルトの名無しさん:2013/05/17(金) 06:07:54.22
>>489
入力となるcells(i,1)を書き換えちゃダメだろ。0点。
492デフォルトの名無しさん:2013/05/17(金) 06:15:37.72
>>491
なんで?入力となるcells(i,1)を書き換えちゃダメだって法律に書いてあるの?
ないよね。じゃあお前が間違ってるということになるよね。はい論破。
493デフォルトの名無しさん:2013/05/17(金) 06:45:27.15
>>492
プログラムの基本なんだが。
その入力をまた使いたいときに使えなくなるだろ。
書き換えてもいいという仕様がない限り、絶対やってはいけない。

加えて言うとプロシージャ名も意味不明な名前もしてるし
質問者はできるかどうかだけ聞いてるのにコード書いちゃってるし
プロシージャ名が意味不明な名前になってる。

-10000000点
494デフォルトの名無しさん:2013/05/17(金) 06:50:19.47
>>493
>>487を1万回読め
495デフォルトの名無しさん:2013/05/17(金) 07:04:06.30
>>494
すまん。見落としてた。

ただ疑問は残る。
入力となるデータを書き換えることになるが本当に問題ないのか?
→試したコードではそれらしき臭いはあ感じはあるけど明示はされてない。

cells(i,1)のデータを加工した結果をcells(i+1,1)に入れるということだが、
cells(i,1)の次の入力データと思われるcells(i+1,1)を上書きして問題ないのか?
496デフォルトの名無しさん:2013/05/17(金) 07:05:49.98
>>493
プログラムの基本だって昭和何年何月何日何時何分何秒にどこで誰が誰に言ったの?
仮にそれが基本だとして基本を遵守しなくちゃいけないって日本国憲法に書かれてるの?お~ん?
FuncはFunctionの短縮形で数字はレス番号。コード書いちゃいけないとは法律に書かれていないし、
プロシージャの意味がわからないのは国語的推理能力と想像力が著しく欠如している
お前の頭が原因だから完全にお前の両親のせい。はい論破。
497デフォルトの名無しさん:2013/05/17(金) 07:10:18.01
>>495
すまんですむか。謝る相手を間違ってるんじゃないか?お~ん?
常識というものを教わらずに甘やかされて育てられたのかお前はお~ん?
自分が間違ってたのが原因で人様にご迷惑おかけしたんだから、申し訳ございませんでした
と述べてきちんと謝罪するのが社会人としてのあり方だよね。菓子折りもってくるのが
筋だけど、俺はお前の汚い手でさわられたものを口に入れると蕁麻疹が出るだろうから、
それはいらないけど、きちんと謝罪するべきだよね。俺に対して。俺はまだお前からきちんと
謝罪してもらってない。はい論破。
498デフォルトの名無しさん:2013/05/17(金) 07:14:50.62
>>496
一般的に言われていることだな。

じゃぁ聞こう。
入力データを再度使いたいときはどうする?
入力データは既に書き換えられて存在しないということになるんだが。
499デフォルトの名無しさん:2013/05/17(金) 07:15:38.05
491 名前:デフォルトの名無しさん :2013/05/17(金) 06:07:54.22
>>489
入力となるcells(i,1)を書き換えちゃダメだろ。0点。

495 名前:デフォルトの名無しさん :2013/05/17(金) 07:04:06.30
>>494
すまん。見落としてた。

ただ疑問は残る。


疑問が残るという自己中心的かつそれが基本だという自意識過剰的な
根拠でダメだといって他人に言いがかりをつける人の風上にも置けない、
半人前どころか半漁人レベルの人でなし。謝罪はまだか?はい論破。
500デフォルトの名無しさん:2013/05/17(金) 07:18:18.82
>>499
明示はされていない。
コードで書き換えてもいいような感じはあるが。
501デフォルトの名無しさん:2013/05/17(金) 07:20:35.48
>>498
プログラムの基本だって昭和何年何月何日何時何分何秒にどこで誰が誰に言ったの?お~ん?
一般的じゃあ逃げられないよね~一般的に考えてwwwwwwぷげらwwwww使い方あってる?wwww
入力データを再度使いたいって平成何年何月何日何時何分何秒にどこで誰が誰に言ったの?お~ん?
関係のない話をでっちあげて言いがかりをつけてすみませんでした二度とこのようなふざけた真似は
いたしませんと謝罪するのがお前が取るべき行動だ。はい論破。
502デフォルトの名無しさん:2013/05/17(金) 07:23:52.47
>>497
菓子折り持って誤りに行きたいんだけど住所、名前、電話番号、顔が分からないんだよ。
ここに晒してくれる?
503デフォルトの名無しさん:2013/05/17(金) 07:24:51.53
>>500
だから一般的にというものすごくあいまいな取るに足らないようなことを
根拠にして、ほとんどお前の妄想にもとづいて善意の人である俺様に
言いがかりつけるような真似をしたんだよお前は。自覚ないわけ?
そのことについては謝罪しろよ、あまりなめたことやってると俺もぶちぎれるよ。
びちぎれさせたくないだろ?お~ん?はい論破。
504デフォルトの名無しさん:2013/05/17(金) 07:26:10.52
>>503
既にブチ切れてるなw
505デフォルトの名無しさん:2013/05/17(金) 07:27:33.16
>>502
あのさ、だからそういうふざけた態度取ってないできちんと謝罪しろっていってんだよ。
掲示板だからってなめたことやってんなよ。なあ。わかんだろ、いいかげんにしようや。はい論破。
506デフォルトの名無しさん:2013/05/17(金) 07:28:15.70
>>503
菓子折り持って謝りに行くから住所、名前、電話番号、顔を晒してくれ。
507デフォルトの名無しさん:2013/05/17(金) 07:29:23.99
>>506
それで逃げようと考えてるわけ?甘いんじゃねえの。


491 名前:デフォルトの名無しさん :2013/05/17(金) 06:07:54.22
>>489
入力となるcells(i,1)を書き換えちゃダメだろ。0点。

495 名前:デフォルトの名無しさん :2013/05/17(金) 07:04:06.30
>>494
すまん。見落としてた。

ただ疑問は残る。


自分が間違ってたのが原因で人様にご迷惑おかけしたんだから、申し訳ございませんでした
と述べてきちんと謝罪するのが社会人としてのあり方だよね。はい論破。
508デフォルトの名無しさん:2013/05/17(金) 07:29:55.79
>>505
社会人としてのあり方なんでしょ。
どこのだれかわからないんだよ。いい加減住所、名前、電話番号、顔を教えてくれよ。
509デフォルトの名無しさん:2013/05/17(金) 07:30:52.65
491 名前:デフォルトの名無しさん :2013/05/17(金) 06:07:54.22
>>489
入力となるcells(i,1)を書き換えちゃダメだろ。0点。

495 名前:デフォルトの名無しさん :2013/05/17(金) 07:04:06.30
>>494
すまん。見落としてた。

ただ疑問は残る。


自分が間違ってたのが原因で人様にご迷惑おかけしたんだから、申し訳ございませんでした
と述べてきちんと謝罪するのが社会人としてのあり方だよね。はい論破。
510デフォルトの名無しさん:2013/05/17(金) 07:42:58.74
506 :デフォルトの名無しさん:2013/05/17(金) 07:28:15.70
>>503
菓子折り持って謝りに行くから住所、名前、電話番号、顔を晒してくれ。


ごめんの一言が言えないだっさいやつがひねり出した苦肉の策wwwwwwwwwww
wwwwww素直に謝ったほうがよほどカッコつくわwwwwwwバカすぎるwwwwwwはい論破。
511デフォルトの名無しさん:2013/05/17(金) 19:11:04.94
>>489-490
できました。アドバイスいただきありがとうございました
512デフォルトの名無しさん:2013/05/18(土) 19:27:57.00
ものっすごく初歩的な質問で申し訳ないのですが、教えて下さい。
サブルーチンでワークシート内のセルを操作する時は、
引数でワークシートを特定しておいた方がいいと思うのですが、
こだわりすぎでしょうか? 以下のような感じです。
(実際にはもっと複雑な処理をするものですが簡略化しました)
なおバージョンはExcel 2010 です。

Sub Test()
Dim wrk as Worksheet
Application.ScreenUpdating = False
Set wrk = Sheets("シート1")
Call SwapCol(wrk, "A", "B")
Application.ScreenUpdating = True
End Sub

Sub SwapCol(ByRef wrk As Worksheet, ByVal Col1 As String, ByVal Col2 As String)
With wrk
    (列Aと列Bを交換する処理)
End With
End Sub

「そんなもんActiveSheetでいいべ」と同僚に指摘されたのですが、
ActiveSheetだと、マクロ動作中に変な操作(別のファイルを開くなど)をするとマクロが暴走してしまいそうな気がして、
全てのサブルーチンに上記のようにワークシートオブジェクトを指定するようにして、ActiveSheetは極力使わないようにしています。
おかしいでしょうか・・・
513デフォルトの名無しさん:2013/05/18(土) 19:39:13.10
>>512
いいと思う。
ActiveSheetの見解もまさしくそうだし、バグの元凶だから俺も使わない。
しかも、別シートでも同じことをしたいときに使えるし。
514デフォルトの名無しさん:2013/05/18(土) 19:44:08.17
合ってるよ
特にそれが共通関数であれば
関数が対象シートを特定しない事で再利用性が上がる
再利用性はソフトウエア品質を決定する大きな要因のひとつだから
自力で気付いたなら素質あると思うよ
515デフォルトの名無しさん:2013/05/18(土) 19:59:08.86
>>513-514
レスありがとうございます。
普段あまりプログラミングはしなかったので自信がありませんでしたが、
合っていることが解り、助かりました。
ありがとうございました。
516デフォルトの名無しさん:2013/05/19(日) 21:26:39.65
For i = 2 To a のような繰り返し処理を行う場合、変数aに2より小さい値が入っていると、For文内の処理は、一度も実行されませんよね?
意図的にこのような使い方をすることについて、何かデメリットはありますか?
517デフォルトの名無しさん:2013/05/19(日) 22:00:48.20
>>516
別にない
むしろよくあるテクニック
518デフォルトの名無しさん:2013/05/19(日) 22:19:28.54
プログラムは意図した通りに動くのではなく書かれた通りに動く
519デフォルトの名無しさん:2013/05/19(日) 22:24:30.34
>>518
ソクラテスはプログラムを意図したとおりに書く。
ゆえにプログラムはソクラテスが意図したとおりに動く。はい論破。
520デフォルトの名無しさん:2013/05/20(月) 00:41:35.19
意図したとおりに動かないという命題ではない
521デフォルトの名無しさん:2013/05/20(月) 01:40:32.45
for i to 100

If Left(Cells(i, 1), 2) = "20" Then
Cells(i + 2, 21) = p
For k = 3 To p
o = 1
For l = 3 To p
If Cells(k, 17) > Cells(l, 17) Then
o = o + 1
End If
Next l
Cells(k, 8) = o
Next k
End If
522デフォルトの名無しさん:2013/05/20(月) 01:43:36.74
for i to 100

If Left(Cells(i, 1), 2) = "20" Then
Cells(i + 2, 21) = p
For k = 3 To p
o = 1
For l = 3 To p
If Cells(k, 17) > Cells(l, 17) Then
o = o + 1
End If
Next l
Cells(k, 8) = o
Next k
End If

next

一行目に「20**年」と表示されている成績表を幾つか作りました。

その表は、すべて同一行数ではないので(i + 2, 21)に行数を表示し、それをpとして、
成績順を示したいと思ったのですが、実行すると(i + 2, 21)が0と表示されてしまい、
成績順も表示されません。

(#なお、変数はすべて宣言しています)
523デフォルトの名無しさん:2013/05/20(月) 02:43:08.75
>>522
pが0なんじゃない?
524デフォルトの名無しさん:2013/05/20(月) 04:45:57.59
>>522
コードが間違っているのかなぁとは思うけどそれがどうかしたのかな?
525デフォルトの名無しさん:2013/05/20(月) 10:54:18.43
> それをpとして

って書いてるけど、プログラムはそうなってない
526522:2013/05/20(月) 17:05:14.33
P=Cells(i + 2, 21) にしたら、Cells(i + 2, 21の数字が0になることはなくなりましたが、依然として順位に反映されません。
527522:2013/05/20(月) 17:10:33.60
根本的な質問です。

http://www4.synapse.ne.jp/yone/excel_exercise/exercise_vba_jyuni.html
の問題1についてです。

このケース、10行()までプログラムをかけば、終わりなんです。
しかし、ひとつのSheetにいくつもデータがあり、次のデータが10行でない場合、
どうすればいいのでしょうか。

例えばA組(8人) B組(9人) c組(11人) D組・・・・ の成績順をつけよとなった場合です。
528デフォルトの名無しさん:2013/05/20(月) 17:14:08.18
>>527
何が根本的なのかわからんが、クラス別に順位を付けたいならクラス別RangeでRankを使えばよろしい。
全クラス通してなら、全クラスRangeでRankを使えばよろしい。
529デフォルトの名無しさん:2013/05/20(月) 17:17:54.91
めんどくさいから、個人情報とかを書き換えたBookうpして
530デフォルトの名無しさん:2013/05/20(月) 17:34:24.88
>>529
何が面倒なんだろ?
単に一つのシートに複数のクラスの成績順を付けたいがどうしたらいいかと質問しているだけ。
質問者はどうすればいいか聞いてるだけで、コードを書けと言っている訳じゃない。
531デフォルトの名無しさん:2013/05/20(月) 17:40:07.70
>>530
要領を得ないやり取りが面倒。

> 質問者はどうすればいいか聞いてるだけ
じゃ、お前が答えろ。
532530:2013/05/20(月) 17:47:23.02
>>531
俺は>>528と同意見だからあえてレスしてないだけなんだが。
ってかさ仕様あってのコードでしょ。
仕様のやり取りなんだから、まずは言葉のやり取りでしょ。
俺仕様のコードを書かれても大きなお世話だと思うが。
533デフォルトの名無しさん:2013/05/20(月) 17:50:20.46
俺、>>528=>>529なんだが。
>>528じゃ納得しないのをみこしての>>529

> 仕様のやり取りなんだから、まずは言葉のやり取りでしょ。
説明下手なのは、>>522,526,527を見てもあきらか。
ぐだぐだなやり取りで要求仕様を引き出したいならどうぞ。
534530:2013/05/20(月) 18:05:16.96
>>533
>>528じゃ納得しないという判断は早すぎでしょ。
ある意味、質問者をバカにしているとも受け取れる。
535デフォルトの名無しさん:2013/05/20(月) 18:09:18.49
>>534
俺に突っかからないで、>>522と会話してあげなよ。
536デフォルトの名無しさん:2013/05/20(月) 18:13:16.57
めんどうなら勝手に黙ってりゃいいのに
このスレの回答者ってすぐ増長するよな VBAしかできない分際で
537デフォルトの名無しさん:2013/05/20(月) 18:14:02.16
ID欲しいね
538デフォルトの名無しさん:2013/05/20(月) 18:23:28.65
変にブチ切れるやつとかいるし。
539デフォルトの名無しさん:2013/05/20(月) 18:25:17.11
IDまじで欲しいわ
540522:2013/05/20(月) 19:39:36.12
>>527に関してなんですが

>何が根本的なのかわからんが、クラス別に順位を付けたいならクラス別RangeでRankを使えばよろしい。
>全クラス通してなら、全クラスRangeでRankを使えばよろしい。

とのご指摘ですが、その都度、クラスの人数が変わる設定なんです。

つまり今回はA組(8人) B組(9人) c組(11人) なんですが、次の週は
A組(7人) B組(11人) c組(15人) と変わってしまうんです。

で、組数もM組くらいまであります。

ですからVBAを組んで簡素化したいと考えております。

>>522 >>526でCells(i + 2, 21)を使って for nextを使おうとしたのもそういうところからです。
541デフォルトの名無しさん:2013/05/20(月) 19:56:24.79
>>540
範囲の取得方法はここを参考にしてみては。
http://officetanaka.net/excel/vba/cell/cell10.htm
542デフォルトの名無しさん:2013/05/20(月) 20:33:21.21
>>540
成績表は1シート内に縦に連続してるんだろ?
であれば各ループ変数は各成績表の先頭行からスタートするように調整しないとダメだよね?
あと1文字変数やめよう、il10oとか嫌がらせにしかならん
543デフォルトの名無しさん:2013/05/20(月) 20:55:19.82
もうちょっと何をやりたいのか解りやすく説明してもらえれば
544デフォルトの名無しさん:2013/05/20(月) 21:44:23.29
つべこべ言わないでBookうpしろ
545デフォルトの名無しさん:2013/05/20(月) 21:45:33.64
>>542
バカは書き込むな。

>>544
黙れ無能が。
546デフォルトの名無しさん:2013/05/20(月) 21:50:22.81
Bookうpを阻止させようとしてる奴なんなの?
Bbok見ればデータの位置とかすぐわかるじゃん
547デフォルトの名無しさん:2013/05/20(月) 21:55:32.87
>>546
Bbokてなーにー?おーん?
言い方が気に入らない。もしよろしければアップロードしていただけませんでしょうか。
というものの言い方をするのが常識ある応対というものだ。
秘書検定2級の俺の前ではお前は完全に無能であるし黙るべきである。
548デフォルトの名無しさん:2013/05/20(月) 22:04:34.06
またこいつか
549デフォルトの名無しさん:2013/05/20(月) 22:47:54.61
>>522

Cellsの指定おかしくない? もしくは「行」と「列」を間違ってない?

>If Left(Cells(i, 1), 2) = "20" Then

これだと1列目を上から下に調べて、左から2文字が"20"かどうかを判定することになると思うんだが・・・
Cells は Cells(行番号, 列番号) と指定するんだけど、認識合ってる?

「一行目に「20**年」と表示されている成績表」っていうと、
左から 2000年 2001年 2002年 2003年・・・
っていう表が思い浮かぶんだけど、実際はどっち?
550516:2013/05/20(月) 23:15:21.18
>>517
回答ありがとうございます。安心して使用することが出来ます。
551522:2013/05/21(火) 00:13:39.36
http://www1.axfc.net/uploader/so/2909393

競馬のファイルです。
(なおこれは、競馬ソフトからHTML化してダウンロードしたあと、WEBクエリで取り込みました)

やりたいこと→自分で作った指数を順位付けして、馬名の隣のセルにのせたい。(※L列のような順位付をしたい)

やったこと  → 

1・1行目の発走時刻を削除して、頭数のみを別セル(数字に関係ない調教師列の真上)にコピー。

2・枠番のBは削除した。


【質問させていただいた点】

各レース、出走頭数が違うし、順位付けも各レースごとにしなければならないので、
その点をどうすればいいかわからない。

以上です。
552522:2013/05/21(火) 00:25:21.60
>>551
http://www1.axfc.net/uploader/so/2909431
URLはこちらです。 
553桃白白 ◆9Jro6YFwm650 :2013/05/21(火) 04:59:35.91
>>552
桃白白の回答がこちらになります。
https://friendpaste.com/2awZ4pz27KA7tD82D8plKi
554デフォルトの名無しさん:2013/05/21(火) 05:15:45.56
うpしろってやつは結局コードが書きたいだけだろ。
他人の楽しみを奪って楽しいのか?
質問者が急いでいるわけでもないし。
555桃白白 ◆9Jro6YFwm650 :2013/05/21(火) 06:02:07.65
>>554
せっかくの掲示板なんだしさ、俺ならこう書く、うちはこうやとか
みんなで楽しくわいわいがやがや意見出し合ったらいいじゃん。
プログラムについて議論するときにはコードを書くことが
考えを伝える一番の方法だよ。グーグルのラリーペイジさんも
言ってたよそんなことを、むかし、たぶん、知らないけどさ。
556デフォルトの名無しさん:2013/05/21(火) 06:23:50.62
>>555
質問する人間はコードの議論なんてどうでもいいと思うけど。
Excel VBAでやりたいことができないから質問するだけ。
そこにコードなんて言うニンジンぶら下げられたらたいていは飛びつくだろ。
結局質問スレであって議論するスレじゃないから議論なんてそっちのけになる。

今回も「できました!ありがとうございます」しかレスは来ないと思う。
557522:2013/05/21(火) 06:27:55.18
>>553
ありがとうございます。帰宅したら拝見します。

>>554
いえいえ、、、大変助かってます。
自分でコード書かなきゃと思いつつどうしたらいいかわからなくて苦悩してました。
競馬は今週大きなレースがあるのですが、それもそっちのけでずっとエクセルをいじってます。
558522:2013/05/21(火) 06:30:29.37
>>556
競馬のプログラミングは奥が深いので自分で考えなければならないと思います。
今、競馬はJRAから20年近くの全データが提供されており、分析方法に磨きをかけたいと思ってる矢先でまだまだ赤ちゃん状態です。
コードをいただいただけでは解決にならないので、よく勉強して、前に進みたいです。
559デフォルトの名無しさん:2013/05/21(火) 07:38:42.64
結局コードの議論なんてどうでもいいってことか。
560桃白白 ◆9Jro6YFwm650 :2013/05/21(火) 07:58:49.92
>>559
いや、いまんところ回答したの桃白白だけじゃん。
うじうじ言っていじけてるだけだったらちんちん腐って死ぬよ。
ちんちん腐って死にたくないでしょ?桃白白に先を越されて大敗北して
悔しい思いしてるのはわかるけど、議論したいんならなんか技術的な回答しなよ。
いまのあんたはちんちん腐らせてるだけだよ。粘菌を培養して一丁前に研究者気取ってる
つもりなのかも知れないけれども、放っとくと腐ったちんちんが本体になるよ。なりかけてるよ。
561デフォルトの名無しさん:2013/05/21(火) 08:30:48.44
>>556
お前がこのスレで一番いらない人間だわ
562デフォルトの名無しさん:2013/05/21(火) 08:33:32.81
>>560
いやいや質問者はコードを書けって言ってないし。
あとは勉強するっていうんだからこれ以降レスする必要はないだろ。
なんか勘違いしてないか?

ここはあくまで質問スレであって議論スレじゃない。
議論したいのなら別スレ立てればいいじゃん。
しかも質問者からコードもらっただけでは解決にならないと言われちゃってるし。
563デフォルトの名無しさん:2013/05/21(火) 11:40:54.18
>>562
議論してるのはお前じゃん。このスレのありかたについての議論。

> いやいや質問者はコードを書けって言ってないし。

書いてもいいだろ。

> ここはあくまで質問スレであって議論スレじゃない。
> 議論したいのなら別スレ立てればいいじゃん。

お前が言うな。
564デフォルトの名無しさん:2013/05/21(火) 11:48:09.43
>>551
> 各レース、出走頭数が違うし、順位付けも各レースごとにしなければならないので、
> その点をどうすればいいかわからない。

その点がどの点なのかいまいちわからないが、20xx年のセルを見つけたら、
cell.currentregion.rows.countで「そのセルを選択してctrl+shift+*した範囲(それがcurrentregion)の行数」がわかる。
例えば、range("A1")なら20。
ヘッダ部分が4行あるので、出走頭数=range("A1").currentregion.rows.count - 4 = 16
565デフォルトの名無しさん:2013/05/21(火) 16:54:50.85
>>556
> 今回も「できました!ありがとうございます」しかレスは来ないと思う。
それでいいだろ
566デフォルトの名無しさん:2013/05/21(火) 18:43:55.48
質問者や桃白白を責める事はできないでしょ。
質問者は「お前の言ってることがよくわかんないからBOOKUPしろ」って言われたからUPしたわけだし、
桃白白は個人的にコード書いただけ。誰からも頼まれてない。
これで両者がお咎めうけるなら掲示板に何も書くなということになる。
567デフォルトの名無しさん:2013/05/23(木) 05:55:49.62
>>563
>>565
スレの流れを理解してレスしてくれ。
話がややこしくなるだけ。

>>566
質問者を責めてるやついるのか?
>>555のレスがなければパイパンは個人的にコードは書いたっていうのはわかる。
けど質問者の希望する目的とは違うでしょ。
更にいうと、コードをアップしたことで何が解決したのかな?

パイパン目線だとコードの議論はできてない。
質問者目線だとコードの提示は助かるけど解決になっていない。

結局何も解決できてない。
568デフォルトの名無しさん:2013/05/23(木) 06:16:26.92
>>567
いい加減にしろよ。
世界はお前の思い通りには動かないんだよ
569デフォルトの名無しさん:2013/05/23(木) 07:52:48.71
>>567
仮に何も解決できてないとして、それがどうした?
お前に何か関係があるのか?
回答もせずコードも書かずにぐちゃぐちゃ言うな。
570デフォルトの名無しさん:2013/05/23(木) 11:42:00.94
>>567
> パイパン目線だとコードの議論はできてない。
いつからこのスレにいるのか知らないが、今回はたまたま議論にならなかっただけで、
桃白白がコード書くとそれを肴にプチ盛り上がりしたりする。

桃白白がコードを書くのが気に入らないのか?
俺はコードを書く奴は無条件に認めるけどね。その意味ではuyも認めている。
571デフォルトの名無しさん:2013/05/23(木) 11:43:18.17
あとさー、他人を批判するなら名前くらいちゃんと書けよ。
572デフォルトの名無しさん:2013/05/23(木) 13:55:26.20
柳沢さんちーす
573デフォルトの名無しさん:2013/05/23(木) 15:30:30.86
win7+excel2010
ワークブックにシートが2つあり、シート1がリスト、シート2が請求書雛形です。
シート2のA列の特定のセルに数値を入力したら、シート1のA列で該当する数値の行のデータを
それぞれシート2のB列、C列、D列に格納したいのですが、可能ですか?

可能であれば、それを実現する方法の名称を教えてください、後はぐぐりますんで。。。
574デフォルトの名無しさん:2013/05/23(木) 16:06:42.99
>>573
可能。
keyword:
* Worksheet_SelectionChange
* range.find
575デフォルトの名無しさん:2013/05/23(木) 16:08:23.82
間違った。
×Worksheet_SelectionChange
○Worksheet_Change
576573:2013/05/23(木) 16:50:48.25
ありがとうござます、ぐぐって格闘中です
577デフォルトの名無しさん:2013/05/23(木) 18:11:27.51
>>576
ここVBAスレだけど、その程度ならVBA使わんでも出来ると思うんだが
いや、あえてVBAでやりたいならとめはしないが、lookup系の関数調べた方がいいんじゃね
578デフォルトの名無しさん:2013/05/23(木) 18:20:48.17
VBAでやった方が簡単な気がするのは俺だけ?
579桃白白 ◆9Jro6YFwm650 :2013/05/23(木) 18:37:57.08
>>578
ケースバイケースだ。この言葉便利だよ、使っていいよ。☆(ゝω・)vキャピ
580デフォルトの名無しさん:2013/05/23(木) 18:53:04.74
このケースだとUndo効かなくなって使いづらいよ
581デフォルトの名無しさん:2013/05/23(木) 19:06:37.13
vlookup, offset, indirect, address, search, find, matchあたりを使って実現出来なければマクロだなあ
582デフォルトの名無しさん:2013/05/23(木) 19:13:39.62
>>577
だね。lookup使わなくてもシート2のB列、C列、D列に「=Sheet1!A行番号」とか指定すればできそうな気がする。
583デフォルトの名無しさん:2013/05/23(木) 20:51:02.94
OFFSETとかINDIRECTとか、ブックオープン時に再計算する関数を多用するならVBAの方が良いかも
請求データを継ぎ足しして継続利用するなら、関数の管理も必要になってくるのでVBAの方が後々楽かもしれない
584デフォルトの名無しさん:2013/05/23(木) 20:54:41.34
Unko
585デフォルトの名無しさん:2013/05/24(金) 01:21:31.16
前の職場でVBAなしで同じようなの作った
sheet1の各行に、請求書番号|データ、を用意
sheet2の任意のセルに必要な請求書番号を入力
sheet2の金額等のセルが、vlookupで請求書番号をキーにしてsheet1のデータを参照
おわり

関数の書き方は忘れた
586573:2013/05/24(金) 13:07:49.81
みなさんありがとうございます
しかしながらチンプンカンプンにてエクセルの本を買って来たところです
587573:2013/05/24(金) 13:30:48.27
できた!!VBA使わずともlookup関数で出来ました!!
みなさんありがとうございます、涙でモニターを正視できません、この御恩は一生忘れません!
588デフォルトの名無しさん:2013/05/24(金) 18:41:40.25
自分で解決したときに得られるものと、他人から答えをもらって解決したときに得られるものって雲泥の差があるよな。
589デフォルトの名無しさん:2013/05/24(金) 19:30:31.30
気のせいだよ
590デフォルトの名無しさん:2013/05/24(金) 21:03:03.78
>>589
その心は?
591デフォルトの名無しさん:2013/05/24(金) 22:07:40.65
1000
592デフォルトの名無しさん:2013/05/24(金) 22:34:35.90
>>587
lookup?vloockupじゃなくて?
593デフォルトの名無しさん:2013/05/24(金) 22:50:39.76
俺の勘によると、絶対にvloockupではないと断言できる
594デフォルトの名無しさん:2013/05/24(金) 23:36:55.39
一番最初にvlookupを思い出した
595デフォルトの名無しさん:2013/05/25(土) 05:05:21.24
"うんこちんこまんこ"

この文字列に"ちんこ"が含まれてるか調べてtrue/falseを返すにはどうすればいいか教えてくだしあ
596デフォルトの名無しさん:2013/05/25(土) 05:13:13.13
自己解決しました

InStr関数を使うしかないようですね
597デフォルトの名無しさん:2013/05/25(土) 09:42:43.23
使う「しかない」なんて言われるとそれは違うって言いたくなる…
598デフォルトの名無しさん:2013/05/25(土) 09:48:04.42
実際違うしね
599デフォルトの名無しさん:2013/05/25(土) 21:37:28.60
VBA初心者ですが
Sub Sample01()
Sheet2.Select
End Sub

で Sheet2 の 2 を変数に指定するにはどうすれば良いのでしょうか?


Sub Sample01()

Dim 変数No
Dim シートno As Worksheet

変数No = 2

Set シートno = "Sheet" & 変数NO

シートno.Select

End Sub

あてずっぽでこんな感じで書いてみましたが
色々変えてみても必ずエラーが出てうまくいきません、、
宜しくお願い致します。
600デフォルトの名無しさん:2013/05/25(土) 21:51:15.23
死ね
601デフォルトの名無しさん:2013/05/25(土) 21:55:54.73
Dim 変数No
Dim シートno As Worksheet

変数No = 2
Set シートno = Sheets("Sheet" & 変数NO)
602デフォルトの名無しさん:2013/05/25(土) 22:02:32.24
自己顕示欲マンセー
603デフォルトの名無しさん:2013/05/25(土) 22:03:05.75
>>601
おおお!ありがとうございます!

>>600
生きかえりました!
604デフォルトの名無しさん:2013/05/25(土) 22:47:41.89
死ね
605デフォルトの名無しさん:2013/05/25(土) 23:07:31.04
個人だとコーディング規約とかないから変数名は適当でさ、最初は漢字とか使っていくんだけどさ、だんだんさ、日を跨いだりしたらさ、だんだんさ、気づいたらアルファベットオンリーになってるね。俺。だからなに。
606デフォルトの名無しさん:2013/05/25(土) 23:13:02.48
そういやお前ら今でもハンガリアン記法使ってますか
607デフォルトの名無しさん:2013/05/25(土) 23:13:55.73
Dim 行
Dim 列
608デフォルトの名無しさん:2013/05/25(土) 23:35:15.31
どんな風に使えば他人にも解りやすくなるのかが解らない
609桃白白 ◆9Jro6YFwm650 :2013/05/25(土) 23:45:36.16
>>606
桃白白、ハンガリアン使ったことない。あれVB Ver.3くらいのときの遺物じゃないの?
昔はブーリン型がなかったらしいからハンガリアンでなんとかしてたとかなんじゃないの?
知らないけどさ、ハンガリアンが現代に必要のないものであることはたしかだよ。
610デフォルトの名無しさん:2013/05/26(日) 00:11:01.70
>>599
>>603
Sheet2 と Sheets("Sheet2") は同じシートで無い可能性もあるのだが・・・理解しているのかな?
611デフォルトの名無しさん:2013/05/26(日) 00:31:20.55
>>609はコリアン記法
612デフォルトの名無しさん:2013/05/26(日) 08:52:24.20
>>609
でもVBAが現代の言語かというと微妙だし
暗黙の型変換も避けられないし
ハンガリアンが有効なこともあるんじゃない?
613桃白白 ◆9Jro6YFwm650 :2013/05/26(日) 09:28:58.68
>>612
そうだよね
614デフォルトの名無しさん:2013/05/26(日) 14:24:47.12
最近はハンガリアンだったりそうじゃなかったりでかなりカオスな状態のコーディングしてるな

インテリセンスあったら、たとえばtxtまで打てばテキストボックスの一覧が出る
ハンガリアン記法はなぜ否定されたのか...
615デフォルトの名無しさん:2013/05/26(日) 14:42:41.55
真のハンガリアンではなかったから

今では全ガリアンが主流
616デフォルトの名無しさん:2013/05/26(日) 16:48:01.68
そろそろガリガリ君が量産されて店頭に並び始める季節だぜ
617デフォルトの名無しさん:2013/05/26(日) 20:17:17.26
ハンガリアンは名前がかぶらないから安直に命名できちゃう
618522:2013/05/27(月) 04:34:44.15
http://www1.axfc.net/uploader/so/2916046

コードを書いてもらったのに、解決まで至りませんでした・・・。とても勉強にはなりました。
もう一回整理しなおしてみました。

現状
・能力値はすでに入力できる
やりたいこと(BOOKにある最初のレース)
・能力値順を各レースずつ記入したい(昇順です)
・能力値順が1の馬に◎ 2の馬に○ 3の馬に▲。
能力値順4以降は「出走馬/4個」(小数点以下切上げ)の数に△を振り分けたい

アップしたBOOKの最初のレースに記入したような状態に、全レース持って行きたいです。

ご助言お願いします。
619デフォルトの名無しさん:2013/05/27(月) 05:19:13.76
>>618
能力値はコードで入力できているのなら

・能力値順を各レースずつ記入したい(昇順です)

の昇順以外はできてるんじゃないの?
昇順だけの問題ならマクロの記録を使ってみればいいと思う。

というより一気に全てのレースに対して処理をするというより
まずは一つのレース(リスト一番上のレース)に対してだけ
処理ができたら全レースを考えればいい。

まずは1レース分の課題をクリアしてみては?
・能力値順を記入(昇順です)
・能力値順が1の馬に◎ 2の馬に○ 3の馬に▲。
620デフォルトの名無しさん:2013/05/27(月) 08:46:38.95
助言でいいんだな?
1レース分の処理はメソッドにする
引数は開始行インデックス
戻り値は終了行インデックス
UsedRangeの最終行まで回しつつ2013が見つかれば1レース分の処理を開始
621デフォルトの名無しさん:2013/05/27(月) 09:16:57.19
>>620
>1レース分の処理はメソッドにする

ん?プロシージャじゃなくて?
メソッドにするということはクラスモジュールが必要だけど。
622522:2013/05/27(月) 11:33:29.35
>>619
頭数の部分で行き詰まってしまいます。
(各レース頭数が違う)

>>620
桃白白さんがしてくださってように、コードでの解説でもとてもうれしいです。
623デフォルトの名無しさん:2013/05/27(月) 13:42:22.33
>>622
コードの解説じゃないだろ。
コードがほしいなら別スレ行けよ。
624デフォルトの名無しさん:2013/05/27(月) 15:19:17.15
>>622
これ見て意味がわからなかったらあきらめろ。

Sub ranking()
 Dim maxRow As Long
 maxRow = Range("A65536").End(xlUp).Row

 Dim r As Range
 Dim i As Long
 For i = 1 To maxRow
  If Cells(i, 1).Value Like "20##年*" Then
   myRank Cells(i, 1).CurrentRegion
  End If
 Next
End Sub

Sub myRank(r As Range)
 Debug.Print r.Cells(1, 1).Value
 Debug.Print r.Address
 Debug.Print "頭数=" & r.Rows.Count - 4
End Sub
625619:2013/05/27(月) 20:08:40.49
>>622
各レース頭数が違うのはわかるけど、それは次の段階で考えればいい。
一番上のレースのみ(頭数固定)で能力値を昇順にして、能力値のマークを付けることができてるの?

一つのレースができれば、あとは繰り返し(ちょっと工夫する必要あるけど)だからまずはそこからなんだけど。
626デフォルトの名無しさん:2013/05/27(月) 20:27:42.12
白桃はVBAコード作成依頼受け付け用のアドレス公開しちゃえよ
テンプレに貼っておけばいい
コードコジキはこちらにメールしてください とな
627522:2013/05/27(月) 23:41:15.30
>>625
>一番上のレースのみ(頭数固定)で能力値を昇順にして、
これはできます。各種HPなどみましたので・・・
>能力値のマークを付けることができてるの?
やり方は稚拙ですが、if関数を使ってなんとかできます・・・が汚いコードになります
628625:2013/05/27(月) 23:55:48.93
>>627
そこまでできてるなら、あとは>>624のコードを参考に作れると思うけど。
629デフォルトの名無しさん:2013/05/28(火) 00:16:05.96
>>626
お前はパイパンをNG登録しとけ
いちいちうるさいわ
630桃白白 ◆9Jro6YFwm650 :2013/05/28(火) 04:52:53.28
>>629
ぇ・・・
631デフォルトの名無しさん:2013/05/28(火) 05:13:01.26
>>630
>>618のコードどうすんの
632デフォルトの名無しさん:2013/05/28(火) 05:19:00.41
>>631
>>622で充分解決できるのに何で必要と思うの?
ってか荒らす気満々だなw
633デフォルトの名無しさん:2013/05/28(火) 13:58:04.20
つか、>>564を見逃してる時点でアレなんだが
634522:2013/05/28(火) 16:50:39.17
なんとかできそうなんですが、自作の汚いコード(強引なif関数連発)のままでいいのか、
桃白白か書いてくださったような、Function関数や配列をビッシリ使えるよう成長したほうがいいのか…

困ってます。
635デフォルトの名無しさん:2013/05/28(火) 16:57:55.23
どっちもどっちかなあ
コードの流儀なんて人の数だけあるようなもんだし
636デフォルトの名無しさん:2013/05/28(火) 17:18:14.69
>>634
自分の方向性まで質問すんなよw
637デフォルトの名無しさん:2013/05/28(火) 17:22:06.95
関数の粒度は>>553くらいがいいと思うが、今回の桃白白のコードはできが悪いぞ。
638522:2013/05/28(火) 17:52:49.12
>>635-637

>>618で質問したことに関しては皆様のアドバイスで、なんとかクリアしました。
方向性はホント悩んでます

>>637
どのへんがよくないですか?
桃白白さんのコード見て、感心したし、自分で解釈するにも時間かかってこれはレベル高いなあと思いました
639デフォルトの名無しさん:2013/05/28(火) 18:27:04.05
>>638
桃白白には悪いけど、レベル低いよ。
解釈に時間がかかったのは、VBAスキルがいまいちなのに加えて、桃白白のコードがひどかったから。

>>624みたいに、1レース分のrangeを引数にして、その中でランク付けするのが良い。
>>624の関数名はいまいちだが、構成は良い。
640デフォルトの名無しさん:2013/05/28(火) 18:27:39.72
というか、range知らないのか?
641デフォルトの名無しさん:2013/05/28(火) 19:04:40.82
フォームをモードレスで表示したあとに、シートをクリックしたり数式バーをクリックしてフォーカスが移動し
フォームが非アクティブになったときに非表示にしたいのですが適切なイベントが見あたりません
フォームの非アクティブを検出できるイベントがあればおしえてください
対象OSはXP以降、Excelは2003以降です(レガシーな環境は考慮しません)
642デフォルトの名無しさん:2013/05/28(火) 19:10:21.16
>>638
おれも見て吹いたし>>638に難しいと思わせてしまったのは良くないね

かといってrangeを使えって指摘もどうなのよとは思うけどね
643デフォルトの名無しさん:2013/05/28(火) 20:43:37.54
>>642
Range使わないってことはベタな感じになると思うけど、どうなんでしょ。
Excel VBAに限ってだけどベタなコードは、変にプロパティやメソッドに頼らない分
バージョンが変わっても使えるから個人的には好きだけどね。

パイパンのコードを見る限り
「ツールなんだからやっつけでいいじゃん。動けばいいんでしょ。質問者の意向は俺に関係ないし。」
という考えが見え隠れするんだよね。

で、そのやっつけのコードだと知らずに質問者は鵜呑みにしてパイパンのコードを正しいと思って
「できました!ありがとうございます」というやり取りになるのが見ていて痛々しい。
少なくてもパイパン本人が「捨てコードだからこのコードを正しいと思わないでほしい」っていう断り書きが
あったりするのならともかく、捨てコードなのに本人が

「会心の作」

とか言っちゃってるのがアレなんだよな。
644デフォルトの名無しさん:2013/05/28(火) 20:58:51.29
>>643
自分で何も解決せずに人の回答にケチだけ付けるのが見ていて痛々しい。
645デフォルトの名無しさん:2013/05/28(火) 21:05:09.44
>>644
質問者が何を問題にしているのか判明する前にパイパンが答えを書いて結局何が問題だったのか
分からないまま終わっているというのが現状だな。
646デフォルトの名無しさん:2013/05/28(火) 22:34:07.48
>>643
関数の入出力は必要最低限のインターフェースを持った型にすべきでRangeは進んで使う型じゃ無いと思う
例えばソート処理の引数であれば求められる要件は値の集合かつ順序を持つ事でそれを満たす型は配列というような感じで

だから前置きなくRangeを勧めた事に違和感を感じてしまった次第です
647桃白白 ◆9Jro6YFwm650 :2013/05/28(火) 23:45:45.98
>>637
>>639
>>642
>>643
>>645

ぇ・・・
648デフォルトの名無しさん:2013/05/28(火) 23:48:21.98
>>646
ソートの引数にrangeを渡せと言ってるんじゃないよ。
1レース分のランク付けをする関数にrangeを渡せと言ってる。
そうすれば、その関数はもとデータの位置に関わらずcells(1,1)から参照できるし。
649デフォルトの名無しさん:2013/05/28(火) 23:49:51.85
>>647
ごめんな、俺お前のこと認めてるけど、今回はダメ。
650デフォルトの名無しさん:2013/05/28(火) 23:52:47.58
質問者が>>618ができたとは到底思えない。
今頃パニくってるだろw
651桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 01:49:59.70
みんな、さんざん桃白白のコードがダメとかRange使えばいいとか言ってたけど、
机上の空論だよね、それでできるんだーとうそぶいて終わるの? 
桃白白そろそろコード書いちゃおうかと思ってるんだけど、それでいいの? また敗北したいの?
652デフォルトの名無しさん:2013/05/30(木) 02:15:50.22
参加したいけど家にExcel無いんだ
653デフォルトの名無しさん:2013/05/30(木) 02:22:38.55
>>618のダウソ期限があと5分な件 よって桃の敗北w
654桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 02:31:20.22
>>653
桃白白はもうダウンロードしたよ。心配いらないよ。

>>652
会社にはあるの?じゃあ会社から書き込んだらいいよといったら
まるで桃白白が職務怠慢を推奨してるかのように見えるし、
桃白白は決して>>652に仕事をサボって欲しいとは思ってないからそうする
べきだなんて口が裂けてもいえないけど、仕事中にやればいいよ(*^ー゚)b グッジョブ!!
655デフォルトの名無しさん:2013/05/30(木) 06:35:10.98
誰よりもコードを早く出せば勝ちなんて思ってるからこうなるw
656桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 07:43:40.95
>>655
  |ヽ∧_
  ゝ __\
  ||´・ω・`| > やめなよ
  /  ̄ ̄  、ヽ _______
 └二⊃  |∪=| |───  /
  ヽ⊃ー/ノ    ̄ ̄ ̄ ̄ ̄
     ̄`´ ̄
657桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 07:46:52.82
         / ̄\
         |     |
          \_/
       ノ L__|__
       ⌒:::\:::::/::\
      / <●>::::<●>\ ← クラウド
     /    (__人__)   \    
     |       |::::::|     |    
     \       l;;;;;;l    /l!|
     /     `ー'    \ |i   桃白白のコードを見て感心したという質問者の自然な感情まで
   /          ヽ !l ヽi   否定することないでしょうが!どう考えても桃白白がかわいそうでしょうが!
   (   丶- 、       しE |    ドンッ!
    `ー、_ノ       ∑ l、E ノ >
               レY^V^ヽ
658デフォルトの名無しさん:2013/05/30(木) 08:41:21.62
>>657
何で糞コードになったのかっていう反省がないのか。
挙句の果てには質問者を出汁にして自分を正当化しようとしてるし。
これじゃまともなコード書けないというのもよくわかる。
659デフォルトの名無しさん:2013/05/30(木) 10:22:01.80
> 桃白白
やりたくなかったんだけど、サービスで駄目出しするわ。

まず、test()が入り口でランク付け関数がFillRank()だけど、FillRank()にCOMPARE_COLUMNを渡しているということは、FillRank()のクライアントコードがFillRank()の内部仕様を知らなければならないということだ。test()は、どうやってランク付けをするのか知らなくて良い。

次にGetRaces()。これもいろいろ酷いんだが、一番駄目なのはぱっと見何を返しているのかわからないところ。コメント書け。

PushArray()。引き数名が良くない。せめて(ary, val)とか(haystack, val)とか、配列と値が引数であることがわかるようにしろ。

Sort()。lowとhighって何だ?

Swap()。宣言だけ見て、配列aのインデックスxとインデックスyの内容をswapすると誰が想像するだろうか。

それから、ランク付けのロジックがどこにあるのかぱっと見わからない。カプセル化しろ。そのロジックをそのメソッドの外に漏らすな。

ExcelなんだからRnage使え。CurrentRegion使え。Rows.Countとか使え。
これらの関数を標準モジュールやクラスモジュールに持って行くと、全体にわたって変更が必要になるぞ。Rangeを使っておけば、もともとリロケータブルだ。
660桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 11:01:31.11
>>658
黙れ糞野郎。

>>659
>コメント書け。
いやだ、コメントが必要なほど複雑なことをやってるつもりはない。桃白白はコメントを書かない。

>配列と値が引数であることがわかるようにしろ。
関数の名前がPushArrayなんだから配列に対して値をPushするのは明白だ。

>lowとhighって何だ?
lowerIndexとhigherIndexだ、見ての通りだ。

>ランク付けのロジックがどこにあるのかぱっと見わからない。
FillRankだ、嘘付け、すぐわかる。

>ExcelなんだからRnage使え。
コードが複雑になるだけだ。ExcelだからRangeだなんてそんな思い込みは捨てちまいな。
661デフォルトの名無しさん:2013/05/30(木) 11:07:02.89
>>659
カプセル化しろと言った直後に
> ExcelなんだからRnage使え。CurrentRegion使え。Rows.Countとか使え。
これはないわ
お前が何も分かってない事が良く分かる
662桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 11:12:20.23
>>659
>配列aのインデックスxとインデックスyの内容をswapすると誰が想像するだろうか。
開発者が想像する。引数が3つだから、aのxとaのyを交換するだろーなー。

ダメ出しするならするでちゃんとやってくれない?
お前の実力が足りてないだけなんじゃないかと思えてきた。
663桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 11:12:51.19
>>661
でっすよねー
664デフォルトの名無しさん:2013/05/30(木) 11:38:45.17
>>660
お前もリーダブルコード読め。(ム板の話題)

>>661
場所を特定するためのシート名やセルのアドレス、行番号なんかを引数に渡すより、Excelのオブジェクトをやり取りした方が良い。
また、そのことと、ランキングアルゴリズムをカプセル化しろということは別問題だ。
665デフォルトの名無しさん:2013/05/30(木) 11:38:59.99
あ、ム板じゃなくてマ板だったわ。
666デフォルトの名無しさん:2013/05/30(木) 11:42:19.34
>>662
> 開発者が想像する。引数が3つだから、aのxとaのyを交換するだろーなー。

ほんと今回は酷すぎて、これまでお前を擁護してきたのが間違いだったのかと思うレベルだぞ。

x, yって何だよ。インデックスならi, j使え。
667デフォルトの名無しさん:2013/05/30(木) 11:48:27.31
コメントが不要なほど明確なコードを書けてるつもりだったのか。
668桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 11:50:29.95
>>664
お前が読め。桃白白は実力でいうなら書く側だ。

>>666
aと(xとy)がアルファベット上で離れていることが重要なんだ。
あーxとyはaと完全に別物ですわーとわかるでしょうが。iとjだったら
aとそんな離れてないからどれとどれを交換するのかわかりませんわーとなるでしょうが。
桃白白のコードはよくよく考えて作られているんだ。お前が言ってるのは机上の空論だ。
669桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 11:56:27.84
>>667
コードを読もうとしないやつが桃白白のコードを見ることは想定していない。
670デフォルトの名無しさん:2013/05/30(木) 12:02:29.92
>>668
お前はちゃんと動くコードを書く奴だし、批判にも耳を傾ける姿勢があるように思えたから、今までは
結構お前の擁護コメントを書いてきたが、それは俺の間違いだったようだ。

ひょっとしたら、今回コードが酷いと言ってるのが俺一人だと思ってるかも知れないが、俺以外にも
酷いというコメントいっぱいついてるぞ。

もうお前には関わらないことにする。
671デフォルトの名無しさん:2013/05/30(木) 12:06:24.23
>>659
何言っても無駄だと思うよ。
所詮他人のアドバイスを受け入れる=負けとか、俺様が一番とか
くだらない考え持ってるんだろうから。
いくらアドバイスしたところで聞きやしないよ。

しかもこういうやり取りがプチ盛り上がりとか言っちゃってるわけだからたちが悪い。
672デフォルトの名無しさん:2013/05/30(木) 12:20:09.09
>>664
読んだだけじゃ身につかないぞ、言葉を覚えただけじゃ理解じゃない。
お前はまだ言葉を覚えただけだ、まずカプセル化から勉強すれば。
673デフォルトの名無しさん:2013/05/30(木) 12:29:32.63
>>661
俺は>>659じゃないけどRange、CurrentRegion、Rows.Countを使うのは良いと思う。
しかもRangeプロパティのSortメソッド使えばパイパンの書いたSort、Swapとかいらなくなるし。
ってかもともとExcelにソートの機能があるのに態々コーディングしてるのがアレなんだが。

あえてソート機能のプロシージャを書く理由とかコメントされていてもいいわけだが、そういうコメントがない。
674デフォルトの名無しさん:2013/05/30(木) 12:33:57.24
>>666
こういうところに一文字変数をよしとする弊害が出てくる。
675桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 12:46:13.66
>>670
やだ。桃白白、これからもみんなと仲良くやって行きたい。
冷たいこと言わないでよ、桃白白のこと嫌いにならないでよ、これからも桃白白に関わってよ。
気が向いたときでいいからさ。いままで黙ってたけど、桃白白はさびしいと死んでしまううさぎさんなの。

これ、右側が桃白白
http://pic.prepics-cdn.com/rio010921/18706687.jpeg
676デフォルトの名無しさん:2013/05/30(木) 12:53:57.32
変にぼけてて、手前にピントが合ってる。
677659:2013/05/30(木) 12:54:52.65
もう俺がお前のために時間を使ってアドバイスすることは無いから。
じゃあね。
678デフォルトの名無しさん:2013/05/30(木) 13:00:46.87
>>672に同意
おれでもRange使うけどカプセル化は違うな
679デフォルトの名無しさん:2013/05/30(木) 13:07:18.80
パイパンの自己評価って、リーダブルコードを書くレベルだったのかw
680659:2013/05/30(木) 13:09:11.43
>>678
確かに、カプセル化は筆が滑った。
681デフォルトの名無しさん:2013/05/30(木) 13:14:12.40
自己叙述的で意図が明確な構造とネーミングを行えばコメント不要なのはその通りだが、
そのようなコードだと勘違いしてコメントを書かないと第三者が見ると意味不明なものになる。
682デフォルトの名無しさん:2013/05/30(木) 13:18:59.56
>>618のコードを書くのはやめたのか?汚名挽回のチャンスだぞ?w
683デフォルトの名無しさん:2013/05/30(木) 13:23:16.00
これでRange使ったコード書いてきたらもうダメでしょ。
684デフォルトの名無しさん:2013/05/30(木) 13:23:30.96
やっぱパイパンが来ると盛り上がるわw
685659:2013/05/30(木) 13:28:41.98
>>682
ひょっとして俺にコード書いてみろって言ってるのか?
686デフォルトの名無しさん:2013/05/30(木) 13:28:58.19
>>680
イイね!
間違いを認められる人って少ないからさ
687桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 13:31:30.74
>>685
そうだと思うよ。ついでに気が向いたときに桃白白に返信したらいいと思うよ。
桃白白うさぎさんだからさ。
688デフォルトの名無しさん:2013/05/30(木) 13:37:56.73
桃白白はきちんと汚名挽回してるからなw
689デフォルトの名無しさん:2013/05/30(木) 13:41:33.48
汚名挽回がネタなのか天然なのかわからんわw
690デフォルトの名無しさん:2013/05/30(木) 13:46:52.50
白桃がコードをあげるたびにレスが進むけど、ここは回答者のソースのレビュースレでいいのか?
ソースレビューにしても質問者による提示以外はいらなくないか。どうなん
基本は自然言語での進行が望ましいと思うのだけど。
691デフォルトの名無しさん:2013/05/30(木) 13:48:24.44
>>690
レビューじゃなく公開処刑
692659:2013/05/30(木) 13:50:20.45
>>690
ごめんね。もうしないから。
693桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 13:54:52.74
>>692
していいよ、桃白白全然かまわないよ、やってくれてかまわないよ。
気が向いたときでいいからやったらいいと思うよ。桃白白迷惑に思ったことないよ。
694デフォルトの名無しさん:2013/05/30(木) 13:55:01.15
まあ、いちいち外部リンク開けなきゃ見れない量のコードのやり取りは、俺もどうかと思う。
コード書くにしても、1レスにおさまる程度にして欲しい。
695デフォルトの名無しさん:2013/05/30(木) 14:02:59.57
>>690
賛成。
ソースレビューは質問者の提示したコードのみだね。
自然言語でのスレ進行で十分。
質問者がコード書けないなら書けないで、それは質問者の問題。
わざわざ回答者が変わって書く必要ない。
696デフォルトの名無しさん:2013/05/30(木) 14:07:58.30
回答者が書く必要もないし、書くのを禁止する必要もない
697デフォルトの名無しさん:2013/05/30(木) 14:09:33.10
>>696
そういうこと言うからパイパンがつけあがるんだ。
698デフォルトの名無しさん:2013/05/30(木) 14:10:44.13
桃太郎は頭の体操としてコードを書いてるんだと思うけど、そしてコードを書いた方が楽な場合が多いのも分かるんだけど、
このスレで、動くレベルのコードを出すのは違うと思うの。違和感。
699木兆臼臼臼臼:2013/05/30(木) 14:11:56.01
白の4バイト文字用の左右が見つからない
700デフォルトの名無しさん:2013/05/30(木) 14:20:29.74
みんな自分のしたいようにするだけ
それは誰にも止められない
それが真実
701デフォルトの名無しさん:2013/05/30(木) 14:51:51.00
パイパンを嫌いな奴がNG指定しない理由がわからない
わざわざ読むのは絡みたいからじゃないの?
ぐだぐだ文句言わずにNG指定しろ
あと、パイパンにレスする奴は安価つけろ
702桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 14:56:45.96
>>701
ぇ・・・
703デフォルトの名無しさん:2013/05/30(木) 15:16:28.72
コード無き罵り合いw
704デフォルトの名無しさん:2013/05/30(木) 15:19:36.47
Rangeに拒否反応を示す奴が多いが、データソースがワークシート上にあるのだから、Rangeで扱うのは自然なこと。
>>659が言うように、そうすればデータの物理的位置と処理が分離できる。

今回のランキング処理のように、アルゴリズムだけを独立させたい場合は、ソースを配列などのスカラ型に変換して
取り扱うのもあり。ただしその場合は、処理結果をスカラ型を戻すべき。

初心者がやりがちなのは、一つの関数内で直接シートやセルを参照し、各種処理を実行し、セルを書き換えるという
構造。ただし、今抱えている問題が解決さえすれば良いのであればそれでも良い。おそらくそのコードは再利用しない
だろうから。
705デフォルトの名無しさん:2013/05/30(木) 15:29:14.87
>>701
あえて言うならば、質問者がパイパンのコードを真に受けてほしくないためかな。

質問の書き込みがあって、いくつかやり取りをしようとする前にパイパンのコードの提示があって
それで質問者はOKしてしまう。
NGワード設定してたらそういうチェックできないし。
706デフォルトの名無しさん:2013/05/30(木) 15:34:29.21
桃太郎がどうのこうのは現状そうなだけであって、根本的には動くレベルのコードを出すか出さないかであって。
とりあえず桃太郎は、今後しばらくコードを書いて上げたい欲求を少々自制してみてはいかがだろうか。
707デフォルトの名無しさん:2013/05/30(木) 15:43:38.85
>>706
そんなのできてたらとっくにやってると思うけど。
708デフォルトの名無しさん:2013/05/30(木) 15:58:40.94
これは桃白白が正論だろ。
コード1つ書いてもう一つ用意してて他の連中はコード書かないわ桃白白叩くわ、まるで戦いになっとらん。
709デフォルトの名無しさん:2013/05/30(木) 16:04:41.34
もう救いようがない。
710桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 16:07:55.75
>>708
桃白白を応援してくれる人が現れるとは思いもよらず、
桃白白とてもうれしく、ありがたく、かたじけなく、清く、美しく、しなやかに・・・
711デフォルトの名無しさん:2013/05/30(木) 16:13:40.54
>>708
> コード1つ書いてもう一つ用意してて
ちょっと意味がわかりません。
712デフォルトの名無しさん:2013/05/30(木) 16:21:51.63
明確な意思の基コメントは書かないとするくせに、コードはやすやすと書いて提供しちゃう心理が理解できない。
713桃白白 ◆9Jro6YFwm650 :2013/05/30(木) 16:40:20.19
>>634
マークつけるところはIfで分岐するしかないと思うよ。
連想配列使ってランクとマークの組み合わせ用意するのも
大仰に思えるし、多少汚く見えるのは仕方ない。
714デフォルトの名無しさん:2013/05/30(木) 17:14:27.88
>>712
御本人の一連の発言から、ただ単に問題を解きたいだけの構ってちゃん、という印象を持ちました
715デフォルトの名無しさん:2013/05/30(木) 18:01:16.21
>>714
普通のスレならスルーすればいいだけなんだけど、いかんせん質問スレで質問者に対するレスだから、
まずスルーされることはない。
それを見越して糞コード書いてるからマジで性質悪いんだよ。
716デフォルトの名無しさん:2013/05/30(木) 18:14:18.30
自虐とかじゃなくて、マジで自分のコードが素晴らしいと思ってんのかなぁ?
717デフォルトの名無しさん:2013/05/30(木) 18:22:28.82
桃白白がコード晒して勝利で終わりでいいよ。
負け犬は桃白白を叩くしかできないってこと。
718デフォルトの名無しさん:2013/05/30(木) 18:53:24.09
>>717
コード晒せば勝利ってそんなルールは>>1に書いてない。
勝手に俺ルールを作るな。
719デフォルトの名無しさん:2013/05/30(木) 18:54:47.47
悔しかったらそうじゃないことをコードで証明しろ
720デフォルトの名無しさん:2013/05/30(木) 19:01:42.70
>>1の☆5って結論はどうなったの?
質問者の丸投げ、回答者のコード提示、これらはOKになったの?NGのままなの?

どっちかに落ち着いたならこのての議論はなしにして、不満があるひとは、あまり言いたくないけど別スレたてればいいんじゃない?
721デフォルトの名無しさん:2013/05/30(木) 19:11:30.63
コード派は白桃と無記名の白桃の計一人か、それとも白桃と白桃のコードを崇拝する信者か。
やたら白桃を称賛したり、傘を借りてるみたいだけど、コード出せとか煽っても・・
722デフォルトの名無しさん:2013/05/30(木) 19:21:59.87
>>721
俺も同じ見解。
723デフォルトの名無しさん:2013/05/30(木) 19:34:13.70
擁護してるんじゃなくてコード出さないなら叩くなってこと。
出して議論するならわかるけどさ。
724デフォルトの名無しさん:2013/05/30(木) 19:40:26.92
>>723
質問スレであってコードを議論するスレじゃないんだが。
725デフォルトの名無しさん:2013/05/30(木) 20:13:57.29
>>723
通勤とか暇潰しで見てるからコード上げろはキツイわ
指摘するのにコード上げる意味も分からん
正々堂々叩き合えと?w
726デフォルトの名無しさん:2013/05/30(木) 20:22:06.90
2chでまで言い訳かよ、お前いつもそればっかだな。
727デフォルトの名無しさん:2013/05/30(木) 20:30:12.85
コード出せないなら黙ってればいい。
728デフォルトの名無しさん:2013/05/30(木) 20:35:37.50
黙れてないじゃん
729デフォルトの名無しさん:2013/05/30(木) 20:46:08.27
>>724
じゃあ桃白白を叩かないで黙ってろ。
コードを書いたくらいで叩くんじゃない
730デフォルトの名無しさん:2013/05/30(木) 20:46:42.68
矢面に立てないやつは桃のことを論じる資格そのものがないわ
731デフォルトの名無しさん:2013/05/30(木) 20:47:05.52
>>727
なぜそこまでコードにこだわりたいのか?
732デフォルトの名無しさん:2013/05/30(木) 21:01:21.52
コードだけに縛られたいんじゃね
733デフォルトの名無しさん:2013/05/30(木) 21:12:16.66
根拠無く意見を述べるバカをNGにするマクロ教えてください
734デフォルトの名無しさん:2013/05/30(木) 21:16:15.98
自分の書き込みが見えなくなることになるけどいいのか?
735桃白白 ◆9Jro6YFwm650 :2013/05/31(金) 01:27:28.08
>>725
桃白白名案があるの。仕事中にやればいいと思うの。
叩き合うっていったらただの喧嘩じゃん。
やっぱりさ、こう、意見を出し合う者同士が互いに相手の意見を理解し合う
ようなそういう議論ができるのが理想だと思うんだよね。
桃白白のコードを頑なに否定するんじゃなくてさ、そういう書き方もあるよね、
こういう書き方するともっと簡単に書けるよとか、こうすればもっと高速に処理できるよとか
そういうふうに意見を出し合えば桃白白が傷つかずに済むでしょ。
桃白白がかわいいうさぎさんであることを忘れちゃいけないと思うの。
736桃白白 ◆9Jro6YFwm650 :2013/05/31(金) 02:31:50.66
737デフォルトの名無しさん:2013/05/31(金) 04:51:12.41
>>735
何でダメと言われているのか理解してないでしょ。

パイパンがオリジナルのコードを晒してどこを直せばいいですか?っていうあくまで質問者の立場なら全く問題ない。
質問の内容を利用したコードを書いた時点で回答者という立場になる。
質問スレだから質問者がOKという話をされれば、その時点でで話題は終了。
どうしてもコードの話題にしたいのであれば、質問者が最終的なコードをアップさせるように仕向ればいい。

質問スレなんだからあくまで質問者が話題の中心。
回答者のお前が話題の中心じゃない。
738737:2013/05/31(金) 06:24:56.59
>>735
追加

> やっぱりさ、こう、意見を出し合う者同士が互いに相手の意見を理解し合う
> ようなそういう議論ができるのが理想だと思うんだよね。

こんなこと言ってるけど、パイパンが相手の意見を理解しているように全く見えない。
何で>>725が通勤途中や暇つぶしで見ている環境なのか理解しようとしてない。
理解しているなら仕事中に見ればいいなんて言うわけがない。
しかも>>725を理解したうえでお前が何か妥協した点があるとは全く見受けられない。

簡単に言うと、お前のわがままを>>725に押し付けているしか見えない。

あえて言うとお前が>>725であれ、質問者であれ、お前に対するレスであれ
相手を理解しようとする心が芽生えない限り、この状況は全く変わらないと思う。
739桃白白 ◆9Jro6YFwm650 :2013/05/31(金) 06:25:53.98
>>737
桃白白はきちんと質問者と向き合って質問に答えてるよ。
桃白白に放火して炎上させたのはみんなの方じゃん。
桃白白は火達磨になりながらもきちんと質問に答えたんだよ。
740デフォルトの名無しさん:2013/05/31(金) 06:32:48.45
>>739
コードを見る限り、向き合っているように全く見えない。
質問者が理解できるような配慮なんてあの糞コードに全くないし。
コメントがないだけでも十分向き合ってない。
741桃白白 ◆9Jro6YFwm650 :2013/05/31(金) 06:49:39.52
>>740
そうやって桃白白の悪口を言うことが桃白白が話題の中心になる原因だよ。
桃白白はただひたすら傷つくだけだし、質問者は置いてけぼりじゃん。
質問者が中心だって言ったんだから質問者に対して自分はこう思う、こう書くべきだとか述べるべきだよ。
>>713でも、>>736でも桃白白はきちんと質問者に対して自分の考えを述べてるでしょ。
742デフォルトの名無しさん:2013/05/31(金) 07:02:30.24
>>741
既に終わっている内容にレスしても質問者に向き合っているように全く見えないんだが。
ただレスを返しただけで質問者の意向をくみ取ってないでしょ。
743桃白白 ◆9Jro6YFwm650 :2013/05/31(金) 07:15:15.15
>>742
そう思うんなら質問者の意向に沿った返信をすればいいと思うよ。
桃白白を火達磨にしても何も解決しないよ。
744デフォルトの名無しさん:2013/05/31(金) 07:41:40.73
本当は優秀なんだけど口だけで仕事しないやつより
ダメコードでも結果を出したやつが評価される世の中なんで
みんな嘆いてるんですよ
745デフォルトの名無しさん:2013/05/31(金) 07:54:07.30
>>743
いやいや、お前が変わらない限り何も解決しない。
746デフォルトの名無しさん:2013/05/31(金) 08:54:53.96
ダメコードより結果を出せないコードしか書けない奴が優秀なんてことあるのか
747デフォルトの名無しさん:2013/05/31(金) 10:58:54.97
パイパイのコードがイマイチなのは何も今に始まった話じゃなし
それでもコード公開して回答する姿勢は評価するが
公開されてる掲示板に書いてるんだから、まっとうな批判はちゃんと受けろ
質問に答えて火達磨になったのは、その程度の回答しか出来なかったってことだ
748デフォルトの名無しさん:2013/05/31(金) 11:39:31.56
>>659の内容は、ごくまっとうなものじゃないか。
それに切れておいて、今後ともよろしくは無いわ。
749桃白白 ◆9Jro6YFwm650 :2013/05/31(金) 11:52:50.83
>>748
そんなこと言われたって桃白白どうすりゃいいのさ・・・
750デフォルトの名無しさん:2013/05/31(金) 11:58:30.69
>>749
悪口言われたとか放火されたとかいうスタンスがもう駄目。
単に「糞コード」と言ってる奴ですら、お前のコードを眺めて評価する時間を割いてるんだぞ。
まあ、コードも見ずに糞コードと言ってる奴もいるかもしれないが。
751デフォルトの名無しさん:2013/05/31(金) 12:54:58.62
どう考えても桃白白叩きになってるじゃんwww

>>736>>618に対するコードを桃白白は表示した。
コードに対する指摘があるならすればよし、桃白白を無視したいならすればよし。
それをコードでもなく、無視でもなく、人格攻撃するとは、どういうことか。
こういうのを2chでは、「固定ハンドル叩き」といい、削除ガイドラインでも削除対象になるくらい、固く禁じられている。

と正論を言ってみるテスト
752デフォルトの名無しさん:2013/05/31(金) 13:07:22.45
>>750
間違った事は言ってないからね
>>749
言われて気付いた事もあるだろうしポジティブに行こうぜ
753デフォルトの名無しさん:2013/05/31(金) 13:13:07.86
>>751
発言態度を批判すると、人格攻撃になるのか?
だったらもう何も言えないな。無視しかできない。
754デフォルトの名無しさん:2013/05/31(金) 13:22:38.02
ageてる奴下げて
755デフォルトの名無しさん:2013/05/31(金) 13:26:00.11
ageてる奴は、パイパンのコードの質はどう評価してるんだ
756デフォルトの名無しさん:2013/05/31(金) 14:41:29.98
専門板っていまだにageだsageって言ってるキチガイがいるのか
757デフォルトの名無しさん:2013/05/31(金) 14:55:13.57
ageてるのはパイパイ
758デフォルトの名無しさん:2013/05/31(金) 14:57:14.30
コードの質とかもういいっす、先に書いた奴が勝ちっすから。
759デフォルトの名無しさん:2013/05/31(金) 15:08:36.88
>>758
コードに固執してるのに質は関係ないってことは、単に荒らしたいだけか。
760デフォルトの名無しさん:2013/05/31(金) 15:24:39.79
>>759
ところでお前天然の方?悪意がある方?どっちのバカ?
761デフォルトの名無しさん:2013/05/31(金) 15:33:03.76
>>751
コテハンならスレを荒らしても無罪放免って言いたいわけね。
762デフォルトの名無しさん:2013/05/31(金) 15:43:17.29
無料匿名だけど迅速かつ非の打ち所のないコード提供をお約束いたします
763デフォルトの名無しさん:2013/05/31(金) 16:00:48.08
>>756
実際の所、ageてる奴はお前とパイパンだけなんだがな
764デフォルトの名無しさん:2013/05/31(金) 16:23:34.15
>>735
> 桃白白のコードを頑なに否定するんじゃなくてさ、そういう書き方もあるよね、

いや、ないから。
765デフォルトの名無しさん:2013/05/31(金) 21:45:09.50
>いや、ないから。

なんだこりゃ
こういうスレだったの?
766デフォルトの名無しさん:2013/05/31(金) 22:11:16.86
この話はもうおしまい!
767デフォルトの名無しさん:2013/05/31(金) 22:26:01.43
>>766
これで終わりになることはないと思う。
とりあえず様子見だな。
768デフォルトの名無しさん:2013/05/31(金) 22:46:33.16
要はあれだろ?
ずっと>>1が複数の人を装って暴れてるんだろ?
結局>>1★5を残した挙句の結果が、ずっとこのスレが荒れっぱなしと言う醜態を曝しただけだったな。
次回は確実に消しておかないと。
769デフォルトの名無しさん:2013/05/31(金) 22:53:54.13
批判されるのが嫌ならコードを晒さないこと。
簡単ですね。
770デフォルトの名無しさん:2013/05/31(金) 23:01:18.80
>>764
コードを評価するのもダメなスレだったのか。
771デフォルトの名無しさん:2013/05/31(金) 23:22:32.02
>>768
そのかわりにコードの回答禁止と桃白白をNGワードに入れるルール追加だね。


>>769
だな。
コードがなければコードの批判なんてないわけだし。
772デフォルトの名無しさん:2013/05/31(金) 23:34:14.83
お前らもうその辺にしとけ。
見てて気分悪いぞ。
773デフォルトの名無しさん:2013/05/31(金) 23:44:46.32
なんで誰も模範解答を出さないの?
誰も書かないから俺が書くけど、他人のコードにケチつけるだけなのは人間のクズ
結果を出してから大きな口を叩けや
774デフォルトの名無しさん:2013/05/31(金) 23:52:11.56
結果というのがなんのことかわからないが、コードに対するコメントを「ケチ」だと
思うのは多分君が職業プログラマじゃないからだよ。
まともなプログラマなら、無料でレビューしてくれることに感謝するはずだ。
775デフォルトの名無しさん:2013/05/31(金) 23:59:15.58
そもそもプログラムやってるならおいそれとコードを出してやるなよと
776デフォルトの名無しさん:2013/06/01(土) 00:11:19.78
そもそもお前のおままごとコードは誰も欲してないよと
777デフォルトの名無しさん:2013/06/01(土) 00:24:08.71
>>774
コードの質は関係ないって言ってるやつにそんなこと言っても全く理解できないと思う。
コードレビューがあるからコードの質が上がるんだけどね。
プログラマってどういう人間なのか誤った認識してるんだと思う。
778デフォルトの名無しさん:2013/06/01(土) 00:37:37.67
sub
msgbox ("プログラマならコードで語れよ")
end sub
779デフォルトの名無しさん:2013/06/01(土) 00:42:59.68
つか、今回の質問も空行で区切られたデータ範囲を知るのと、大小比較だかソートだかを
するだけの簡単な問題で、何も全コードを書くような話じゃなかったんだよね。
780デフォルトの名無しさん:2013/06/01(土) 00:46:03.27
安易にコード(=結果)さえ書けばいいってもんじゃない。
コード(=結果)だけがプログラムのすべてではない。
781デフォルトの名無しさん:2013/06/01(土) 01:12:37.95
今回は質問者が競馬のデータいじりというガッツリしたものを放り込んできてそれに桃白白が答えた。
残りの犬どもがそれにわんわん吠えたって展開だろw
質問者ナイスだわw
782デフォルトの名無しさん:2013/06/01(土) 01:30:20.60
質問に対する回答がひどいから叩かれるだけの話
もういい加減この話題終わりにしろよ
783デフォルトの名無しさん:2013/06/01(土) 02:49:00.90
>>782
は?桃白白が質問者に暴言吐いたか?
コードまで書いてあげた挙句、コードに関する質問には丁寧に答えてただろ。

お前らが仕掛けたくせによく言うわ
784デフォルトの名無しさん:2013/06/01(土) 03:37:10.00
>>778
それ括弧の有無で意味違うから、括弧外すかCallつけるかどっちかにしな
785デフォルトの名無しさん:2013/06/01(土) 04:12:57.99
とりあえずコードも出さずにケチ付けるだけの役立たずは黙ってろ
786デフォルトの名無しさん:2013/06/01(土) 04:14:19.92
>>783
桃白白の態度や(コード出す)回答方法が悪いなんて言ってないぞ
回答してる中身が悪いから叩かれてるんだって言ってるんだ

ageてる奴は回答の程度が悪いのが理解できてないんだろうな
787桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 04:29:35.25
>>786
ロジックに瑕疵があった?どこ?具体的に指摘して、桃白白ちゃんと言ってくんないとわかんないから。
思ってるだけじゃ伝わんないから。あとになって後悔するだけだよ、あのときちゃんと伝えておけばよかったって。
あたしの思いちゃんと伝えておけばよかったって。後悔したくないでしょ?じゃあ言って。
788デフォルトの名無しさん:2013/06/01(土) 04:58:21.67
>>774
>まともなプログラマなら、無料でレビューしてくれることに感謝するはずだ。

顔も実力も分からない評論家様が草野球の試合に踏み込んできてそうじゃねえだろと言って手本も示さずに感謝だけ要求する世界ですか?
いや草野球じゃなくてプロであったとしても感謝する人がいるかな
789デフォルトの名無しさん:2013/06/01(土) 05:30:06.16
>>783
それで、コテハンのやつとコテハンじゃないやつがいるわけだ。
なんか言われたらこんな風に言い訳できるもんな。
790デフォルトの名無しさん:2013/06/01(土) 05:46:24.68
>>788
指摘内容で実力はわかるでしょ。
2chでは、ほぼいつでも相手がどういう人だかわからない。みんな、その場その場の内容で判断してるんだよ。
791桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 05:53:55.92
>>788
(σ゚д゚)σソレダ!!
792デフォルトの名無しさん:2013/06/01(土) 05:56:49.04
お前が書き込む時間に限ってお前を擁護するような書き込みがあるのは俺の気のせいか?
793デフォルトの名無しさん:2013/06/01(土) 06:14:57.57
>>792
気のせいじゃないよ。俺も全く同じことを思ってる。
同一人物なんだろうなぁと思ってたけど、>>783のレスで確信したよ。
794デフォルトの名無しさん:2013/06/01(土) 06:15:55.17
>>793
同意です。まったくあなたのおっしゃるとおり。
795デフォルトの名無しさん:2013/06/01(土) 06:27:47.92
>>788
謙虚な気持ちがないヤツがいいそうな例え方だな。
ってか相手が何でそういうことを言うのか理解しようとする前に、相手を否定。

やはりパイパンと全く同じwwwww
796デフォルトの名無しさん:2013/06/01(土) 07:06:55.95
まあまあ、
話は全然関係ないけど、俺は自作PC板の住人でもあるんだが、
そこで~円で自作するスレみたいのがあって、自分の考えた構成を晒すんだけど
それに文句がある奴は更に良いと思われる構成を貼って指摘、もしくは反論すると言う暗黙の掟がある。
要するに口だけ番長は誰も相手にしたくないということだろう。
このスレも人が書いたコードに文句を付ける際はそうすればいいんじゃないか?
797デフォルトの名無しさん:2013/06/01(土) 07:28:45.18
対案示さず批判のみとは、まるでどこかの党か、あるいはお隣の国のようだ
798デフォルトの名無しさん:2013/06/01(土) 07:29:01.18
自然言語で質問、自然言語で回答。
極論言うと、コードを出すならそういうスレを立ててそっちでやってくれ。
技術者同士でフォローし合うスレであって、コジキに恵むスレじゃない。
誘引する行為もよしとしない。ここにはそういう性質の人間が多いということ。

ベクトルの違うスレになるんだろうし、コードありきの人はスレたててみたらどう?
799デフォルトの名無しさん:2013/06/01(土) 07:29:57.16
感謝するニダ(`_´)ゞ
800デフォルトの名無しさん:2013/06/01(土) 07:31:28.91
双方のスレのテンプレに
「技術的な質問はこちら」
「コード作製依頼はこちら」
とリンクしあえばよりよい。
801デフォルトの名無しさん:2013/06/01(土) 07:37:17.43
>>796
そりゃ自作PCなら全部取っ替えても10行で書けるが、手の施しようがないプログラムは全部書き換える
必要があって、今回みたいな場合は数十行必要になる。
で、それって全然別のコードを書いたことになって、元コードのどこがダメだったのかを示すことには
ならないというおまけ付き。
パイパンの場合は大抵全体の構造がまずダメなんで、こう書き直せという指摘がしづらい。
802デフォルトの名無しさん:2013/06/01(土) 07:49:55.91
まあ、リーダブルコード読めと言われて、いや俺はそれを書くがわだとか言っちゃう
身の程知らずだから、もう何言っても駄目だと思うよ。
パイパンがコードをうpするのは止められないから、触らないようにするのが一番いいよ。
803デフォルトの名無しさん:2013/06/01(土) 07:50:26.92
>>796
PC自作を晒すスレならそれはありなんだけど、このスレってコードを晒すスレじゃないんだけど。
このスレをコードコンテストスレとかコード自慢スレとかと思ってるようだけど、残念ながらこのスレは質問スレなんだ。
どうしてもコードコンテスト、コード自慢したいのなら別スレ立ててそっちでやってくれ。
804デフォルトの名無しさん:2013/06/01(土) 07:54:14.36
>>624程度のコードならいいけどね。
でも別スレ立てても人来ないと思うね。別に立ててもいいけど。
805デフォルトの名無しさん:2013/06/01(土) 08:33:20.13
質問者が「桃白白」をNGワードに設定してくれればいいんだけど、
質問者全員が専ブラ使っている訳でもないだろうからなぁ。

結局のところコードを晒す本人の意識が変わらない限り解決は無いと。
806デフォルトの名無しさん:2013/06/01(土) 08:41:15.08
もう一個のVBAスレでやればいいんじゃない?ほぼ死んでるようだし。
あのスレってここから分裂したんだっけ?
807デフォルトの名無しさん:2013/06/01(土) 08:48:02.99
>>806
まさしくそうだけど、コード晒すやつを誘導しても言うこと聞かずにこっちにコードをうpするから意味ない。
クレクレ君がこのスレに書き込んだ時に、クレクレ君を誘導したとしてもすでに手遅れ。

マジで本人の意識改革しかないのだが。
808デフォルトの名無しさん:2013/06/01(土) 08:52:48.42
>>780が正鵠だと思うわ。
この流れ見て「コードクレクレすれば誰かが書いてくれる」って初心者が思っちゃったら、
質問スレじゃなくコードクレクレスレになっちまうだろ。
プログラマが自分で自分を貶めてどうする?
ましてや質問者が求めているのは助言であってコードじゃないだろ。

>>522
自分で成長しようとする気持ちがあるなら、汚くても自分のコードを使った方がいい。
成功しようが失敗しようが自分の糧になるから。
809デフォルトの名無しさん:2013/06/01(土) 09:23:17.38
誰もコードを上げなければ、質問者がお前の意見を採用してくれると思ったら大間違いだぞ。
初心者でもバカは分かるんだよw
810デフォルトの名無しさん:2013/06/01(土) 09:41:32.02
>>805
まずお前が設定しろよこの桃白白大好き人間が
811デフォルトの名無しさん:2013/06/01(土) 10:22:27.09
どうもよく分からないな。
ここって質問スレだよな。
質問に対して有効であればヒントだろうがコードだろうが構わないと思うんだが。
回答が間違ってるなら兎も角、合っているのに駄目出しする人は
VBAを極めるスレでも立てればいいし、
ヒントじゃなければ駄目だと言う意見を押し付けるのであれば、問答スレでも立てればいい。
質問に対して回答するスタイルに何故拘る必要があるのか分からない。
812桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 11:13:31.77
>>809
ワロスwww
813デフォルトの名無しさん:2013/06/01(土) 11:33:13.08
やはり自演だったか
814659:2013/06/01(土) 11:58:27.25
>>811
なんで俺が>>659を書いたかというと、駄目だ駄目だと何人もに言われても桃白白は少しも
駄目かもしれないとは思ってなかった様子で、質問者は桃白白のコードが何か素晴らしいもの
だと思ってるようだったので、これはいかんとやりたくはなかったんだが具体的指摘をした
んだよ。>>659の冒頭にもやりたくなかったと書いてるでしょ。

なので、俺としては積極的にそのようなことをやりたいわけでもなく、このスレでは今後一切
そういうことはしない。
815659:2013/06/01(土) 12:04:21.37
ちなみに俺自身はVBAのことはかなり極めてるつもりだし、他人様のスキルを上げるのを
手伝おうなんて思ってない。
816デフォルトの名無しさん:2013/06/01(土) 12:21:57.20
なんとなく神のGTOっぽさを醸し出す文体
817デフォルトの名無しさん:2013/06/01(土) 13:23:54.66
   卑 日    /                             ._ノ
  怯 本    L_                       _-‐──-)  .在 .え
  者 に     /                     ./:::::::::::::::::::::ヽ   .日. l
  だ い    /        _____       /:::::::::::::::::::::::::::::::i  ニ マ
  け る    l      /..::::::::::::::::::::::::::::- _   ./::::;;;::'''``""'''''' 、く  カ ジ
  ニ 朝    i  .   /:::::::::::::::::::::::::::::::::::::::::\  i::::::/ --─‐‐- 厶, !?
  ダ 鮮   l    /:::::::/~ ̄ ̄ ̄~ヽ:::::::::::::::ヽ ゙l,゙/ ,-ー、 Ll /,ー--、.ヽ
  よ 人   _ゝ   /::::/         \:::::::::::| i i._--\    /--゙` レ、⌒Y⌒ヽ
  ね は   「   |:::/ '⌒`   '⌒ヽ  |::::::::::| ( l  -'"/ ヽ `ーー  ゙`l ./´゙'l,::
-┐    ,√    ヽ|  \     /   |:::::::::|  〈   (    )、      > /'゙i,. j:
  レ'⌒ヽ/  . .   /|           _人__人ノ_ ヽヽ ノ`ー'` ヽ----/' j゙jノ./::
人_,、ノL_,iノ!     |,<___ < _ > _____「      L_ヽ 〃r─‐- 、ヽ   / /'´ノ::::
      /      ヽ|   ー─── ノ  キ    了 \ヽ ヽ, -‐┤} }  .ノr''゙ /
ハ ウ  {      /\/!`h、⌒/ )  モ    |/! 「ヽ, `ー /)  _ ‐'  ./
..ッ ェ   ヽ    r-、 . // / |  ̄  ,く    |     > / / `'//-‐、    /
ハ |    > /\\// / /ヽ_ /  !   イ    (  / / //  / `ァ-‐ '   /
..ッ ハ   / /!   ヽ    レ'/   ノ   ニ     >  ' ∠  -‐  ̄ノヽ   /
ハ ..ッ .... {  i l    !    /    フ  .ダ    ./     -‐ / ̄/〉 〈 \
818786:2013/06/01(土) 13:45:08.97
>>787
ロジックが正しい上かどうかじゃなくてコードの質が悪いって言われてるんだよ
コードが悪いと言われてロジックに瑕疵があるとしか考えられないのなら
お前はもうコード公開するのやめとけ

>811
ヒントじゃなければ駄目だと言う意見を押し付ける人は俺も理解できん
だけど、質問でも回答でも、その書き込みの質が悪ければそれは叩かれても然るべき

今回は質が悪いと指摘してる人に、回答スタイルを押しつける人と人格攻撃したい人が乗っかってるから話がややこしくなってるだけ
819デフォルトの名無しさん:2013/06/01(土) 14:41:09.66
質の悪い言い合いはもうやめてもらえませんかねえ
820デフォルトの名無しさん:2013/06/01(土) 15:02:55.52
初心者ですが
book ワークシート セル番地を今は1つづつアクティベートしていますが
複数のbookとシートを頻繁に指定する場合行数がどんどん増えて煩わしいのですが
3つをまとめて指定する方法は無いのでしょうか?
また数値が書き込まれさえすればわざわざアクティブになってなくてもいいのですが
非アクティブで数値だけ指定した箇所へ瞬時に書き込まれる方法とか無いのでしょうか?
821桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 15:14:38.79
>>818
なんだロジックは間違ってないのね。じゃあいいです。
822デフォルトの名無しさん:2013/06/01(土) 15:20:58.09
>>818
コードを許した時点でパイパンが湧いてくるからなぁ。
今後、第2第3のパイパンが湧いてくることも考えられるし。
妥当なのがコードの回答禁止じゃないかと。

他にいい方法ってあるのかな?
823デフォルトの名無しさん:2013/06/01(土) 15:22:33.62
>>821
自分の都合のいいほうの意見だけ聞くな。
ロジックが変っていう意見のほうが多い。
824デフォルトの名無しさん:2013/06/01(土) 15:41:56.67
>>821
ロジックがあってるとも間違ってるとも言ってないぞ
ロジック以前の問題だって言われてるんじゃないかな
825桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 15:47:56.48
>>824
桃白白が質問者に伝えたかったのは、桃白白が書くコードはこんなに質が
高いんですってことじゃなくてこういうロジックがあるよってことだったの。

コードの質っていうのもよくわかんないんだけど、コメントがどうとかそういう
ことでしょ?くだらないなって思うの、そういうの。議論してるときに本質と関係ない
句読点の指摘をしてくるおっさんの亜種だとしか思えないの。

だから、もしロジックに不備があるとしたらそれは傾聴に値するから
桃白白のかわいいお耳を傾けようと思ったんだけど、言わないんでしょ。じゃあいいです。
826デフォルトの名無しさん:2013/06/01(土) 15:53:04.62
>>820
複数のブックとシートには全く同じ処理をするのかな?
全く同じ処理ということなら、ブック名、シート名を引数とするプロシージャを書けばできるかと。
メイン処理でそのプロシージャにブック名、シート名を指定してコールすればできると思う。

ブックがオープンさえしていればアクティベートしてなくても
Workbooks("ブック名").WorkSheets("シート名").Cells(行数,列数)
で値の参照、設定ができる。勿論対象のブックが書き込みができる設定になってるのが前提だけど。

常に上記の指定を書くとコードが横に長くなって見にくくなるからWithステートメントを使ったり、
シートオブジェクトをSheet型の変数に格納したりすれば可読性は上がると思う。
827デフォルトの名無しさん:2013/06/01(土) 16:00:04.99
>>825
そもそも問題になって今更そういう説明をしなくてもいいようにコメントを書けと言われてるんだよね。
コードにコメントなし、レスのコメントも何もなし。
それでコードを見た人は何を受け取ればいいんだ?ってこと。

ようはコードの書き手の意向が伝わってこない。

お前は今言い訳してるけど、前のレスでコードを書いただけと言ってるわけだし
こういうロジックがあるよとかどうでもいいんでしょ。
後付けで理由つけるなよ。
828デフォルトの名無しさん:2013/06/01(土) 16:02:17.35
ロジックが正しいかどうかが分かるまで読み進めた奴がどれだけいたか疑問で、まさにそれが問題なんだけど、
本人がいいというんだからこれで終わりだね。
829デフォルトの名無しさん:2013/06/01(土) 16:04:17.03
要するに、まとまった量のコードを上げられても俺が理解出来んから気にいらん
という事だな
830デフォルトの名無しさん:2013/06/01(土) 16:06:26.77
>>829
もう、そういうかまってちゃんな発言止めなよ。
831デフォルトの名無しさん:2013/06/01(土) 16:11:31.94
要するに、理解する気にならないような質の悪いコードをあげられても困る
という事です
832デフォルトの名無しさん:2013/06/01(土) 16:14:57.75
>>831
困るならどこが分からないのか素直に聞けばいいんだよ、質問スレなんだから。
それを、質が悪いだのレビューだの上から物を言うからスレが荒れるんだよ。
833桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 16:15:14.52
>>827
だからロジックはわかるでしょ。コード見ればどういう処理が行われるかわかるでしょ。
どういう実装方法があるか分かるでしょ。コメントがなければ何も分かりませんなんて人に答えたつもりはないよ。

コードを書いたのは桃白白だから、書き手の意向は桃白白の意向のことで、
桃白白の意向はこういうロジックがあるってことを示すこと。

だから、コメントがあるかどうかばかりを気にするお前にはそれが
伝わらなかったのかもしれないけれども、桃白白が示したかったのは
こんなにコメントがあるんですってことじゃないから問題ない。
834デフォルトの名無しさん:2013/06/01(土) 16:20:09.94
>>832
内容がわからないと言ってた奴は一人もいないが。
見えない敵と戦うと疲れるぞ。
835デフォルトの名無しさん:2013/06/01(土) 16:22:45.04
どんなに言い訳しても、酷いコードだという評価は覆りませんよ。
836デフォルトの名無しさん:2013/06/01(土) 16:24:22.56
>>833
間違ってさえいなければ分かりにくくても問題ないと思うなら
他人が読むためのものを公開するのはやめておけ

これ以上いっても無駄だろうし俺はもうこれでこの件にはレスしない
837デフォルトの名無しさん:2013/06/01(土) 16:28:30.75
パイパンがプログラマだと思うから腹立つんじゃないか?
相手は素人だ。可読性なんて求めすぎだよ。
838デフォルトの名無しさん:2013/06/01(土) 16:29:07.18
>>833
> 桃白白の意向はこういうロジックがあるってことを示すこと。

そもそもそれが伝わってないし、伝えようとしてないでしょ。
一行のコメント入れられないくらい超難しいこととは思えない。
質がどうのこうのと言われて、あわてて言い訳しているようにしか見えない。

こういうやり取りをしているだけでも、その場しのぎの人間なんだなぁということを踏まえたうえでコードを見ると、
コメントなかったり、コードに一貫性がなかったり、一文字変数があったり・・・
動けばいいというその場しのぎのコードになっていて、コードは人となりを表すんだなぁと思ってみたり。
839デフォルトの名無しさん:2013/06/01(土) 16:41:36.22
>>833
俺は変数名や関数名をきちんと分かり易く付けて可読性を高くして
コメントは出来る限り減らした方がいいとは考えるけど、
ここが質問スレだと考えれば、相手の知識レベルも分からないし、
コメント振ってあげた方がより親切だとは思うよ。
そういう意味で言うと、変数名や関数名なんか日本語で付けても良い位。
840デフォルトの名無しさん:2013/06/01(土) 16:44:44.72
ここってひま人の集まりですか?
841デフォルトの名無しさん:2013/06/01(土) 16:47:08.61
どのスレも忙しい人は書き込みなんかしないと思うが
842デフォルトの名無しさん:2013/06/01(土) 16:49:19.33
まあ暇人な事は認める
843桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 16:59:26.23
>>839
より親切にするべきだと思う?
844デフォルトの名無しさん:2013/06/01(土) 17:03:55.28
>>843
質問者に自分の意図を伝えたいのであれば。
845桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 17:10:36.28
>>844
桃白白はコードで十分だと思ってるからコメントを入れないけど、
お前がそうするべきだと思ってるんなら、入れてくれても構わないよ。
>>736
Friendpasteは誰でも編集できるから。
846デフォルトの名無しさん:2013/06/01(土) 17:15:22.01
>>845
まぁ、質問者に理解してもらいたい訳では無く、
自分がただ回答のコードを書きたいだけだと言うなら
それも有りだろう。
847桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 17:21:00.79
>>846
桃白白はコメントがなくても桃白白の意向が質問者に伝わると思ってる。
だからコメントを入れない。

お前はコメントがなければ桃白白の意向が質問者に伝わらないと思ってる。
だからコメントを入れるべきだと思ってる。じゃあ入れなよ。
848820:2013/06/01(土) 17:22:16.61
>>826
詳しくご説明頂きありがとうございます。
>Workbooks("ブック名").WorkSheets("シート名").Cells(行数,列数)
試して見ます。ありがとうございました。
849デフォルトの名無しさん:2013/06/01(土) 17:26:57.35
>>847
俺はそれを分かるかどうかを判断するのは回答者では無く質問者だと思っている。
だから前もってコメントを書いておく。それだけ。
別に桃白白のやり方を否定するつもりはないよ。
850デフォルトの名無しさん:2013/06/01(土) 17:28:24.52
>>845
ほんと何が問題なのか理解してないみたいだな。
コードを書いた本人じゃないと意向なんかわかるわけないだろ。
処理の概要程度なら読めばわかる。

処理の概要をコメントとして書けと言っている訳ではないってことも理解できないのかな。
851デフォルトの名無しさん:2013/06/01(土) 17:39:23.41
いかにも頭の問題だな
852桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 17:42:47.47
>>850
書いた本人の意向もわからないのにコメント書けと言っていたのかと
桃白白ちょっと驚いてるんだけど、桃白白の意向は>>833に書いたとおりロジックを示すこと。
読めばわかるんだったらそれでいい、桃白白はそう思ってる。

お前はコメントを書くべきだと思ってる。じゃあ>>736に書きなよ。
853デフォルトの名無しさん:2013/06/01(土) 18:09:13.60
>>850
意向は元の質問読めばわかるだろ頭弱いのか
854デフォルトの名無しさん:2013/06/01(土) 18:21:37.33
>>821
ああ、別にプログラミングで食ってる人間ではないのか。

「言いたいことが相手に伝わってると思う」ではちょっと独り善がりだね。
一人作業しかやったことないとわからんだろうけど、同じレベルのプログラマーの間ですら、考え方の違い一つでで齟齬を生むことなぞごまんとある。
だからこそコード以外の部分(コメント、ドキュメント、コミュニケーション)が重要になってくるんだよ。
まぁ、この程度のコードなら不要っちゃ不要だが、みんなが言いたいのはそういうことなんじゃないかな。多分。

>>853
それこそ>>850の意向は「コードを書いた本人(桃白白)じゃないと意向なんかわかるわけないだろ」なんじゃないかな。
855デフォルトの名無しさん:2013/06/01(土) 18:25:46.18
パイパイがどうかは知らんが
ExcelVBAスレで皆が職業プログラマだと思うのはどうかと思うぞ
856デフォルトの名無しさん:2013/06/01(土) 18:32:08.51
プロが書こうがアマチュアが書こうが駄目なものは駄目ですから。
857デフォルトの名無しさん:2013/06/01(土) 18:34:34.93
駄目だ、不足してるのはコメントだけだと勘違いしてるわ。
858デフォルトの名無しさん:2013/06/01(土) 18:37:40.87
アマチュアのコードの改善点()を指摘して鼻高々のプロのみなさん()
859デフォルトの名無しさん:2013/06/01(土) 18:39:09.98
へぇExcel VBAでコード書いて食ってる人なんているんだな
マジうける
860桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 18:39:16.63
>>854
桃白白が書いたコードについてこうしろって言う人の方がよほど独善的じゃん。
編集していいって言ってんだからやればいいじゃん。
861デフォルトの名無しさん:2013/06/01(土) 18:43:19.97
>>859
いないとでも思った?
862デフォルトの名無しさん:2013/06/01(土) 19:06:31.04
>>861
というより思いもよらなかった
食えるんだねえ、こんなもんで

あっ、もしかして自分の職を守るためにここを荒らしているのかな
食べて行くのって大変だよね()
863デフォルトの名無しさん:2013/06/01(土) 19:19:03.32
>>862
言語だけで考えちゃうとそう思うけど結局内容だからな
おれはシステムの補助ツールとして関わる程度だけど過去にはVBAメインてのもあったよ
864デフォルトの名無しさん:2013/06/01(土) 19:22:11.85
今度は荒らしということにしたいんだ。
865デフォルトの名無しさん:2013/06/01(土) 19:27:24.34
>>859
>>854は「プログラミングで」って言ってるじゃん。
VBAだけとは一言も言ってないし、普通の職業プログラマは色々言語使えて当たり前だよね。

>>860
>桃白白が書いたコードについてこうしろって言う人の方がよほど独善的じゃん。
それはお前の中に拙いものがあって、それを指摘してるだけなの。
「コードさえ書けばいい」なんてのは勘違いの元だから考えを改めた方がいいと俺も思う。
コメント書けばいいってわけでもないが。
ようは、コーディングできるのは「当たり前」なの。
コーディングできた上で、コミュニケーションやドキュメンテーションも必要なの。
お前がそういうものを遮断するから、拗れてるの。
866デフォルトの名無しさん:2013/06/01(土) 19:35:33.19
お前の日本語も長いくせに内容は補足や継ぎ足しばっかりで、ろくなソースじゃないぞ。きっとプログラムも似たようなもんなんだろうな。
867デフォルトの名無しさん:2013/06/01(土) 20:00:07.38
おいパイパン、いいかげんにしとけよ
868桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 20:03:03.38
>>867
なにを?
869デフォルトの名無しさん:2013/06/01(土) 20:05:02.80
プロのプログラマーならどんな入力値でも落ちないプログラムを書くもんでしょ
で、相手が職業プログラマーだと勝手に思い込むって、資質的に問題あるんじゃないの?
870デフォルトの名無しさん:2013/06/01(土) 20:05:08.52
いい加減にスレ違いの発言を辞めよう。
プログラムで食ってようと何だろうと、未熟なものは未熟。
それを上から目線で指摘するんじゃなくて、誇りを持って優しく諭してやれよ。
871デフォルトの名無しさん:2013/06/01(土) 20:10:14.07
諭すってなんだよ。
対等でいいだろ。
872デフォルトの名無しさん:2013/06/01(土) 20:13:31.00
どれだけループさせれば気がすむの?
批判されるのが嫌ならコードを上げなければいい。
上げるのなら、批判は甘んじて受けろ。
873デフォルトの名無しさん:2013/06/01(土) 20:14:53.77
>>870
優しくないと思うのであれば他の掲示板行ってくれ
874桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 20:16:41.46
>>872
桃白白批判受けたよ。だからいんでしょ、それで。
875デフォルトの名無しさん:2013/06/01(土) 20:18:06.67
スレ違いの批判をしてスレを荒らすのは自由だ。
だげ、荒らすのなら自分に対する批判は甘んんじて受けろ。
876デフォルトの名無しさん:2013/06/01(土) 20:21:33.62
>>864
ん?正義か何かの為にやってるつもりなのかな?
877デフォルトの名無しさん:2013/06/01(土) 20:22:54.39
>>871
俺に噛み付くなよ…対等でもいいさ。
俺からしたらパイパンのコードは未熟とは感じないが、皆が未熟っていうならそうなんだろ、多分。
コメント云々言う人がいるが、>>1にもある通り『プログラマ用のスレ』である。
質問者がパイパンのコードを鵜呑みにして、ろくに調べずに運用しているとそいつの成長はそこで止まるって事。
そういう観点でいうと読みやすさとか求めるのはおかしいと思う、向上心がある質問者は自分で全部どうやって動いているのか調べるはずだしさ。

答えたい奴は、仮に質問者から解説を求められた時の備えは用意しておく必要がある(パイパンへのメッセージな、これ)
そういう意味では、コメント振らないって言うんじゃなくて、分かりづらい部分に振って上げるのが質問者への配慮だと思う。
自分以外分からない隠れたメッセージ何ていくらでもあるから、コードだけで語るんじゃなくて他の伝達も欲しいな。
俺はお前のコード好きだぞ、コメント無いからかな、読むのに燃えるぜw
878デフォルトの名無しさん:2013/06/01(土) 20:33:02.53
質問者からすれば回答者がプロだろうがアマだろうが関係ない。
問題にしているところがきちんと解決できればいいだけ。
質問者の最終目的と問題にしているところは必ずしも一致している訳じゃない。
最終目的=問題と短絡的に捉えている回答者に問題があると思う。
879デフォルトの名無しさん:2013/06/01(土) 20:33:09.10
>>877
そいつの成長がそこで止まるって、それで何か問題がそっちにあるの?
880デフォルトの名無しさん:2013/06/01(土) 20:36:06.20
おいおい、今度は読みづらいコードこそ学習者のためになるということにしたいようだぞ。
881デフォルトの名無しさん:2013/06/01(土) 20:37:24.11
新スレのテンプレでも議論してるのかと思ったら、なんだ、平行線の不毛なつつきあいか。
コーダーはスレ立ててきなって。
882デフォルトの名無しさん:2013/06/01(土) 20:40:28.61
>>879
いや、こっちには影響ないよ。
俺もだ、俺以外の奴がどうなろうと基本知ったことではないさ。
だからこそ、読めるようにコメント振れとしつこい人の考えが分からないよな。
与えられたコードをどうするかは質問者の自由だから、質問者とコードを上げた人の当事者二人でやり取りしろと思う。
部外者はそれに口を出すべきではなく、口を出すなら批判ではなく訂正や擁護で行う。
まぁ、色んな人がいるから理想論だけどな…。
883デフォルトの名無しさん:2013/06/01(土) 20:41:47.93
>>877
>>1★5にはこのスレのプログラマの定義が書いてある。
プロ、アマいるだろうからこの定義は妥当と思う。

> 質問者がパイパンのコードを鵜呑みにして、ろくに調べずに運用しているとそいつの成長はそこで止まるって事。

この時点で>>1★5のプログラマの定義から外れているわけだが。
客観的に見てクレクレ君にしか見えない。
884デフォルトの名無しさん:2013/06/01(土) 20:41:57.08
>>880
すまん、元は俺の勝手な意見だ。
ただ、読みづらいなら質問者が自分で読みやすくすればいいんだ、ここはそういうスレだろう?
885デフォルトの名無しさん:2013/06/01(土) 20:42:47.98
まだ指摘を批判と思ってる奴がいるのか。
886デフォルトの名無しさん:2013/06/01(土) 20:43:52.87
>>881
それができないからこうなってる。
887デフォルトの名無しさん:2013/06/01(土) 20:45:25.40
>>884
今回の質問者はパイパンのコードが善きものだと思ってしまうぐらいVBAの知識がなかったんだからそれは無理。
俺らが出来るのは、それをお手本にしちゃ駄目だといってあげるくらいしかない。
888デフォルトの名無しさん:2013/06/01(土) 20:48:00.91
>>883
クレクレ君は確かにな、ここに来る人はそういう人多そうだよな。
しかし、客観的に見てっていうのはあくまで個人の主観だしさ、俺からは今回の質問者は結構頑張って自分で解決しようとしていた動きがあったよ。
889デフォルトの名無しさん:2013/06/01(土) 20:49:23.84
>>883
ならプログラマー板でやるのが妥当だな。
>>1★5も消すのが妥当。
890デフォルトの名無しさん:2013/06/01(土) 20:50:13.33
>>887
いや、お前が正しいと思う回答をしてやれよ
出来ないのか?
891桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 20:50:38.88
>>887
「俺ら」というやつにろくなやつはいない。これ豆な。
892デフォルトの名無しさん:2013/06/01(土) 20:51:53.63
>>890
したよ。
悉く無視されたが。
893デフォルトの名無しさん:2013/06/01(土) 20:52:26.75
(なんか1人でたくさんレスしてる奴がいるな~)
894デフォルトの名無しさん:2013/06/01(土) 20:53:08.52
>>887
今は無理って事は俺にも分かるけど、質問者頑張っていた動きが見えたよ、>>887でも書いたけどさ。
今回は当事者二人以外の外野が騒ぎすぎてしまった感じがするんだけどな…。
895デフォルトの名無しさん:2013/06/01(土) 20:53:24.70
>>892
それは質問した人の役に立たなかっただけじゃないか?
回答者にその指摘をしたなら筋違いだぞ。
896デフォルトの名無しさん:2013/06/01(土) 20:55:50.05
>>892
なるほど、自分の回答が無視されたからもうパイパン叩くことしかできなかったと
ホント何やってんのお前
897デフォルトの名無しさん:2013/06/01(土) 20:55:58.59
>>894
質問者が頑張ってる姿勢を見せたからこそ、パイパンのコードを目指しては駄目だと言ったんだよ。
できました、ありがとう、で終わってたなら、俺も何も言わなかったよ。
898883:2013/06/01(土) 20:57:22.85
>>888
今回の競馬の質問者に限ってはそんな印象。
最終的には自分なりのコードでできたとか言ってたし。

クレクレ君が多い元凶はパイパンしか思いつかない。
899デフォルトの名無しさん:2013/06/01(土) 20:58:30.38
>>896
質問者が俺のコメントを無視したのは、多分知識不足で意味がわからなかったんだと思う。
別に無視されたからといって、なんとも思ってないよ。
900デフォルトの名無しさん:2013/06/01(土) 21:01:40.43
次スレ建てる時の提案なんだけど、>>1の★5を外してみないか?
問題があればまた復活させるとしてさ。
あの一文は影響力高すぎて、誰かが示したコードへの意見もやりづらくなる。
そのコードはこうすれば良くなる…という意見が『正解過ぎる場合』があるし、現状★5のせいで出せないからな。
901デフォルトの名無しさん:2013/06/01(土) 21:03:42.94
そもそも論で言わせて貰うと、クレクレ君が気に喰わなければ無視すればいいだけの筈だ。
実際、仕事で困った事に直面して取り敢えず急いで回答が欲しい者もいるだろう。
プログラムを勉強したい奴がどうのこうのとプログラマーの有り方を語りたいなら
プログラマー板でやれ。
902デフォルトの名無しさん:2013/06/01(土) 21:04:38.46
影響力が高いとも、そのせいでコードへの意見がやりにくくなるとも思わんが
外したければ外せば良いんじゃね
903デフォルトの名無しさん:2013/06/01(土) 21:07:25.93
>>901
そういうのはコード作成依頼スレとするのがいいと思うけど。
904デフォルトの名無しさん:2013/06/01(土) 21:08:21.23
>>899
なるほど、質問者のレベルを見誤って回答を無視されたのはなんとも思ってないけど
質問者のためにはもうパイパン叩くしかないと
905デフォルトの名無しさん:2013/06/01(土) 21:12:00.63
>>900
>誰かが示したコードへの意見もやりづらくなる
コードが出しにくくなるってならわかるが、出したコードへ意見しにくくなる?
だったらなんで桃白白のコードがこんなに叩かれてるんだよ

なんだかんだ言ってテンプレ変えたいだけなんじゃないのか
906デフォルトの名無しさん:2013/06/01(土) 21:14:33.03
とは言え今こんな状況であれば確かに1度変えて見るのもいいかもな
907デフォルトの名無しさん:2013/06/01(土) 21:14:45.95
>>904
パイパンのコードが酷いということが叩くということになるんだとしたら、そうなるね。
908デフォルトの名無しさん:2013/06/01(土) 21:15:04.07
うざいから立てておいた。

Excel VBA 質問スレ Part30
http://toro.2ch.net/test/read.cgi/tech/1370088822/
909デフォルトの名無しさん:2013/06/01(土) 21:17:20.27
これはひどい
910デフォルトの名無しさん:2013/06/01(土) 21:18:38.51
また基地外早漏>>1か。
911デフォルトの名無しさん:2013/06/01(土) 21:19:30.62
たぶん、どうしてもテンプレ変えたくない奴と、どうしてもテンプレ変えたいやつがいるんだろうけど
正直どうでもいいわ
912デフォルトの名無しさん:2013/06/01(土) 21:20:46.19
>>905
テンプレ変えたいさ、そうしないとまた荒れるしなぁ。
パイパンがここまで叩かれているのは、ここのVBAが詳しい人達の意見を無視してた事だよ。
もう少し何とかならないかと思うけど、人の事だし、性格を悪くいう気はないしな。
別に俺は自治を気にしてないし、でも好きなスレだし荒れると面倒なんだ。
変な意味はないぞ~。
913デフォルトの名無しさん:2013/06/01(土) 21:23:11.33
なんでパイパンのこと悪くいうのさ、って頑張ってる奴が飽きれば、
すぐに落ち着くと思う。
914デフォルトの名無しさん:2013/06/01(土) 21:24:06.04
>>913
いつもそれで落ち着いてるしね。
915デフォルトの名無しさん:2013/06/01(土) 21:25:05.17
上から重ねて立ててそっちに誘導すればいいんじゃね?
重複スレの場合、プログラム板は大概自治に任されるし。
916デフォルトの名無しさん:2013/06/01(土) 21:27:27.14
別にこのままでいいよ。
★5だから却下とかしつこくいう奴が出現しなけりゃ、今までも柔軟に運用されてきたんだからさ。
917デフォルトの名無しさん:2013/06/01(土) 21:28:42.48
次スレもまたこんな感じで荒れるのか・・・
918桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 21:29:53.05
>>917
いやだよね、何が原因なんだろうね・・・
919デフォルトの名無しさん:2013/06/01(土) 21:30:40.22
まっとうな批判を受け付けない人と、まっとうな批判に見せかけて
自分の意見を押し通そうとする奴がいる限り、荒れるのは止められない
920桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 21:32:31.07
>>919
止められないのならしょうがない。
921デフォルトの名無しさん:2013/06/01(土) 21:33:29.33
>>920
お前が言うな
922デフォルトの名無しさん:2013/06/01(土) 21:36:06.92
>>919
一人ぬけてるよ。
真っ当な批判をするやつを叩く奴がいると荒れる。
923デフォルトの名無しさん:2013/06/01(土) 21:37:19.71
もうぐちゃぐちゃだねw
924デフォルトの名無しさん:2013/06/01(土) 21:39:23.42
まあ、パイパンのコードに触ったら酷いことになるというのが今いる奴は
身にしみただろうから、次スレからは改善されるだろう。
925デフォルトの名無しさん:2013/06/01(土) 21:40:24.29
>>922
叩かれてる自覚はあるのかw
926デフォルトの名無しさん:2013/06/01(土) 21:51:39.41
>>924
パイパンに触れた時点で酷いことになるのが身にしみて分かったわ
927桃白白 ◆9Jro6YFwm650 :2013/06/01(土) 22:34:52.67
>>924
そんなことないよ

>>926
そんなことないよ、桃白白のこと嫌いになったわけじゃないでしょ?
桃白白はみんなと仲良くやって行きたいしさ。これからも返信してくれたらいいよ。
桃白白それちゃんと読むから。ちなみにだけど、これ桃白白。
http://blog-imgs-11.fc2.com/c/l/o/closetofantasy/20070731211547.jpg
928デフォルトの名無しさん:2013/06/01(土) 22:36:25.60
どうみてもGARNET CROWです…
929デフォルトの名無しさん:2013/06/01(土) 22:38:40.37
荒れてる原因は、犬どもによる桃白白叩き。それしかない。

桃白白の発言だけ抜き出しても「なんで叩かれなきゃいけないの?」としか思わない。
どっちの側にもついてない人、俺以外にいたら誰か判定してくれよ。

この期に及んで桃白白への人格攻撃を連打して、「コードのここがおかしい」とか議論すらなし。
あったとしても「コードはおかしいが、指摘するレベルにもたっしてない」とかいう意味不明なレベルwww
930デフォルトの名無しさん:2013/06/01(土) 22:45:40.34
>>929
具体的な指摘はあっただろ
931デフォルトの名無しさん:2013/06/01(土) 23:05:04.86
Excelは人間向けに作られている
効率のみをひたすら考えてVBAで膨大な処理するにはシートのセルの数が少なすぎると思った
シート1000シートに分割使用としたけど動かなくなった
おわり。
932デフォルトの名無しさん:2013/06/01(土) 23:18:14.43
試しにシート5000枚くらい作ってみたけどふつーにできた
933デフォルトの名無しさん:2013/06/02(日) 00:09:57.46
つまり「分割処理」の中に何か問題があるかもだ。
934デフォルトの名無しさん:2013/06/02(日) 00:26:11.60
今のエクセルって1シートで100万行、1600列以上だぞ
それでセル数足らんようなら、ちゃんとしたデータベースの使用を考えるべきだな
935デフォルトの名無しさん:2013/06/02(日) 00:47:35.55
Excel5.0とかの話かもしんない
936デフォルトの名無しさん:2013/06/02(日) 00:52:04.62
>>928
おれは宮崎あおいかと
937デフォルトの名無しさん:2013/06/02(日) 00:55:11.98
>>932
その全部にデータを入れたら激重になりそう
938デフォルトの名無しさん:2013/06/02(日) 01:24:06.29
accessでやれ
939デフォルトの名無しさん:2013/06/02(日) 03:26:42.89
次の質問どうぞ
940522:2013/06/02(日) 16:30:15.35
スレッドが荒れた元凶だったので登場しませんでした。申し訳ありません。
桃白白さん、またアドバイスくれた方、本当にありがとうございました。
941デフォルトの名無しさん:2013/06/02(日) 16:38:36.29
>>929
同意
桃白白叩いてるやつって、みんなで何かしようってときにひたすら重箱の隅をつついて
結局自分は何もしないで周囲の足を引っ張るだけのやつと行動が同じ
リアルでやってハブられて孤独なのかもしれないが端から見て見苦しい
942デフォルトの名無しさん:2013/06/02(日) 16:43:16.85
>>941
消えかけた火に油を注いだつもりだろうがそうはいかんぞ
943デフォルトの名無しさん:2013/06/02(日) 17:03:26.45
>>941
逆だな。
みんなで何かをしようとしてるときに、一人だけ別行動を取って和を乱すのがパイパン。
944デフォルトの名無しさん:2013/06/02(日) 17:39:09.60
>>943
確かにそう。
周りに気遣う配慮がないから、周りもパイパンに気遣わずにスレートに言ってるわけなんだけどね。
945デフォルトの名無しさん:2013/06/02(日) 17:52:54.95
>>943
>みんなで何かをしようとしてるときに、一人だけ別行動を取って和を乱すのがパイパン。

なんかしようとしてたのか?wwwwww
活動してるリア充桃白白に嫉妬してるヒキコモリが叩いてるだけだろう
946デフォルトの名無しさん:2013/06/02(日) 18:03:05.24
>>945
いい加減バレバレだからコテハンつければ?w
こういうレスをするときだけ名無しにしてるんでしょ。
947桃白白 ◆9Jro6YFwm650 :2013/06/02(日) 18:07:46.99
>>945
群れる男子ってマジキモいよねwww

女子に聞く、群れる男子は好きですか?「YES 12.8% ドロドロしてなさそう」 | ニコニコニュース
http://news.nicovideo.jp/watch/nw631260
948デフォルトの名無しさん:2013/06/02(日) 18:23:17.79
>>946
はぁ????
おまえが活動しないっていう敢然たる事実を指摘しただけだが。

桃白白が他の連中と違うベクトルでコード書いてるならわかるが、
書いたのは桃白白1人だろ。

それを「みんなが行動してる時にぃ~」ってアホかおまえ
949桃白白 ◆9Jro6YFwm650 :2013/06/02(日) 18:49:22.64
>>948
かんぜんじゃなくてげんぜんな。厳然。厳然たる事実。
950デフォルトの名無しさん:2013/06/02(日) 18:59:12.79
コミュニティの否定か
だからやっぱり白桃はアドレス欄にメール入れて「無料でExcel VBAコード作製します」とでも触れ回ってろよ
951デフォルトの名無しさん:2013/06/02(日) 19:03:41.91
>>948
コードを書いてるのがパイパン一人なのが、まさに和を乱している証拠なんだよ。
異論反論はあるが、このスレは>>1★5にもあるように、質問に対して完全なコードを
与えるスレではない。そうやっているのはパイパンただ一人だ。
952デフォルトの名無しさん:2013/06/02(日) 19:04:31.74
色々言ったけどタオパイさんやっぱ憎めない性格だわ
>>948は違う人なんだよね?w
953デフォルトの名無しさん:2013/06/02(日) 19:14:29.67
コード書きたいだけなら余所のスレでやってくれんかな。
ここ、コードクレクレスレじゃなくて質問に回答するスレだし。
954デフォルトの名無しさん:2013/06/02(日) 20:30:33.27
回答スタイルに文句つけてる人は、別スレ立ててそこで論議してくれ
回答内容を批判されるのが嫌な人は回答しないでくれ
955デフォルトの名無しさん:2013/06/02(日) 20:33:25.05
>コード書きたいだけなら余所のスレでやってくれんかな。
いや、だから、今回の質問者(競馬野郎)がたまたまコード書かないと解決しないような問題だっただけだろ。
他に「コードください」って質問してきた奴いるか?

っていうか「そもそもBOOK上げろ」って言ってたのは桃白白じゃない。
桃白白はBOOK論争の時は出現すらしてなかったろ。
で、競馬野郎が、BOOKあげたら、桃白白が現れてコード書いたんだよ。

そしたら、わけのわからん連中が桃白白をわーって叩きはじめた。
956デフォルトの名無しさん:2013/06/02(日) 20:36:34.60
別にコードで回答したっていいだろ
全部教えるとそいつのために~とか言い出す奴は
本気で質問者心配してるならスカイプでも繋いで
解決するまでみっちり教えてやれよw
957デフォルトの名無しさん:2013/06/02(日) 20:38:58.24
>>956
そうしたいなら別スレ立ててやれと何度言われればわかるんだ?
958デフォルトの名無しさん:2013/06/02(日) 20:47:16.06
ここは学校じゃないし質問者は勉強しに来てるとは限らない
答えだけが欲しいことだってあるし、なんでそれが否定されるのかわからない

「質問スレ」って何?みたいな根源的な話を今さら始められてもなあ
959デフォルトの名無しさん:2013/06/02(日) 20:48:18.83
自治厨まじきちだなw
960デフォルトの名無しさん:2013/06/02(日) 20:52:43.00
コードで回答したいならすればいいよ
それをかたくなに否定してるのは一人だけだし

コードで回答するのが是か非かの論議は別スレでやってくれ
961デフォルトの名無しさん:2013/06/02(日) 20:57:10.54
スレのルールが気に入らないなら、横紙破りするんじゃなくてまずルール改正を
提案するのが大人の態度ってもんじゃないかね。
962デフォルトの名無しさん:2013/06/02(日) 20:59:36.82
内容を批判されても暴れなければ、コードで解答してもいいと思うよ。
963デフォルトの名無しさん:2013/06/02(日) 21:00:23.31
>>955
あの程度で「コードを書かないと解決しない」とかどんだけだよお前・・・
964デフォルトの名無しさん:2013/06/02(日) 21:03:33.27
>>963
桃白白叩きするやつってなんで安易に人格攻撃するん?
そういう腐った態度が結果的に反感買ってるっていう自覚はないの?
965デフォルトの名無しさん:2013/06/02(日) 21:03:41.90
文章で説明するよりコード書いた方が早いわ
966デフォルトの名無しさん:2013/06/02(日) 21:07:33.77
わけの分からん連中とか腐った態度とか、そういう言葉遣いが反感をかってるという
自覚は無いんでしょうか。
967デフォルトの名無しさん:2013/06/02(日) 21:07:51.85
桃白白叩いてるアホって2,3人くらい?
968デフォルトの名無しさん:2013/06/02(日) 21:09:54.59
>>965
ただ結果として、今までそうやってきたのは、ほぼパイパン一人なんだよね。
969デフォルトの名無しさん:2013/06/02(日) 21:14:06.20
>>955
ちゃんとスレの流れ読めよ。
パイパンがコードをアップしても質問者は「助かるけど解決にならない」っていってたんだけど。
その後結局レースごとの頭数が違うからどうやったらいいかわからないって話になった。
一レースのランク付けとマーク付けは自分なりのコードができているってことだったから
回答者が複数のレースの位置、頭数を出力するコードを提供したんだよ。

この時点で話が終わってるにもかかわらず、パイパンが流れを読まずダメダメなコードを提示したから荒れたんでしょ。
他人の提示したコードがおかしいと思ったら聞けばいいのに聞かないんだよな。
パイパン本人はコードの議論したいと言ってるのに、不思議なんだよ。
こういうのを踏まえるとコードの議論じゃなくて

パイパンが書いたコードの議論をしたい。

としか理解できない。
970デフォルトの名無しさん:2013/06/02(日) 21:14:46.48
糞コードに対して糞コードだって言うのが叩くということならかなりの人数いると思うが
971デフォルトの名無しさん:2013/06/02(日) 21:16:07.47
>>969
荒れたんじゃなく荒らしただろw
すぐ他人のせいにするのがお前の悪いクセだw
972デフォルトの名無しさん:2013/06/02(日) 21:22:50.25
>>971
ん?原因はパイパンのコードしかないのだが。
燃料がなければ荒れることもない。
973デフォルトの名無しさん:2013/06/02(日) 21:23:05.39
>>540で実は話は終わってたんだよな。
今もう一回そのページ見に行ったら、ダメコード例として、まさパイパンライクなコードが
示されててワロタ。
その後で、Excelに精通していない人からVBAを習ってはいけませんと赤字で強調されてて、
さらにワロタ。
974デフォルトの名無しさん:2013/06/02(日) 21:26:51.93
要するに白桃のオナニー用にスレが使われたくないのか
白桃はオナニー禁止だばか野郎
975デフォルトの名無しさん:2013/06/02(日) 21:27:09.38
パイパンって言語名みたいだな
976デフォルトの名無しさん:2013/06/02(日) 21:27:22.97
白桃専用すれ立ててこい
977デフォルトの名無しさん:2013/06/02(日) 21:29:09.33
あ、それでいいです
978デフォルトの名無しさん:2013/06/02(日) 21:30:40.77
'---ここまで平行線

'---ここからも平行線
979デフォルトの名無しさん:2013/06/02(日) 21:35:28.44
>>974
いつもパイパンのコードを見るとパイパンのオナニーを見た気になってしまって気が滅入るんだよな。
それが朝だったりするとその日はブルーになる。
980デフォルトの名無しさん:2013/06/02(日) 21:38:32.82
>パイパンが流れを読まずダメダメなコードを提示したから荒れたんでしょ。

なんで いちコテハンがコードを提示すると荒れるんだよ。
お前の頭はチンパンジーか?w
981デフォルトの名無しさん:2013/06/02(日) 21:42:17.59
>>980
コテハンがコードを提示すると荒れるなんて一言も書いてないぞ。
コテハンじゃなくても流れを読まずダメダメなコードを提示すれば同じ事になる。
982デフォルトの名無しさん:2013/06/02(日) 21:43:14.12
駄目じゃないと言い張ったから荒れたんだよ。
983デフォルトの名無しさん:2013/06/02(日) 21:53:18.89
名無しがダメコード晒したところで単発で叩かれておしまいだけど
コテハンが毎度ダメコード晒してたら荒れそう
984デフォルトの名無しさん:2013/06/02(日) 22:00:46.26
この板でコテハン叩き大好きといえばseikyou.ne.jpさん
ただ一人に決まってるだろ。過去の実績が物語る。
985デフォルトの名無しさん:2013/06/02(日) 22:26:49.64
どこの誰か知らない人が質問してどこの誰か知らない人が回答してなにか困るの?
ウンココードだろうが質問者が喜んでるんだからほっときゃいいじゃん
そんなにソースコードレビューがしたいならお金もらったやったほうがいいんじゃないの?
986デフォルトの名無しさん:2013/06/02(日) 22:29:23.26
まだやっているのか、いい加減にしろよ。
もうお前ら全員荒らしだよ、質問スレ云々言っている奴居るけど、質問しづらい雰囲気作っている限り全員荒らし。
次スレじゃこんな事が無いようにしようぜ、パイパンが何しようといいじゃねーか。
一応人の役立っているっぽいし汚くて気に入らないコードを提示しても質問者が良いといえばいいんだ、後悔するのは自分だしよ。
次スレのルールに誰でも自由に書き込めるロダで指定するんだな、そしたら誰でも訂正出来るだろう。
987デフォルトの名無しさん:2013/06/02(日) 22:31:10.66
毎回論争のタネになるテンプレは次こそ直しとけよ
988デフォルトの名無しさん:2013/06/02(日) 22:32:55.73
>>986
例えばどこロダ?wikiみたいに誰でも編集できるの?
989木兆臼臼臼臼:2013/06/02(日) 22:34:42.81
技術者の端くれならコードで語れよ
990デフォルトの名無しさん:2013/06/02(日) 22:35:57.94
>>985
パイパンオナニースレになってるのが困ってる最大の理由かなw
ピンク板みたいなネーミングだw
991デフォルトの名無しさん:2013/06/02(日) 22:36:36.13
Excel VBA コードくれくれやるやるスレ Part1
http://toro.2ch.net/test/read.cgi/tech/1364689772/1-100
992デフォルトの名無しさん:2013/06/02(日) 22:39:33.27
>>988
パイパンも使ってるけど、Friendpasteが良いんじゃないか。
軽いし、コード専用だから使いやすいと思う。
993デフォルトの名無しさん:2013/06/02(日) 22:39:59.02
じゃあ、次スレからはコードで解答するのは自由、そのコードにケチ付けるの禁止でいいな?
994デフォルトの名無しさん:2013/06/02(日) 22:40:56.24
>>993
パイパンが湧くからノー
995デフォルトの名無しさん:2013/06/02(日) 22:42:11.65
パイパンのコードがダメダメだったら、もっといいコードをうpれば問題なし
996デフォルトの名無しさん:2013/06/02(日) 22:44:11.05
>>995
そもそもパイパンありきになってるし、全コード書く必要ないし。
コード書けるのなら日本語かけるでしょ。
997デフォルトの名無しさん:2013/06/02(日) 22:48:39.51
>>993
賛成だ
回答にコードをもらって困る人はいないし
ぶっちゃけ本音ではヒントやうんちくよりも
ズバリのコードを書いて欲しいという質問者がほとんどだろう
998デフォルトの名無しさん:2013/06/02(日) 22:48:54.11
>>996
だから、ケチ付けると荒れるから、コードで示せってこと
999デフォルトの名無しさん:2013/06/02(日) 22:51:11.73
パイパンに取ってはレビューしてもらえる機会がなくなるけど、自分のコードは至高のコードだと思ってるから問題なし
1000デフォルトの名無しさん:2013/06/02(日) 22:51:38.88
おわり
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。