Excel VBA 質問スレ Part31
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN★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 質問スレ Part30
http://toro.2ch.net/test/read.cgi/tech/1370088822/
関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0002デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN02 http://pc11.2ch.net/test/read.cgi/tech/1168308855/
03 http://pc11.2ch.net/test/read.cgi/tech/1180192018/
04 http://pc11.2ch.net/test/read.cgi/tech/1189814602/
05 http://pc11.2ch.net/test/read.cgi/tech/1197448064/
06 http://pc11.2ch.net/test/read.cgi/tech/1205231499/
07 http://pc11.2ch.net/test/read.cgi/tech/1212587819/
08 http://pc11.2ch.net/test/read.cgi/tech/1219673793/
09 http://pc11.2ch.net/test/read.cgi/tech/1228372971/
10 http://pc12.2ch.net/test/read.cgi/tech/1235332603/
11 http://pc12.2ch.net/test/read.cgi/tech/1241885130/
12 http://pc12.2ch.net/test/read.cgi/tech/1247566074/
13 http://pc12.2ch.net/test/read.cgi/tech/1254281104/
14 http://pc12.2ch.net/test/read.cgi/tech/1262748898/
15 http://pc12.2ch.net/test/read.cgi/tech/1271261239/
16 http://hibari.2ch.net/test/read.cgi/tech/1280045912/
17 http://hibari.2ch.net/test/read.cgi/tech/1289182437/
18 http://hibari.2ch.net/test/read.cgi/tech/1298240666/
19 http://hibari.2ch.net/test/read.cgi/tech/1305754555/
20 http://hibari.2ch.net/test/read.cgi/tech/1312435844/
21 http://hibari.2ch.net/test/read.cgi/tech/1316931607/
22 http://toro.2ch.net/test/read.cgi/tech/1322400978/
23 http://toro.2ch.net/test/read.cgi/tech/1327763113/
24 http://toro.2ch.net/test/read.cgi/tech/1334305148/
25 http://toro.2ch.net/test/read.cgi/tech/1341722983/
26 http://toro.2ch.net/test/read.cgi/tech/1345363310/
27 http://toro.2ch.net/test/read.cgi/tech/1353842387/
28 http://toro.2ch.net/test/read.cgi/tech/1359607536/
29 http://toro.2ch.net/test/read.cgi/tech/1364689772/
0003デフォルトの名無しさん
2013/08/13(火) NY:AN:NY.AN0004デフォルトの名無しさん
2013/08/14(水) NY:AN:NY.AN毎回必ずエラーになるわけではなく、たまに上手くいく時もあったりして再現性はあやふやだけど。
Worksheets(SheetA).Rows(RowA).Copy Destination:=Worksheets(SheetB).Rows(RowB)
しょうがないから下記に書き直したらエラーは全く出なくなった。
Worksheets(SheetA).Rows(RowA).Copy
Worksheets(SheetB).Rows(RowB).PasteSpecial
なぜ?
0005デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANどんなエラーメッセージが出てるのか分からないと何も答えられないんじゃないかな?
個人的にExcel2010の環境がないから回答できないけど。
0006デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN「オブジェクトは、このプロパティまたはメソッドをサポートしていません」
と出て処理が止まってしまう。でも、実際にSheetBを見るとちゃんと指示通りにCopyが出来ている。
0007デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0008デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANフォーマットが違ってるブックやシート混在してて、
2002と2010の最大行列の違いでエラーはいてるとか・適当だけど。
0009デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0010sage
2013/08/15(木) NY:AN:NY.AN数人のメンバーが週間行事予定を「予定表.xls」に記入し、
マクロ実行で同じフォルダ内にある「週間予定表.xls」に転記、
上書きされ共有予定表を作成したいです。
予定表原紙にしか記入はしません。
A 日時
B 内容
C 参加者
D 備考
といった感じに記入します。
記入行数はA4〜G10まで、ただし数値は週によりバラバラです。
コピーマクロを使用すると、罫線までコピーされてしまいました。
どのようなマクロを組んだら良いかご教示頂けませんでしょうか?
0011デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0012sage
2013/08/15(木) NY:AN:NY.ANありがとうございます。だいたいやりたいことはできました。
ただ、最終行に追記できないのでここの分を少々悩んでみます。
0013デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.AN0014sage
2013/08/15(木) NY:AN:NY.AN個人用と共有用ではファイルを分けなければならない事情があるので
共有と参照では困るんです。
0015デフォルトの名無しさん
2013/08/15(木) NY:AN:NY.ANよく分からんが頑張って
0016片山博文MZパンク ◆0lBZNi.Q7evd
2013/08/15(木) NY:AN:NY.AN罫線なしで貼り付けできます
0017デフォルトの名無しさん
2013/08/16(金) NY:AN:NY.AN同じブック内でのシート間Copyの際に>>4のエラーが出ます。
SheetAもSheetBも最大行列数は同じで、1-66536、A-IV です。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1270787107
↑似たようなところでエラー出してたこの人は結局解決したんだろうか。
こっちの回答のようにDestinationを略して書いてもエラーは出る。
0018デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANAccess2013にしたら動かなくなったと報告が。。。
今その環境が無くて確認も何もできなくて色々ぐぐってみたんだけど、
Access2013環境に対しては、
『Microsoft.ACE.OLEDB.12.0』が使えなくなったの?
0019デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANそりゃさすがにMSに聞かないと分からん事象じゃないの・・・
逆に、なんで2chで聞こうと思ったの?
0020デフォルトの名無しさん
2013/08/20(火) NY:AN:NY.ANレスありがと。
実際は別の理由バグが起きてるのかもしれないけど、
ここ(d.hatena.ne.jp/dojum/20130530)に
それっぽいことが書かれてて。
裏付けしようとMSDNも見てみたんだけど、
それっぽいのが見つからなかったんだ。
で、同じ事象にあった人がいないかなぁと思って、
聞いてみた。
0021デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN例えばA1に『おはよう』と入ってたとして、A6に『おやすみ』が入ってます。
その間最初の文字が半角スペースなのか判断する方法ありますか?
おはようとおやすみにはスペースは入りません。
おはようとおやすみは必ず決まった文章ですが、中の文字列は毎回変更します。
行数も変わります。
よろしければご教授お願いします。
0022デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANすいません追記です
『おはよう』と『おやすみ』は決まった文章と書きましたが、『おはよう!』の時もあれば『今日もおはよう』の時もあります。
必ずおはようという単語が入ってますが、前後の文章が変わることもあるので決まった文章とはいえませんでした。
大変申し訳ありません。
0023デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0024デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANVBA 文字 半角 全角
で検索すれば答えが出て来るだろ(適当
0025デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN> 例えばA1に『おはよう』と入ってたとして、A6に『おやすみ』が入ってます。
> その間最初の文字が半角スペースなのか判断する方法ありますか?
『おはよう』、『おやすみ』の文字列を検索するならInStr関数で対応できる。
最初の文字が半角スペースなのか判断するのもInStr関数で対応できる。
0026デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANいまいち文意がよくわからんけど、適当に解釈して糞コード書いたぞ
Sub 判定()
Dim r As Long, r1 As Long, r2 As Long
r1 = 0
r2 = 0
For r = 1 To 65536
If InStr(Cells(r, 1), "おはよう") <> 0 Then r1 = r
If InStr(Cells(r, 1), "おやすみ") <> 0 Then r2 = r
Next r
If r1 = 0 Or r2 = 0 Then
MsgBox "ちゃんと挨拶しろ"
Exit Sub
End If
For r = r1 + 1 To r2 - 1
If Cells(r, 1) <> "" Then
If Left(Cells(r, 1), 1) = " " Then
MsgBox "半角スペースだっつの"
Else
MsgBox "半角スペースじゃねっつの"
End If
Exit Sub
End If
Next r
End Sub
0027デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN仕様も分からないのにコード書くとはアホかと。
0028デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0029デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN自ら糞コードというコードを書き込むなよ。
胸糞悪い。
>>28
別にコード書けって言われてるわけじゃないんだから無理する必要はないだろ。
0030デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0031デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANコードを書くことで「俺はこう解釈した」ということが明確になるんだから、お前より100倍まし。
0032デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANこれぐらいの仕様なら、日本語でやるよりコードで議論した方が確実。
0033デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0034デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN>>32
スレのルールを守れないような奴が糞コード書いて議論なんて呆れたものなんだが。
0035みんな憧れの桃さん
2013/08/21(水) NY:AN:NY.AN雑魚はすっこんでろ
0036デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN荒らしたいの?
0037デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN議論に入れないからって、拗ねるなよ (w
0038デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN議論頑張ってなw
003921
2013/08/21(水) NY:AN:NY.AN分かりやすいようにおはようとおやすみにしたけど余計混乱させてしまったようだ
interfaceFastEthernet1
_ip address 10.0.0.1 255.255.255.255
_no shutdown
!
(アンダーバーはスペース)
こうなってるかをチェックするツールを作りたかったんです。
FastEthernetの部分はGigaEthernetになることもあるし、Configデータを外部からテキストファイルで読み込んでいるためデータによってはA1、A6ではないことも有り得ます。
実際はB5〜B500までにデータを読み込ませています。
もし最初の文字が半角スペースじゃない時は同じ行のE列に×を表示させたかったんです。
本当に日本語が不自由で申し訳ありません。
0040デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0041デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN社会人なら上司にその日本語を添削してもらえ
学生なら教師にその日本語を添削してもらえ
で、その結果を書き込んでくれ
頼む
0042デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANこれ以上どこが疑問なのか?
0043桃白白 ◆9Jro6YFwm650
2013/08/21(水) NY:AN:NY.ANふつうの日本語だね。桃白白的にはお前の読解力のほうがやばくない?
0044デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANで、どこまで分かってて何で困ってるんだ?
分かっただろうが丸投げは荒れるんで勘弁な
0045桃白白 ◆9Jro6YFwm650
2013/08/21(水) NY:AN:NY.AN教授でも教示でもどっちでもいいよ。教えてほしいってことだろ。
お手紙に草々と書かれていたら俺の頭頂部は決して雑草じゃないが!!と怒り狂うタイプ?
お手紙は心で読むものなんだよ。どういうお気持ちでこのお手紙をお書きになったんだろうかと
思いを馳せながら読むものなんだよ。そうすればクロヤギさんの悲劇も起きなかったんだよ。
知ってる?クロヤギさんお手紙読まずに食べちゃったんだって。おいしいのかな?
004621
2013/08/21(水) NY:AN:NY.ANやりたい事は簡単に言うとテキストファイルで書いたconfigデータの階層チェックです。
・現在出来ていること
テキストで書いたをConfigをExcel読み込ませてB5〜B500に表示させる事。
・したい事
読み込ませたB5〜B500にある文字列の内、どこかの行にある"interface"という単語がある行から、その後にある"!"!までの間にある文字列の最初の文字が半角のスペースであるかの判断をしたい。
しかし、interfaceがある行と!のある行最初の文字がスペースではなくてよい。。
interfaceと書いてある行は複数あり、!が書いてある行も複数ある。
その複数のinterface〜!間の階層をチェックしたい。
>>26さんの書いてくれたコードを応用して明日学校で試してみます。
本当に申し訳ありません。答えてくれた皆様ありがとうございました。
今度質問するときは日本語を勉強して来ます・・・。
0047デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN誤用厨と一緒にすんな
「伝わればいいよ」
みんなそれで済ませちゃったら彼は"教授"を使い続ける事になる
小さな恥を積み重ねていくならここで指摘された方がマシだろ
0048デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN※正規表現の記述は適当。勉強してね。
0049デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN判断に必要なのは一行なのか複数行になるのかすら分かりかねる。もはや才能だ。
0050桃白白 ◆9Jro6YFwm650
2013/08/21(水) NY:AN:NY.AN別に間違いじゃないよ。間違いじゃないから恥じゃないよ。
恥じゃないから指摘する意味ないよ。恥を積み重ねているのはあなたなんですよ。
0051デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANConfigはExcelの機能ではなくVBAのOpenステートメントとかでロードしたの?
だったらロード時に一緒にやっちゃった方が効率良いね
0052桃白白 ◆9Jro6YFwm650
2013/08/21(水) NY:AN:NY.ANそう?わかりやすいと思うけど。どうして日本語苦手みたいだね?
0053デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN「この行はxxがスペースだから○」
「この行はxxがスペースだけど、次に出現する!が云々だから×」
とか書いた方が早い。
※サンプルデータは実際のデータではなく適当な文字に置き換えた意味のないデータにするんだよ。
0054デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0055桃白白 ◆9Jro6YFwm650
2013/08/21(水) NY:AN:NY.ANご飯食べるときにご飯にお箸を突き立てて手を合わせてお参りしてそう。
0056デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN半角スペースである必要のある行は列を一つ右(C列)にずらしてロードすればよくね
0057桃白白 ◆9Jro6YFwm650
2013/08/21(水) NY:AN:NY.ANそれは無茶だろう。パンを食べずにケーキ食べればよくねとアンネフランクが言うようなもの。
ギロチンものですわ。
0058デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0059デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANそもそもお前に言ったんじゃないしスレチだし間違いじゃない根拠挙げないし
挙句、人格攻撃とは何も変わってねぇな
006021
2013/08/21(水) NY:AN:NY.AN>>48
ありがとうございます。
明日学校で試してみます!
>>49
本当に自分が嫌になるくらい説明下手ですいません。
複数行になります。interface〜!以外では最初の文字がスペースということは有り得ません。
interface FastEthernet1
ip address 〜 ×
_ no shutdown
!
interface GigaEthernet1
_ip address 〜
_〜〜〜
〜〜〜 ×
_ no shutdown
!
このような物が複数並んでいてその全てを判断したいです。
>>51
そうです。
openステートメントで読込させてます。
一緒にできるんでしょうか?
>>53
なるほど!段階を踏んで考えて行けば出来るかもしれません!
ありがとうございます。
>>54
それも考えたのですが、Excel上で手直しをしてそのまま出力をさせたいのでセルをずらすと出力時困るかなっと思ってこの状態になってます。
0061桃白白
2013/08/21(水) NY:AN:NY.AN根拠ってなんの根拠だ?あ?
何被害者ぶってんだバーカ。
スレ違いだと思うんならどうでもいい揚げ足取りすんなよw
0062デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.ANSub a()
b = 5 ' 5行目から探す
' まずinterfaceを探す
Do While InStr(Cells(b, "B"), "interface") = 0 And b < 500
b = b + 1
Loop
If b >= 500 Then
MsgBox ("interfaceが見つからない")
Exit Sub
End If
' 次に ! を探す
c = b + 1 ' interfaceの次の行から
Do While Cells(c, "B") <> "!" And c < 500
c = c + 1
Loop
If c >= 500 Then
MsgBox ("!が見つからない")
Exit Sub
End If
' 両者の間でスペースを調べる
For i = b + 1 To c - 1
If Left(Cells(i, "B"), 1) <> " " Then
MsgBox (i & "行目にスペースがない")
Exit Sub
End If
Next
MsgBox ("チェックOK")
End Sub
0063桃白白
2013/08/21(水) NY:AN:NY.AN誤用厨じゃないと大嘘ついたのが間違いだよね。完全に誤用厨じゃねえかw
0064桃白白
2013/08/21(水) NY:AN:NY.AN0065デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN0066桃白白
2013/08/22(木) NY:AN:NY.ANトリップつけてない奴にトリップつけろと言われてもトリップ付ける気になりませんなー。出直してこいよw
0067デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANなんではずしたの?酉と箍
0068デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANなぜ一回ぶんww
あとは自力でやらないと身にならないよキリッってこと?
イケメン過ぎ抱いて/////
0069デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANどうせ一回分しか作れないのに初心者に偉ぶりたいんだろ
黙っててやれよ
0070桃白白
2013/08/22(木) NY:AN:NY.AN読めねえよ。常用漢字外はカタカナで書くのが常識だろ。
ひらがなで書け。
0071デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0072桃白白
2013/08/22(木) NY:AN:NY.ANぇ・・・知らない。もう寝るよ!!
0073デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0074デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANE5セルに↓を入れて、あとはE500までざっとオートフィルして、さっさと仕事を終わらして帰っちゃうけどなぁ
=IF(OR(ISNUMBER(FIND("interface",$B5)),ISNUMBER(FIND("!",$B5)))=FALSE,IF(LEFT($B5,1)<>" ","×",""),"")
0075デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANinterfaceより前と、 ! より後の行でもヒットするから失格
0076デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN説明下手なんだよクソ上司〜ぃ
0077デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN言ってたよ。人のせいにするのいくない。
0078デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN>ip address 〜 ×
>_ no shutdown
>!
>interface GigaEthernet1
>_ip address 〜
>_〜〜〜
>〜〜〜 ×
>_ no shutdown
>!
>このような物が複数並んでいてその全てを判断したいです。
文字通りに読むなら
interfaceより前と、 ! より後は、既にCUT済みのサンプルって事じゃねーの?
0079デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0080デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANまぁ、たぶん現実的には>>75が正解なんだろうけど、
サンプルにinterface〜!以外の行が余計に引っ付いてるとは一言も書かれてないし、
"interface〜!以外では最初の文字がスペースということは有り得ません"と決め打ちして
その部分については全く無視してるしさ。
0081デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANSub 判定()
'B5〜B500にConfigデータ、E5〜E500に判定結果
Dim i As Long, j As Long, r As Long
Dim r1 As Long, r2 As Long
r1 = 0
r2 = 0
Range("E5:E500").Clear
For i = 5 To 500
If InStr(Cells(i, 2), "interface") <> 0 Then
r1 = i
For j = r1 + 1 To 500
If InStr(Cells(j, 2), "!") <> 0 Then
r2 = j
Exit For
End If
Next j
If r1 >= r2 Then
MsgBox r1 & "行目くらいからなんか変"
Exit Sub
End If
For r = r1 + 1 To r2 - 1
If Left(Cells(r, 2), 1) <> " " Then Cells(r, 5) = "×"
Next r
End If
Next i
End Sub
0082デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN-10000000点。
削除依頼のレベルだなw
0083デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN回数不定のループでdo loop whileとか使わないのは素人
Sub c()
Dim r As Long
Dim f As Boolean
Dim s As String
r = 5 ' 5行目からスタート
f = False ' 判定対称かどうかのフラグ
Do
s = Cells(r, "B")
If f Then
If s = "!" Then ' 判定終わり
f = False
ElseIf Left(s, 1) <> " " Then
Cells(r, "E") = "×" ' 先頭がスペースじゃなかった
End If
Else
If InStr(s, "interface") > 0 Then
f = True ' 次から判定スタート
End If
End If
r = r + 1
Loop While r <= 500
End Sub
0084デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0085デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANプログラムの論理構造がきちんと設計できてない証拠だぜ
0086デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN参考になるが、>>81の方が親切設計かもな
0087デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0088デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANとにかく500行目まで処理するのか、完結してないブロックは対象外とするのか
0089デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN今の時代は速度より可読性を重視する流れだと思う
0090デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN中間コード見るとわかるけど、for〜nextはループの最初にCXレジスタに回数を入れるだけだから速くて当たり前
0091デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN可読性的に致命的な欠点がある。
0092デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANループから抜ける条件が最後に、一箇所にまとまってる方が可読性が高くないか?
0093デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN0094デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN上のコードはあちこちには散らばってないが、そんなに複雑ならメソッドとして抽出するなどしたほうが良いのでは。
009521
2013/08/22(木) NY:AN:NY.ANお陰様で作りたいものを作ることが出来ました。
>>62さんのが一番分かりやすかったので参考にさせて頂きました。
>>74
interfaceと!間以外に別の設定データがあるためそれは出来ませんでした。
説明不足申し訳ありません。
>>81
何故か学校のエクセルでは動きませんでした。
>>81
ありがとうございました!こちらも参考にさせていただきました。
VBA初めてでネットワーク系のconfigのチェックツールを作ろうとしてましたが、本当に自分の理解力の乏しさでは難しいことを知りました。
これからも勉強して行こうと思います。
0096デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN糞コードを参考にするとは・・・
0097デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANhoge(i)
Next
↑前者と↓後者 どっちが可読性高いんす
i = start
Do
hoge(i)
i = i + 1
Loop While i <= end
0098デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN上の方がわかりやすい。
start > endのとき動作違うよ。
0099デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANうんちるロープ。
0100デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.ANところで宿題なのか。協力する気にならんな。かわいそうに。
0101デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN宿題ならこんなとこで聞かないで学校で聞くんでね?
0102デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN初心者で初めてで>>62を見本にループ出来るの様にしたなら頑張ってると思うよ
俺も学生のときこんなんだったかなってノスタルジックな気持ちになったわww
0103デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN単にカウンターでループするだけならForに決まっとる
Do Loopは繰り返す条件や抜ける条件がもっと複雑な時に使う
使い分けろ
あと、Forと同じ動作させるなら
i = start
Do While i <= end
hoge(i)
i = i + 1
Loop
0104デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0105デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN0106デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANA B
1/1 10
1/2 20
1/3 30
1/4 40
1/5 50
このとき別のシートBに日付を2つ入力し、その2点間の平均を求める関数を書きたいです
(例えばシートBのA1に1/2、A2に1/4と記入したらA5には20,30,40の平均=40が出力される)
それについて以下のように考えました
=AVERAGE(INDIRECT(ADDRESS(MATCH(シートB!A1,シートA!A:A,0),2,4,1,"シートA")):INDIRECT(ADDRESS(MATCH(シートB!A2,シートA!A:A,0),2,4,1,"シートA")))
または
=AVERAGE(INDIRECT("シートA!A"&MATCH(シートB!A1,シートA!A:A,0)):INDIRECT("シートA!A"&MATCH(シートB!A2,シートA!A:A,0)))
このとき、AVERAGEの真ん中にあるコロン( : )が コンマ( , )の場合動きましたがコロンの場合どうしても動きませんでした
上記の方法では2点間の範囲という選び方はできないのでしょうか?
また、このほかにもっと良い方法ありましたら教えていただければ幸いです
0107デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.ANexcel質問スレで再度聞き直してきます
0108デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANSub 集計()
Dim R1 As Range, R2 As Range
Dim D1 As Date, D2 As Date
With Sheets("シートB")
D1 = DateValue(.Range("A1"))
D2 = DateValue(.Range("A2"))
End With
With Sheets("シートA")
Set R1 = .Range("A:A").Find(What:=D1, LookIn:=xlFormulas)
Set R2 = .Range("A:A").Find(What:=D2, LookIn:=xlFormulas)
If R1 Is Nothing Or R2 Is Nothing Then
MsgBox "その日のデータないからムリ"
Else
Sheets("シートB").Range("A5") = Application.WorksheetFunction.Average(.Range("B" & R1.Row, "B" & R2.Row))
End If
End With
End Sub
0109デフォルトの名無しさん
2013/08/24(土) NY:AN:NY.ANFind検索のプログラムを走らせたらExcelの検索置換のオプション設定が変わるから、一応注意喚起しとく
0110デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN「ンっもう!最初からそう教えてくれよ。」みたいなタイトルのVBA本は何だったのでしょうか?
0111デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.ANhttp://www.amazon.co.jp/dp/4798017973
0112デフォルトの名無しさん
2013/08/26(月) NY:AN:NY.ANSub 検索()
Dim IE As Object, T As Object, B As Object
On Error GoTo Error:
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "http://www.amazon.co.jp"
Do While IE.Busy Or IE.ReadyState < 4: DoEvents: Loop
Set T = IE.Document.getElementByID("twotabsearchtextbox")
T.Value = "最初からそう教えて"
For Each B In IE.Document.getElementsByTagName("INPUT")
If B.Value = "検索" Then
B.Click
Exit For
End If
Next
Set IE = Nothing: Set T = Nothing: Set B = Nothing
Exit Sub
Error:
If Not IE Is Nothing Then IE.Quit
Set IE = Nothing: Set T = Nothing: Set B = Nothing
MsgBox "便利な箱がネットにつながっていないかも。" & vbCrLf & "あと、もしかしたらIEかAmazonがサボってるかも。"
End Sub
0113デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANピボットの切り口を変えたいため、いまある集計表から元データ(縦持ち)に戻すVBAを書きたいと思っています。
ピボットは1000行、200列ほどあるため、一列にすると約20万行となります。
知恵袋を参考に、下記を適用したのですが、「オーバーフロー」のエラーがでます。
どうすればよいのでしょうか。なお、Win7,Excel2010です。
0114デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANDim SyukeiData As Range
Dim i As Integer
Dim j As Integer
Dim k As Integer
Set SyukeiData = Sheets("Sheet1").Range("A1").CurrentRegion
k = 1
For i = 2 To SyukeiData.Rows.Count
For j = 2 To SyukeiData.Columns.Count
Sheets("Sheet2").Cells(k, 1) = SyukeiData.Cells(i, 1)
Sheets("Sheet2").Cells(k, 2) = SyukeiData.Cells(1, j)
Sheets("Sheet2").Cells(k, 3) = SyukeiData.Cells(i, j)
k = k + 1
Next
Next
Set SyukeiData = Nothing
End Sub
0115デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANとりあえずIntegerをLongにすればオーバーフローする確率は下がる
まあ、言いたい事は色々あるが、とりあえず頑張ってくれ
0116デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANオーバーフローの意味ググってみたのかな?
0117デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANMsgBox "ついでにDoEventsとかも入れてみたらどうかな", vbQuestion
End Sub
0118デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0119デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.ANDim Person as Object
Person = "118"
If Person.Head = "Aho" Then
MsgBox "あなたはアホですね"
Elseif Person.Head "Baka" Then
MsgBox "あなたはバカですね"
Else
MsgBox "あなたはウンコです"
End If
End Sub
0120デフォルトの名無しさん
2013/08/27(火) NY:AN:NY.AN0121デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANWorksheets(1).Copy after=Worksheets(1)
ActiveSheet. Name = hensu1 & hensu2
まず、コピーしたシートの貼り付け先として、新しいブックを作りたいです(A.xisとする)
作ったブック(ファイル)の名前に変数を使いたいです。本を見ながらやったんですが、変数が効いたり効かなかったりします…
さらに、同じマクロを再度実行した時は、コピーしたシートを先に作ったA.xlsの末尾に追加していくようにしたいです。
if thenで、「A.xlsというブックが開かれている時には」みたいな条件の付け方ができるのでしょうか?
ご教授お願いします。
0122デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそれが本当にやりたいことじゃないだろ。
真にやりたいことを書け。
0123121
2013/08/28(水) NY:AN:NY.AN最後は自分の想像を書いただけなので、蛇足でした。すみません。
やりたいことは、その上に書いてあるとおりなのですが、何か説明が不足でしょうか?
0124デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN意味不明
当たり前だけど、モジュールの先頭で Option Explicit はちゃんと宣言してんだろうな?
0125デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN> if thenで、「A.xlsというブックが開かれている時には」みたいな条件の付け方ができるのでしょうか?
「excel vba ファイルを開いているか」でググってみれば?
0126デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANApplication.Workbooks プロパティ
開かれているすべてのブックを表す Workbooks コレクションを返します
0127デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそれよりまずは仕様の検討から入りましょうか
要件はコピー元のXxls、コピー先のAxlsですが、それぞれの寿命はいかほどですかね。
マクロをXxlsとAxlsのどちらに乗せるのか、あるいはマクロ用にMxlsを用意すべきなのかを検討したく。
変数についてはexprishitですね。breakポイント打ってオブジェクトwindowでDebugしてもいいですよ。
0128121
2013/08/28(水) NY:AN:NY.AN>>127
ありがとうございます。専門用語が半分もわかりませんでしたが仕様に関して
コピー元X.xisはずっと原本として使い続けるであろうもの、コピー先A.xlsは一ヶ月ごとに作成します
ですのでX.xlsにマクロを載せておけばことが足りると思います。
0129デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN男 20 A
女 40 A
女 60 O
男 40 O
女 20 B
行フィールドが二つ(第1行フィールド、第2行フィールド)あるピボットテーブルで
For Eachで全フィールドの全アイテムのデータの個数を集計したいです。
第1フィールドの最後のアイテムかつ、第2フィールドのアイテムのデータの個数が全て空白なら
その第2フィールドの一つ目のアイテムでGetPivotDataはエラーになります。
これがError→ GetPivotData(データフィールド名, 第1フィールド名, 第1アイテム名, 第2フィールド名, 第2アイテム名)
第1フィールドの集計をなしにする(Subtotalsプロパティ全部False)か、もしくは
第1フィールドと第2フィールドを行フィールドと列フィールドに分ければ上記のエラー出ませんが、
何でエラーになるのでしょうか。
0130デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0131デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0132デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANDim sh1 As Worksheet, sh2 As Worksheet, source_data As String, k As Long, data As Variant
Dim pvt_sh As Worksheet, pvt_tbl As PivotTable
Dim pvt_fld_性 As PivotField, pvt_fld_年 As PivotField, pvt_fld_血 As PivotField
Dim pvt_itm_性 As PivotItem, pvt_itm_年 As PivotItem, pvt_itm_血 As PivotItem
Set sh1 = ThisWorkbook.Worksheets("Sheet1")
source_data = sh1.name & "!R1C1:R" & sh1.Range("A1").End(xlDown).Row & "C" & sh1.Range("A1").End(xlToRight).Column
Set pvt_sh = ThisWorkbook.Worksheets.Add
ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=source_data).CreatePivotTable TableDestination:=pvt_sh.Cells(3, 1)
Set pvt_tbl = pvt_sh.PivotTables(1)
Set pvt_fld_性 = pvt_tbl.PivotFields("性別")
Set pvt_fld_年 = pvt_tbl.PivotFields("年齢")
Set pvt_fld_血 = pvt_tbl.PivotFields("血液型")
pvt_tbl.AddDataField pvt_fld_年, "データの個数 / " & pvt_fld_年.name, xlCount
pvt_fld_血.Orientation = xlPageField
pvt_fld_性.Orientation = xlRowField
pvt_fld_性.ShowAllItems = True
pvt_fld_年.Orientation = xlRowField
pvt_fld_年.ShowAllItems = True
' pvt_fld_性.Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
0133デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANsh2.Cells.Clear
sh2.Cells(1, 1) = pvt_fld_血.name
sh2.Cells(1, 2) = pvt_fld_性.name
sh2.Cells(1, 3) = pvt_fld_年.name
sh2.Cells(1, 4) = "個数"
k = 2
For Each pvt_itm_血 In pvt_fld_血.PivotItems
pvt_fld_血.CurrentPage = pvt_itm_血.name
For Each pvt_itm_性 In pvt_fld_性.PivotItems
For Each pvt_itm_年 In pvt_fld_年.PivotItems
sh2.Cells(k, 1) = pvt_itm_血.name
sh2.Cells(k, 2) = pvt_itm_性.name
sh2.Cells(k, 3) = pvt_itm_年.name
data = Empty
' On Error Resume Next
data = pvt_tbl.GetPivotData(pvt_fld_年.name, pvt_fld_性.name, pvt_itm_性.name, pvt_fld_年.name, pvt_itm_年.name)
' On Error GoTo 0
If (Empty = data) Then sh2.Cells(k, 4) = 0
Else: sh2.Cells(k, 4) = data: End If
sh2.Cells(k, 5) = pvt_tbl.GetPivotData(pvt_fld_年.name, pvt_fld_性.name, pvt_itm_性.name)
k = k + 1
Next Next Next End Sub
0134デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN★zipファイルの「阪神無」フォルダー以下
「平成25年6月」の数値未発表で一部合計値比較不可能の為
平成25年5月〜平成13年4月は以下の各駅を合計・増減から除外して再計算。
「阪神」─「本線」─「阪神梅田」〜「千船」
「阪神」─「なんば線」─「大阪難波」〜「出来島」
★zipファイルの「阪神有」フォルダー以下
除外せず、「平成25年6月」の未発表数値を前年同月(平成24年6月)と同一と仮定
※「Hnn(年度)」…平成(nn-1)年4月〜平成nn年3月
※「中之島」「渡辺橋」「大江橋」「なにわ橋」…「H21」10月の[総数]は日割り(13/31日) 。
※「大阪難波」「桜川」「ドーム前」「九条」…「H21」3月の[総数]は日割り(12/31日) 。
※「総数」…「H18」の7月以降及び年度平均はOTS線を除いた数値となっている。
平成24年4月〜平成25年6月
http://www.city.osaka.lg.jp/toshikeikaku/page/0000020916.html
[2013年8月27日]
http://www.city.osaka.lg.jp/toshikeikaku/cmsfiles/contents/0000020/20916/6-2.xls
平成24年3月〜平成13年4月
http://www.city.osaka.lg.jp/toshikeikaku/page/0000164566.html
[2013年6月4日]
http://www.city.osaka.lg.jp/toshikeikaku/cmsfiles/contents/0000164/164566/12-6.xls
0135129
2013/08/29(木) NY:AN:NY.AN0136デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0137桃白白 ◆9Jro6YFwm650
2013/08/29(木) NY:AN:NY.AN白ももってまさか桃白白のことじゃないかしら。
桃白白こころあたりがないわけではないような気がしないでもなくはないし、ありえなくはなくなくないと思ってるの。
0138ピラフ
2013/08/29(木) NY:AN:NY.ANえーわかんなーい。ピラフわかんなーい。じゃあさ、みんなで考えてみようよ。
>>131
いるよ。ピラフここにいるよ。いつでも呼んで、その声はピラフのちくわ耳にきっと届くはずだよ。
0139デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0140デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANおまえ消されるぞ
0141デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0142デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANSub xisってなんなんだろう糞にはわからない()
Dim wbc As Integer, wsc As Integer, i As Integer, s As Worksheet
Dim APath As String, AFname As String, ASname As String
APath = "C:\Aのほぞんばしょ\"
AFname = "A.xls"
ASname = "あたらしいシートのなまえ"
For wbc = 1 To Workbooks.Count
If (Workbooks(wbc).Name = AFname) Then Exit For
Next
If (wbc > Workbooks.Count) Then
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=APath & AFname
End If
wsc = Workbooks(AFname).Worksheets.Count
Workbooks("X.xls").Worksheets(1).Copy after:=Workbooks(AFname).Worksheets(wsc)
For Each s In ActiveWorkbook.Worksheets
If s.Name Like ASname & "*" Then i = i + 1
Next
If i = 0 Then
ActiveSheet.Name = ASname
Else
ActiveSheet.Name = ASname & "(" & i & ")"
End If
End Sub
0143デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0144デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN>>128で終わっていると思うけど、うざいね。
0145デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANセルに文字列の数字を入力したいとき
どうやりますか?
ふつうにActivecell="123"みたいにしても文字列になってないんですよ。
0146デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANSub test1()
'アクティブセルに文字入力
ActiveCell.Value = "123"
End Sub
0147デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN該当セルの表示形式が「標準」の時は、
ActiveCell.Value = "'123" の様に'を入れるか、
先にセルの表示形式を「文字列」に変えておく。
って、まじめに書いたけど、この質問は釣り?
0148145
2013/08/29(木) NY:AN:NY.ANん?
それでも変わりませんよ。
文字列になってないです。
0149145
2013/08/29(木) NY:AN:NY.AN釣れた(笑)
って、釣りってなによ?
自意識過剰すぎるよ。
たしかに ' の方法でも、先に「文字列」に変えておく方法でも、できたけど、ここで質問。
この ' はいままでにも使ったことあったけど
表示では ' は見えないけどセルに値を変更しようとすると ' が再び現れる。
気持ち悪いんですけど。
というのは ' の性質をきちんと把握しておかないと
今後VBAでバンバンとコードを書くときに
不安でしかたがないじゃん?
' の性質についてExcelを使う上での注意点を教えてください、だれか。
0150145
2013/08/29(木) NY:AN:NY.ANLEN関数でこのセルの文字数を調べると4じゃなく3なんだ。
' は文字としてカウントしない特別な文字ってこと?
もしそうなら、もし ' を文字列としてセルの最初の文字に使いたいときはどう入力する?、みたいにいろんな問題が出てきそう。
0151デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN「'」を使用して数字を文字列扱いするようになったのは、
エクセルが出来る以前(Z80時代)のビジカルクというソフトからの流れを汲んでいます。
後は自分で調べなさい、自意識過剰より。
0152デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN' セルに数字を入れる
ActiveCell.FormulaR1C1 = "123"
End Sub
コレでどうだろ
0153デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANこっちのほうがいいかも
Sub Macro2()
'セルに数字を入れて1つ下のセルに移動する
ActiveCell.FormulaR1C1 = "123"
ActiveCell.Offset(1, 0).Select
End Sub
0154デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0155デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN別にValueでも省略でも良くね?
オレ一回も使ったことないよ
http://ecx.images-amazon.com/images/I/41LfT-V8r2L._SL500_AA300_.jpg
0156デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANR1C1形式は行(Row)をRと行番号、列(Column)をCと列番号で表す形式
0157デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN使ってる人はまず間違いなく「マクロの記録」に頼ってる人
0159デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANそうでもないぞ
プログラムで数式設定する場合は結構便利
0160デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANどう使うの?
0161デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN> もし ' を文字列としてセルの最初の文字に使いたいときはどう入力する?
例えば '13 3月 なら...
ActiveCell.Value = "''13 3月"
別に VBA じゃなくても普通に使うだろ?
0162150
2013/08/30(金) NY:AN:NY.ANこんな場合は?
あるセルに「Rock'n'roll」という文字が入ってて
その隣セルに、mid関数でそのセルの5番目の文字から7番目の文字を入力(つまり「=mid(A1,5,3)」とする)とし、さらにそのセルを値コピーでそのまた隣セルに入力すると
そのセルは「'n'」となると思いきや、 ' の特別ルールのせいで「n'」になってしまう。
こんなことからバグが生じ、
例えば宇宙ロケットのコードを設計してるときに
この ' に起因するバグのせいでロケットが爆発し人が死ぬこともありえる。
0163デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN頭の′以外は文字として認識されるんじゃなかった?
0164デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN形式を選択して張りつけるとちゃんと'n'になるみたいだな
でまあ、文字列を表すために'つかうと色々ややこしくなる時があるのはその通り
だけどそれはそう言う仕様です
それでバグったらプログラマの仕様不理解でプログラマの責任です
注意点は使うなら気をつけて使ってください
なるべく使わない事をお勧めします
0165デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANSub これじゃだめなのか()
ActiveCell = "123"
ActiveCell.NumberFormat = "@"
End Sub
0166デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANn'になるの?
なるならセルの仕様の通りで素直でよろしいじゃないの
0167デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN> そのセルは「'n'」となると思いきや、 ' の特別ルールのせいで「n'」になってしまう。
根本的に誤解してると思うけど、' の処理は表示だけだよ。
VBA で直接値取得すればわかるでしょ。
そんな処理が気に入らないと言うなら、書式を文字列にすればいいだけだし。
0168デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN一部使い物にならなくなってたな。まさかExcelを使ってるわけないが。
なんにせよ ' は気色悪い。 , も気色悪い。たまに " も も気色悪い。
0169ほしほし
2013/08/30(金) NY:AN:NY.AN可能ならばどのようにするのでしょうか?
超初心者な為に本やネットを見て作成してますがわかりません。
因みにリストボックスで試したのですが、項目が13項目あって作り方がわかりませんでした。
0170ほしほし
2013/08/30(金) NY:AN:NY.AN質問が抜けていました。
0171デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANrange("a1").value = "=123"
debug.print range("a1").value
debug.print len(range("a1").value
=> 123
=> 3
0172デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN修正、削除の対象をどうやって指定するの?
0173ほしほし
2013/08/30(金) NY:AN:NY.AN0174デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANhttp://excelfactory.net/excelboard/excelvba/excel.cgi?mode=all&namber=159830&rev=0
0175ほしほし
2013/08/30(金) NY:AN:NY.AN0176デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0177ほしほし
2013/08/30(金) NY:AN:NY.AN0178デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN・他のコミュニティーで付けられた回答を知らずに同内容の回答を付けてしまったり、他のコミュニティーですでに解決したことを知らずに検討を続けたり、善意の回答者の労力が無駄になる。
・この場所だけでは質問が解決するか不安であるという不信感を表明することと、結果としては同じである。
0179デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0180デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0181ほしほし
2013/08/30(金) NY:AN:NY.ANご迷惑でしょうから、何とか自分で解決します。
0182デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0183デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN下記を参考
ttp://blog.goo.ne.jp/pc_college/e/5e9ba23c2286e03327384d06766cf4d9
「25列までリストボックスに表示」とある、
多分この事でしょう。
他所の質問は忘れずに、解決済みとして処理して下さい。
0184デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0185ほしほし
2013/08/30(金) NY:AN:NY.AN>>183
これはやってみたのですが何故か動作しませんでした。
もう少し頑張ってみます。
0186デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANコードを記入したのは、ユーザーフォームで間違いないでしょうか。
同じエクセル2007で下記コードで、15列のリストボックス出来ました。
試してみてください。
Private Sub UserForm_Initialize()
'このコードは「ユーザーフォーム」に記入、シート・標準モジュールでは実行時エラー424になります。
'ダミーデータ作成
Cells(1, 1) = "日付": Cells(1, 2) = "会社名": Cells(1, 3) = "担当者名": Cells(1, 4) = "電話番号"
Cells(1, 5) = "メールアドレス": Cells(1, 6) = "住所": Cells(1, 7) = "テキストボックス1"
Cells(1, 8) = "チェックボックス1": Cells(1, 9) = "チェックボックス2"
Cells(1, 10) = "チェックボックス3": Cells(1, 11) = "チェックボックス4": Cells(1, 12) = "テキストボックス2"
Cells(1, 13) = "M": Cells(1, 14) = "N": Cells(1, 15) = "O"
For i = 2 To 10
For j = 1 To 15
Cells(i, j) = "Dat" & i & "," & j
Next j
Next i
'ここからリストボックスの操作
ListBox1.RowSource = "A1:o10"
With ListBox1
.ColumnCount = 15 '列数を15に設定 次の行で列幅を設定
.ColumnWidths = "35;35;35;35;35;35;35;35;35;35;35;35;35;35;35"
End With
End Sub
0187デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN本人が頑張るって言ってるんだから大きなお世話だろ。
0188デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN大きなお世話はお前の方。無意味なレスするぐらいなら黙ってろ。
0189デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN質問者の「もう少し頑張ってみます。」という言葉は尊重しないってことね。
0190ピラフ
2013/08/30(金) NY:AN:NY.ANうぜーな黙ってろ
0191デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0192デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0193デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN手取り足取り1から10まで全部教えたら質問者の為にならんよ
0194ピラフ
2013/08/30(金) NY:AN:NY.ANてめえは質問者の保護者にでもなったつもりか?お〜ん?
お前に教えられたらIQ下がるわ。責任とれんのか?どうやって?
無理だよね。じゃあ保護者気取るべきじゃないし、質問者は2歳児でもないよね。
まんまんに毛がはえたら自分のことは自分でやれるだろ。それが自律というものだ。
アダルティが集うスレで質問者のためとかどうとかいうのはただのバカであることを自覚しろ。
0195ピラフ
2013/08/30(金) NY:AN:NY.ANやつを作り上げるんだよね。質問者のほうがお前よりよほど頭いいだろと。
何様だよと。でてけよと。ここはピラフの憩いの場。何人も荒らすことは許さない。ピラフ許さない!!
0196デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0197デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN為になるか為にならないかは人それぞれだし、そんなん知るかw
少なくとも>>193の書いたくだらんレスよりは、他人の書いたコード見てた方が為になるわ。
0198デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANもう来んわこんなスレw
0199デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN関係ないだろうに。
0200デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN桃白白知らない?
0201ピラフ
2013/08/30(金) NY:AN:NY.ANはあ?ここはピラフの憩いの場なんだから、ここで行われた発言は
あまねくおしなべてピラフへの発言だろ。このスレ誰が建てたと思ってるの?
ピラフじゃないことは確かだけど、ピラフはとても感謝しています。いつもありがとうございます。
今後ともよろしくお願い申し上げます。
0202デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0203デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0204デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN(´・ω・`)b
0205デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANここはコード提示は厳禁にして、新規スレはコードで語れってことにしないか。てかしようよ。
共存できるなら不要だけどお互いに相容れない以上はその必要があると思う。
0206デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0207デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANプログラム質問スレでコード書かなかったら成り立たないだろ
0208デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>207
だから二分しようよ。
コード出すな、糞コードだ、云々、延々。
不毛だし。
成立しないならしないで廃れるだけだし、荒れてしまうよりは全然OKかなっと。
それとも「コード提示行為の議論は禁止」とでもテンプレに入れる?
ここまで不毛に言い合ってきて今さら効果あるかなというか、住人の皆の収まりがつくかね。
0209デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANコード提示禁止というより、質問者がコード提示してもないのに
回答者が勝手にコードを提示するのが問題だと思う。
別スレというより「VBAなんでも質問スレ」で充分だと思うけど。
元々ここから派生したスレだし、スレのルールは無いに等しいし。
ってかさ、このスレでコードで語りたいっていう奴は、
一部の回答者しかいないから別スレ立てても意味ないと思うけど。
あえてやるなら、「VBAなんでも質問スレ」に誘導で充分だと思う。
誘導しても回答者しかいないからコードの議論になるか怪しいものだが。
質問者がコードで質問してきたらコードで返せばいいし、
文章で質問してきたら文章で返せばいいんじゃね?
>>205はコード提示厳禁をルール化しようと思ってるようだけど
既に>>1の★5で既にルール化されてるから。
0210デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANコードも書けずに偉そうに理屈垂れることが出来なくなるから
難癖付けて嫌がっている様にしか見えん。
>>1★5のクレクレと、説明時にコードを書くのは別問題だろ
嫌なら自分で別スレ立てろ。ここはお前が王様のオナニースレではない。
0211ピラフ
2013/08/31(土) NY:AN:NY.ANただの嫉妬。
0212186
2013/08/31(土) NY:AN:NY.AN今回は、質問者のレベルが初心者と判断、>>183で参考URLを提示、
>>185で「何故か動作しませんでした」、とエラー内容も把握できないレベルと判った。
質問者のやりたい内容は顧客管理の様なDBで、
質問は「リストボックスで10列以上が出来ない」、
その部分のヒントとして15列のリストボックス・コードのサンプルを提示しました。
コードの中に"会社名"等が入ってるから、丸投げ作成と誤解されてるようですが、
それらタイトル部分は質問者は既に作成できています。
質問者のレベルに合わせて、サンプルコードを理解してもらうために、
敢えて単純なコードでダミーデータも作成しました。
チェックボックスの処理、件数増加時など、
質問者の作成しようとしているDBには、まだ問題が山積みでしょうが、
それは自力で一歩ずつ覚えていく事で、
つまづいたら、また部分的に質問して貰えればと思っています。
.
VBAに限らず、どの言語も他の言葉だけで説明し、理解してもらうのは難しいと考えます。
多くの書籍がコードを載せているのはその為でしょう。
他の言語と比較して、VBAが簡単と言われていても、
初心者には未知の宇宙語なのだと思います。
0213デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN質問の流れを無視してコードを書くのが問題なんだが。
質問の流れで質問者がコードを提示して、それをもとに回答していくなら問題ないと思う。
コードを提示されてない、仕様は曖昧、不明な仕様を質問者に聞こうともせず
いきなりコードを書くという行為は、あさってなコードを書いてしまうというリスクがある分
無駄な作業なんだが。
>>1★5は質問者だけでなく、回答者にも言えることだろ。
回答者はヒントを出せばいいだけ、解答コードを晒す必要なんかないってこと。
このスレのルールを守れないやつが別のスレ立てればいいと思うけど
スレのルールを守れないやつがスレを立ててもダメなんだろうな。
だってスレのルール守れないんだもん。
0214ピラフ
2013/08/31(土) NY:AN:NY.AN質問者がヒントだけでよければコード読まなきゃいいだけだろ。
お前さ質問者を何だと思ってるわけ?回答者の発言でコントロールしなければ
ならないミジンコみたいなものだとでも思ってるわけ?他人の回答にいちゃもんつける
お前のようなゴミ野郎が消えればこのスレは良くなるだろ。問題なのはお前の存在だけ。
0215デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN後出しジャンケンもいいところ。
エラー内容も把握できなかったら聞けばいいだけなんだが
何でそんな簡単なことができないのかな。
質問者も焦っているようでもなし。
自らコミュ障を露呈しているようなものだ。
0216ピラフ
2013/08/31(土) NY:AN:NY.AN何様だよ。どういう立場でものいってんだ。ピラフぶちぎれんぞ。
0217ピラフ
2013/08/31(土) NY:AN:NY.ANお前は聞いたのか?聞くべきだとお前が思ってるのならお前が聞くべきだ。
他の回答者にけちつけるんじゃなくて、自ら動いてすばらしい回答者っぷりを
発揮してくださればいいじゃないか。なんで自分でやらずに他のやつの足ひっぱるような
まねするんだよ。コミュ障はお前だよ。
0218ピラフ
2013/08/31(土) NY:AN:NY.AN質問者のためになってないといって回答者にいちゃもんつける完全なるゴミがいる。
0219ピラフ
2013/08/31(土) NY:AN:NY.ANお前まだ手だしてないけど?
後出しじゃんけんといいたいだけなのか?wwwぶひょひょひょwww
ピラフ大爆笑wwwww
0220デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>185を声を出して一億回読め。
本人で解決しようとしている訳だから質問者目線で言えば、これ以上深入りしても余計なお世話だと思うが。
0221デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN深入り不要と思ったら沈黙しろ。見る必要がないと思ったら見るな。
質問者のためにならなくても、他の人間にはためになることもある。
だから自由に解説させてやれ。コードを書かせてやれ。
VBAスレなのにVBAを止めようと嫌味なレスばかりしている奴が居るから余計なレスが増えて荒れるんだ。
0222ピラフ
2013/08/31(土) NY:AN:NY.AN立派な考えだな。小さな気遣い余計なお世話ということわざもある。
しかし、その考えを他の人に押し付けてお前もこう思えこうやれっていうのは独り善がりだよ。
世の中にはいろんな人がいる。コードを書いて詳細をつめていったほうがわかりやすいと
思ってる人もいれば、たんに雑談したいだけの人もいる。頑張りますといって
助けを待つ人もいれば、頑張りませんといって影で努力する人もいる。
俺ぜんぜん勉強してねーわーやべーわーという人もいる。お前がどう考えるのかは
とうぜんお前の自由だが、それを他の人に強いてルールだなんていうのは身勝手だな。
自分の考えをもつことは大事だと思うけれども、他人の考えにぶつけてしまうのはへたくそですわ。
頭のナットが緩んでる社会人2年目くらいの木偶の坊がやらかす衝突事故ですわ。
0223デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANhttp://kohada.2ch.net/test/read.cgi/slot/1377565331/216
0224デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANお前が言いたいことはルールなんかクソ食らえ、俺のやりたいようにやるってことだよな
0225ピラフ
2013/08/31(土) NY:AN:NY.AN違うよ。いろんな人がいるよってこと。
自分の考えを他人に押し付けてこれがルールというのは独善的で井戸の中の
カエルさんならそれでいいかもしれないけれども、それって井戸魔人でしかないよねってこと。
0226ピラフ
2013/08/31(土) NY:AN:NY.AN0227デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN他の奴にとって迷惑でしかないと言うことだな。
好きなスレ立ててそこでやれ。ここから出てけ。
0228デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0229デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANそういう奴はこの手の話が嫌ではないんだろ
なんの不思議もない
0230デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANこれが、URLの貼り方
>>226
この人が、どや顔してスルーされる方
0231デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>224の言うとおりにしか見えないが。
いろんな人がいるからこそスレにルールがあるっていうことも分からないのかな。
いくら熱弁してもスレのルールを守れないようじゃ誰も話を聞かないよ。
0232デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANいい加減引き際を弁えろ
誰もお前の押し付けたルールの話なんぞ聞きたい奴なんかいねーよ。
いつまでもうじうじとみっともない奴だな消えろよ。
0233デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN横やりだけど、押し付けたルールってなに
0234デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>1★5を盾にしてコイツはまた沸いてくるって前俺が言ったとおりになったな。
これで分かったろ?>>1★5は改変するか削除するべきなんだ。
0235デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>1★5はそのままでOKという結果になった訳だが。
0236ピラフ
2013/08/31(土) NY:AN:NY.ANピラフは違うと言ったわけだから、見える見えないの問題じゃないよ。
違うといったピラフの発言をかみ締めるべきだよ。違うといったにもかかわらず、
そうとしか見えないといって持論を推し進めるのはずいぶんなガンコ者だな。
どうやったらそんなにかたくなな生き物になるのかピラフはお前の親御さんの子育て方針を
拝聴つかまつりたい気分でおじゃるわ。ピラフのみやびなお耳でお聞きあそばしたいわ。
0237ピラフ
2013/08/31(土) NY:AN:NY.AN縦やりなんだけどーピラフこれだと思うー。
>質問者がコードで質問してきたらコードで返せばいいし、
>文章で質問してきたら文章で返せばいいんじゃね?
>>>205はコード提示厳禁をルール化しようと思ってるようだけど
>既に>>1の★5で既にルール化されてるから。
0238デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANコード禁止ってやつは何考えてそう主張してるんだ?
コード禁止したら回答の質が上がるとでも思ってるのか?
0239デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0240デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN頭ごなしにコード禁止って言ってるやつは見たことないけど?
0241デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0242デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANこれをVBAで「数値」に変えるには
どういうコードを書けばいいですか?
0243デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN「excel vba 文字列を数値に変換」でぐぐればいいんじゃね?
0244デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANどうぐぐればいいのか聞いてません。コードを提示できない無能は黙っててください。
0245デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANコードクレクレ君は別スレ行ってくれ。
0246デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANぐぐる厨が他所にいけ。
0247デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0248242
2013/08/31(土) NY:AN:NY.AN「ググれ」「グーグルつかえ」「ククレカレー」
アホの1つ覚え。
これは現代版の荒らしだ。
>>244>>247
あなたはニセモノですが、オレの言いたいことを見事に大便(=代弁)してくれてありがとう。
0249デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0250デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN数値化したいセルはランダムなのか表になっていてその範囲なのかシート全体なのかを書いてくれないとコードも書けない
0251デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>1★5
0252242
2013/08/31(土) NY:AN:NY.ANそこは適当でいいです。
セル1つ変えることができればあとはなんとでもなるんで。
なので
ActiveCell=
の続きを書いていたたければ嬉しいです。
0253デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0254デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0255デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANなってないだろ。仕様を述べるから全部実装しろというのなら作成依頼だが、
数値に変換する方法を聞いてるだけだ。
0256デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANSub こんなんはどうだろか()
Dim x1 As Long, x2 As Long, x3 As Long, x4 As Long
Dim r As Long, c As Long
Dim x As Range
Set x = ActiveSheet.UsedRange
x1 = x.Row
x2 = x.Row + x.Rows.Count - 1
x3 = x.Column
x4 = x.Column + x.Columns.Count - 1
For r = x1 To x2
For c = x3 To x4
If IsNumeric(Cells(r, c)) Then Cells(r, c).NumberFormat = "General"
Next
Next
End Sub
0257デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANActiveCell.Value =つかって同じセルに書き出せばいいんじゃないかな?
それかSelection.NumberFormatLocal = "0_ "で書式を設定するのは?
0258デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>1★5、★6はスレのルールとして正しいと解る例だ。
0259デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN黙れぐぐる厨。
0261デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANぐぐらないとわからないくせにw一人でぐぐってろよ。
0262デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANこの程度(>>242)の事も解らないのに「糞コード」ですかそうですか。
以降、無視で。
0263デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0264デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANなーんも考えないでも言えるもんなぁ
0265デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN0266デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN'A1セルの書式を数値(整数)に変更する
Range("A1").Select
Selection.NumberFormatLocal = "0_ "
ActiveCell.Offset(1, 0).Select
End Sub
整数ならコレでいいんじゃね?
0267デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN文字列で16桁以上の数値が書かれている可能性があるけどそこはどうすんの?
0268デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>261
反応がゆとり臭いなお前ら
冷やかし大成功だよくそ寒い
0269デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN釣れた宣言する奴ってまだ生息してるんだ。
とっくに死滅したもんだと思ってた。
0270デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN誰か俺の夏休みの宿題も手伝ってくれよ
0271デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN気に入らなきゃ次スレでの★5削除を提案するしかない。
★5の是非はおいといてルール違反の指摘に逆ギレしてたらそら荒れるわw
0272デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN例の糞コード事件以後、荒らし行為が増えつつあるような気がする。
0273デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN>>1★5と言ってるがどう曲解するとコードで書いてはいけないことになるのか。
0274デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.ANスレ斜め読みしただけでした。
★5違反じゃ無いのね
0275デフォルトの名無しさん
2013/08/31(土) NY:AN:NY.AN糞コード書いてる人って自分で一度でも検証してるのかね?
>>242への回答なんかまるでダメじゃねえ?
0276デフォルトの名無しさん
2013/09/01(日) 00:29:56.550277デフォルトの名無しさん
2013/09/01(日) 01:00:39.95それ以上のコードを書いて糞っぷりを証明しないと相手にもならんだろうな。
0278デフォルトの名無しさん
2013/09/01(日) 03:19:14.14まともに動作しないんだから
0279デフォルトの名無しさん
2013/09/01(日) 06:28:05.07なんでまともに動作しないか検証したら勉強になるかもよ
0280デフォルトの名無しさん
2013/09/01(日) 07:46:39.58Sub こんなんはどうだろか()
Dim x As Range
ForEach x In ActiveSheet.UsedRange
If IsNumeric(x.Value) Then x.NumberFormat = "General"
Next
End Sub
0281デフォルトの名無しさん
2013/09/01(日) 07:57:10.40ForとEachのあいだにスペースさえ入っていれば…
0282デフォルトの名無しさん
2013/09/01(日) 09:35:20.24これは素晴らしいな。
自分の環境のせいで動作しないのかもしれないのをろくすっぽ調べもしないで糞コード呼ばわりするのと、
余計なことは一切言わずに改良案のコードを提示するのとで、
どちらがまともにコミュニケーション取れそうなのかを一目瞭然で理解出来る素晴らしい例だ。
0283ピラフ
2013/09/01(日) 10:04:58.86_ /  ̄ <_
_>`´ >>272 ___<_
> r‐'" ̄ ̄ ノ ̄ ̄`ヽ、―ニ 二
/ , | `ヽ/ ´`ヽ _ 三,:三ー二
 ̄/ | ノヽ--/ ̄ , ` ̄ ̄ ̄
/ /⌒ヽ,| ミ } ...| /!
レ l d _}`ー‐し'ゝL _
| ヽ、_, _,:ヘr--‐‐'´} ;ー------
|/| \ ノ`ヾ:::-‐'ーr‐'"==-
ヽ/l/|` ー------r‐'"  ̄ ̄
|└-- 、__/`\-:、
__,ゝ,,_____/ \_」 \
なにが糞コードだおら
0284ピラフ
2013/09/01(日) 10:09:50.507:::ヽ /V::::/ /::t__ __
/:/`' 7::::く /:t-i::/ ./ ̄____:::::/
l,/ /::/ヽ' ヽ;:`'/  ̄,-, //
l,/ /:/ /:/
`' `'
,;;---−―――――--,,,
/ \ >>272「ぐぇああああ!」
, ; / \
c==ー^ /li <こ_ .:; イ.:.:.:.:.::.:\ : : \:.:.:.::;;;;>'"
z ,ィ≦ ム}|/__/´⌒ /.:.:::::.:.:::.:.:.:.:ヽ .::.:.:;;ィ'" /
__ -一 .:fr'/{ミ ,彡/ ,/.:.:.::::/.:.::::ノ_,,,:::-一宀 ´ {
c== ¨¨ /^{ノ ilil// /⌒´ ̄ ̄ ̄`7´ / / ',
c に≠==ー 厶- il,/ 〃 ー/, { { i ヽ
`ート、 〃 {i ヘ. :丶ヽ: : :ヽ: : : : : : : : : : { :\
C °。 : . ヘ にヘ,{i ヽ.i{ . . . . . : : : : ヽ、:\: : : :\: : : : : : : : ヽ. : :
: ', ,〉ィヘ ヾミ{!. : : : : : : : : : : : : : :\. :\: : : 丶: : : : : : : : \
. ィー- く {^ヽ人 ヘ≧ー‐rー宀7⌒ヽ. : : ヽ、__. : : : : :\. : : : : : : :
/ :` 、: :トこ´ ヾ ¨>く__ノ _,人___/, ¨¨¨"¬r一=,,___ : :
/ , ヘ、__ 彡彡 ´ _ ー
/ . : : : ´¨¨¬ , /
./ ヽ、 /
ハートブレイクショット
0285ピラフ
2013/09/01(日) 10:11:15.41◎ へ (´<_` )
\ ≫ ̄ ̄ ̄ ̄彡ヽ ̄ ̄ ̄ ̄ ̄ ̄⌒ \
彡____人 )  ̄ ̄ ̄ ̄ ̄\ )
◎-●一( * * ヽミ |. |
((_ _ (( ( ;;-=- ̄=─ ̄ '⌒ヽ〉 | |
‘,'.∴・,‘・(ε (( ヽ-=_二__ ̄ \ | |
,'.・∵ ヽ_____ ノ  ̄\ / /
(__)) ヽ .\__/_丿
| | >>272 ヽ .| |
| |______) | |
| 〉三三三[□]三) | |
ノノノノ:::::::::::::::::::::::::::::/ \ ヽ
~~~|::::::::::::::::::/:::::::/ \ |
|;;;;;;;;;;;;;;;/;;;;;;;/ / ノ
(___|)_|) `-
0286デフォルトの名無しさん
2013/09/01(日) 10:17:07.84実は凶暴なんだな
0287ピラフ
2013/09/01(日) 10:17:29.05_( ´Д`) >>272
/ ) ドゴォォォ _ /
∩ / ,イ 、 ノ/ ∧ ∧―= ̄ `ヽ, _
| | / / | ( 〈 ∵. ・( 〈__ > ゛ 、_
| | | | ヽ ー=- ̄ ̄=_、 (/ , ´ノ \
| | | | `iー__=―_ ;, / / /
| |ニ(!、) =_二__ ̄_=;, / / ,'
∪ / / / /| |
/ / !、_/ / 〉
/ _/ |_/
ヽ、_ヽ
0288ピラフ
2013/09/01(日) 10:24:53.25:: .|ミ| ::::::::
::::: ____ |ミ| ::::
:: ,. -'"´ `¨ー 、 ::
:: / ,,.-'" ヽ ヽ、 ::
:: ,,.-'"_ r‐'" ,,.-'"` ヽ、 ::
:: / ヾ ( _,,.-='==-、ヽ ヽ、
:: i へ___ ヽゝ=-'"/ _,,> ヽ
:: ./ / > ='''"  ̄ ̄ ̄ ヽ
:: / .<_ ノ''" ヽ >>272 i
:: / i 人_ ノ .l
:: ,' ' ,_,,ノエエエェェ了 /
i じエ='='='" ', / ::
', (___,,..----U / ::
ヽ、 __,,.. --------------i-'" ::
ヽ、_ __ -_'"--''"ニニニニニニニニヽ ::
`¨i三彡--''"´ ヽ ::
0289ピラフ
2013/09/01(日) 10:29:20.69/ _ノ \
| ( ●)(●)
. | (__人__)____>>272
| ` ⌒/ \
. | /( ○) (○)\
. ヽ / ⌒(n_人__)⌒ \
ヽ |、 ( ヨ |
/ `ー─− 厂 /
| 、 _ __,,/, \ ドス
| /  ̄ i;;三三ラ´ |
| | | ・i;j: | |
0290デフォルトの名無しさん
2013/09/01(日) 10:35:47.61値の型まで数値型に変わるの?
ふーん
0291ピラフ
2013/09/01(日) 10:43:59.42変わらないよ。もしお前が>>242で、値の型まで変わって欲しいと
思ってるならそれを改めてみんなに伝えるべきだよ。こうなってほしいと
すなおに伝えるべきだよ。自分がどう思ってるのかをきちんと伝え切れてないから
生じた認識の違いでしかないんでそれをもとにどうこういったってくだらないだけだよ。
0292デフォルトの名無しさん
2013/09/01(日) 12:32:04.080293デフォルトの名無しさん
2013/09/01(日) 12:44:38.610294デフォルトの名無しさん
2013/09/01(日) 13:39:39.780295デフォルトの名無しさん
2013/09/01(日) 14:26:56.760296デフォルトの名無しさん
2013/09/01(日) 15:34:48.64それはね、同いt…うわ何をするやめr…
0297デフォルトの名無しさん
2013/09/01(日) 18:37:35.350298デフォルトの名無しさん
2013/09/01(日) 21:45:16.89馬鹿どもの妄言集に惑わされず、コードを書いてください。
コードから救われる人もイますし、コードで何か発見できる場合もあります。
馬鹿どもはひとつのやり方に固執し、「コードを書く」という違う観点からみるということもできない、
おおよそ匿名掲示板にふさわしくないノータリンです。
ピラフさん応援してますよ!
0299デフォルトの名無しさん
2013/09/01(日) 21:48:17.02>>1★5
0300デフォルトの名無しさん
2013/09/01(日) 22:04:24.560302デフォルトの名無しさん
2013/09/01(日) 22:39:53.17>何言ってんだお前、はい論破。
でお終いか。こいつぁ楽でいいや
0303デフォルトの名無しさん
2013/09/01(日) 23:13:46.270304デフォルトの名無しさん
2013/09/02(月) 00:34:36.050305デフォルトの名無しさん
2013/09/02(月) 04:46:21.210306デフォルトの名無しさん
2013/09/02(月) 07:01:36.720307デフォルトの名無しさん
2013/09/02(月) 22:49:05.26コマンドID一覧とかってどこに書いてるでしょうか?
MSDNのメソッドの説明を見に行ってもIDを設定するとしかかれてなくて、それに対応するIDは何?って感じで詰まっています。
0308デフォルトの名無しさん
2013/09/02(月) 23:19:30.54エクセル 右クリックメニューの変更
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1316608278
右クリックメニューに追加
http://officetanaka.net/excel/vba/tips/tips30.htm
セルを右クリックした時のショートカットメニューを変更
http://excel-ubara.com/excelvba/EXCELVBA223.html
等がヒット、詳しくないから質問されても答えられないし、試してないけど、参考になるかな。
既知だったら勘弁。
0309デフォルトの名無しさん
2013/09/02(月) 23:30:56.69サンキュー、その辺もひと通り目を通したんだけど○○を追加すれば出来るしか書いてなくて
その○○に当たるものは他に何があるのか?が判らない状態なんです。
例えば
CommandBars("Cell").Controls
この”Cell"でセルのコントロールを変更出来るのだけれど、じゃあ他のオブジェクトは?となりますし
FindControlにIDを指定したらそのコントロールを変更出来るのだけれど、IDのリストは?ってなると
調べても全然出てこないという・・・
0310デフォルトの名無しさん
2013/09/02(月) 23:39:00.52http://www2s.biglobe.ne.jp/iryo/2vba/sankou.html
にあったけど、これの事だろうか?
0311デフォルトの名無しさん
2013/09/02(月) 23:44:53.69見てみるとアイコンのIDみたいだ、後Excelのバージョンによって番号が変わったりするそうだから
古いやつだとダメなんだ…
Controlsに追加するべき番号であればMSDNフォーラムに97の一覧があるのは見つけたんだが…
0312デフォルトの名無しさん
2013/09/03(火) 00:16:03.95http://support.microsoft.com/kb/213552/ja
にあった、種類はこれの事かな?、2010のは見つからなかった。
役に立てなかった勘弁。
0313デフォルトの名無しさん
2013/09/03(火) 00:20:48.29thx、MSに問い合わせるしかないか…
0314デフォルトの名無しさん
2013/09/03(火) 01:03:10.54コントロールID 一覧(Office 2010)
http://www.ka-net.org/office/of27.html
を見つけたので、ご一報。
それでは、落ちます。
0315デフォルトの名無しさん
2013/09/03(火) 01:24:47.44thx,そこのはダメだった。
0316デフォルトの名無しさん
2013/09/03(火) 02:04:28.272010
http://www.microsoft.com/en-us/download/details.aspx?id=6627
2007
http://www.microsoft.com/en-us/download/details.aspx?id=3582
0317デフォルトの名無しさん
2013/09/03(火) 07:39:02.550318デフォルトの名無しさん
2013/09/03(火) 12:31:39.370319デフォルトの名無しさん
2013/09/03(火) 13:12:40.590320デフォルトの名無しさん
2013/09/04(水) 23:50:37.46For x = 1 To 1000
y = ((169902 - 1 + 1) * Rnd + 1)
If 0 < y < 35 Then
→ Cells(x + 1, 4).Value = 149
ElseIf 35 <= y < 77 Then
Cells(x + 1, 4).Value = 124
ElseIf 77 <= y < 108 Then
・・・・
end if
next x
というプログラムを組んだのですが、yの数値がどんなに大きくても、必ず矢印のところでfor構文が終了してしまいます。
理由がわからないのですが、何が原因だか教えていただけませんか?
0321デフォルトの名無しさん
2013/09/05(木) 00:10:35.29○ If (0 < y) And (y < 35) Then
× If 0 < y < 35 Then
0322デフォルトの名無しさん
2013/09/05(木) 00:14:32.63出来ました。ありがとうございます。
0323デフォルトの名無しさん
2013/09/07(土) 15:17:59.68この本のように
Officeのいろんなソフトを連携して使うためのVBAのコードが解説されてる本ってないですか?
VBAといやほとんどがExcel、たまにAccess、まれにWordの本しかなく
連携で使うのを解説してる本って、上の本以外皆無。
上の本は古いしもう買えないので最近は出てないの?
0324デフォルトの名無しさん
2013/09/07(土) 15:51:33.38でも連携ってCreateObjectかGetObjectでアプリ開いて操作するだけじゃないの?
それとも本一冊費やして説明する程の何かがあるのかな
0325デフォルトの名無しさん
2013/09/07(土) 18:15:28.57どうか教えてください。
スペックはXPでExcelは2003です。
現在B1セルに○月1日と日付を入れ、シート名を1日としたものがあります。
これを自動で複製して、B1セル日付を○月2日 ○月3日…
シート名を2日 3日…となるように、一ヶ月分のbookを作りたいと思っています。
また、その際に、シート名の日付が日曜・祭日に当たる場合、
シート名に色を付けたいので、とりあえず祝日リストは別シートで作ったのですが
肝心のコードが全く分かりません。
一応ウェブを漁って、それらしいコードを拾って動かしてはみたのですが
いまひとつ、作りたいものがうまく作れないので
どうかよろしくお願いいたします。
0326デフォルトの名無しさん
2013/09/07(土) 18:22:06.18書式で○月○日と表示していて
日付が日曜・祭日に当たる場合は赤文字になるよう
条件付き書式で設定してあります。
0327ピラフ
2013/09/07(土) 18:22:40.30ナイスクエッションだ!ピラフも考えみる!!
0328デフォルトの名無しさん
2013/09/07(土) 18:46:34.450329デフォルトの名無しさん
2013/09/07(土) 18:55:33.80うん、もうどうしたらいいやら・・・
0330ピラフ
2013/09/07(土) 19:17:03.790331デフォルトの名無しさん
2013/09/07(土) 19:55:07.64全部いっぺんに作ろうとすると大変。
これらのコードが書けるのであれば後は組み合わせていけば作れると思うけど。
・シートの追加
・シート名の設定
・シート名?タブ?の色設定
・セルの値設定
・曜日の取得
コードが全く分からないからコード作れ!!!!っていうのはこのスレのルール>>1★5に反してるからNG。
0332デフォルトの名無しさん
2013/09/07(土) 19:55:31.38でもどこで聞けばいいのか分からないし、本当に困っているので
誘導若しくはヒントだけでも教えていただけると助かります。
お願いします。
0333デフォルトの名無しさん
2013/09/07(土) 20:02:16.84=WEEKDAY(2013/9/7)と入れると「2」が返ってくる。
A1に=DATE(2013,9,7) その後=WEEKDAY(A1)とやると「7」が返ってくる
なぜ返ってくる値が違うのでしょうか?お願いします
0334デフォルトの名無しさん
2013/09/07(土) 20:04:38.39レスありがとうございます、助かります!
仰るとおり、各パーツごとなら調べたコードで動いたのですが
その組み合わせ方がどうもよく分からないんですよね…
もう少し自分で動かしてみて、
コードを添削・改良していただく事はできますでしょうか。
0335デフォルトの名無しさん
2013/09/07(土) 20:05:54.76ウェブを漁って、それらしいコードを拾って動かしてはみた
のに全くわからないのなら、俺らにどうしろというんだ?
>>333
「/」は除算記号だしスレチだ
0336デフォルトの名無しさん
2013/09/07(土) 20:07:23.95VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0337ピラフ
2013/09/07(土) 20:07:25.87いいよ。ピラフがやってあげちゃうよ。
0338ピラフ
2013/09/07(土) 20:08:14.20お前は首でも吊ってろ。
0339sage
2013/09/07(土) 20:08:26.09なるほど。ありがとうございました!
そしてスレチすみませんでした
0340ピラフ
2013/09/07(土) 20:21:48.91ちっまたこのガキに質問潰されたわ
0341デフォルトの名無しさん
2013/09/07(土) 21:13:25.23誘導ありがとうございます。
そちらで聞いてみようと思います。
ありがとうございました。
0342デフォルトの名無しさん
2013/09/08(日) 00:08:27.68「VBAなんでも質問スレ」では、
「Excel VBA の話題なのになんでここに誘導されて来るんだよw 」
との意見。
これをどう思う?
0343デフォルトの名無しさん
2013/09/08(日) 01:34:11.69じゃーExcelVBAってどういうVBAなんだ?
0344デフォルトの名無しさん
2013/09/08(日) 02:21:59.56ここは丸投げ禁止だから妥当だと思う
0345デフォルトの名無しさん
2013/09/08(日) 02:25:08.03なんでこっちに誘導されてくるのかってことだろ。
俺は別にどちらでやってもいいとは思うが
いつもけたたましく>>1★5と吠えてるあの荒らしは死ねばいいと思っている。
0346デフォルトの名無しさん
2013/09/08(日) 02:53:57.92こっちは永遠にテンプレの議論でもしてればいい
0347デフォルトの名無しさん
2013/09/08(日) 04:21:11.770348デフォルトの名無しさん
2013/09/08(日) 04:24:14.91ただ今は★5がありそれを肯定する人間が居る。
そんな中俺ルールで好き勝手やり始めたら荒れるのは当然だよな。
0349デフォルトの名無しさん
2013/09/08(日) 04:34:31.730350デフォルトの名無しさん
2013/09/08(日) 04:42:51.37質問スレじゃなくなるからこのままでいいと思う。
別にあっちはあっちで楽しそうと思えるのならそれでいいんじゃね?
そっちに行けばいいんだから。
0351デフォルトの名無しさん
2013/09/08(日) 04:49:22.11このスレはもう糞スレ決定だね
0352デフォルトの名無しさん
2013/09/08(日) 08:06:26.62質問にコード絡みのものがある場合は一々荒さんでも向こうに誘導すればいいだけだしな。
0353デフォルトの名無しさん
2013/09/08(日) 08:15:25.010354デフォルトの名無しさん
2013/09/08(日) 08:29:41.760355デフォルトの名無しさん
2013/09/08(日) 08:30:12.65うわ、本当だね。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
要するに、通常の代入や四則演算、分岐や繰り返し処理が入ると全部スレ違いだね。
それがないとExcelVBAの機能に付いて説明が出来ないものを除くとも何も書かれていないものね。
しかもコードどうの以前のところだから普通の説明でもダメか。
うわー残念だなー。でもテンプレは守らないとなーw
0356デフォルトの名無しさん
2013/09/08(日) 08:46:14.62★5はコードクレクレ君への対策
これに尽きる。詳しくは
●EXCEL・VBA質問スレ Part2●
http://pc11.2ch.net/test/read.cgi/tech/1180192018/
あたりの過去ログを読んでね。
0357デフォルトの名無しさん
2013/09/08(日) 10:04:32.77「VB6で出来ることはスレ違い」って頭固すぎでしょ
0358デフォルトの名無しさん
2013/09/08(日) 10:21:41.13だからVB6の次スレが立つまでは、ある程度VBも出来る事もOKにしない?
「実行環境がExcelならOK」とか。
0359デフォルトの名無しさん
2013/09/08(日) 10:23:53.03訂正
ある程度VBの質問もOKって事にしない?
0360デフォルトの名無しさん
2013/09/08(日) 10:30:00.96だが、このスレではテンプレでそう書いてあるんだから仕方がない。
次スレでは修正するとして、このスレでは全てスレ違いになるので、
何でもスレの方でやるしかないな。
0361デフォルトの名無しさん
2013/09/08(日) 11:09:44.11何言ってんだ?
VBプログラマ質問スレ(Ver.6.0 まで) part63
http://toro.2ch.net/test/read.cgi/tech/1378020423/
0363デフォルトの名無しさん
2013/09/08(日) 12:10:39.16>>356
0364デフォルトの名無しさん
2013/09/08(日) 12:49:13.970365デフォルトの名無しさん
2013/09/08(日) 13:46:24.21経緯はどうであれ、今そうテンプレに書いてあるんだから仕方がない。
次スレでテンプレ改修してくれ。それまでは何でもスレに誘導してくれ。
0366デフォルトの名無しさん
2013/09/08(日) 14:29:14.35要はクレクレ君も受け入れたいって話?
0367デフォルトの名無しさん
2013/09/08(日) 15:00:44.52★5の解釈が曖昧な事
クレクレは論外として、やる気はあるけど全く分からず結果丸投げとか。
こういう質問への対応を巡って荒れる事が多い。
0368デフォルトの名無しさん
2013/09/08(日) 15:01:31.36人の話を聞こうともしないやつに指図されても従う奴はいないと思う。
0369デフォルトの名無しさん
2013/09/08(日) 15:07:03.08テンプレに沿わない質問なんかはなんでもスレに回せばいいじゃん
0370デフォルトの名無しさん
2013/09/08(日) 15:40:20.50コードでの回答も結果クレクレ対策の阻害になる可能性があるし、
VB6で出来る事は1命令でもExcelの機能から外れる所がある場合は
Excelの機能とは無関係なのでその部分を飛ばして話さなければならない。
守れない様であれば何でもスレでやれ。
0371デフォルトの名無しさん
2013/09/08(日) 16:00:57.40答えたくない人は単に無視していればいいのに、
このスレでは質問者も回答者もことごとくけなして潰すのが
ほぼデフォになってるし、そりゃー機能不全起こして荒れるわな。
スレ奉行は放っておいて、早めに新スレたてた方がいいかもな。
0372デフォルトの名無しさん
2013/09/08(日) 16:17:56.82いつも同じ事を言うだけなんだよな。
それを許すと質問スレじゃなくなるって言われ続けてるのに。
新スレというよりなんでもスレで充分だろ。
0373デフォルトの名無しさん
2013/09/08(日) 16:22:27.920374デフォルトの名無しさん
2013/09/08(日) 16:36:24.96このスレの存在意義は?
「なんでもスレ」は何でも受け付けると言う事だよね、質問も含めて。
このスレ意味無いじゃん。
0375デフォルトの名無しさん
2013/09/08(日) 16:38:29.55そうか?
許すやつがいるからコード作成依頼が来てるわけだが。
コード作成依頼を質問と言い張るならいつまでたってもこの問題は解決しないと思う。
0376デフォルトの名無しさん
2013/09/08(日) 16:52:39.19コードがわかっているけど敢えて質問するというニッチな質問者ばかり追い求めようとするから
スレの意義が現実離れして存在意義も希薄になる。
その辺に対する反省がない限り、機能不全状態は続くと思う。
0377デフォルトの名無しさん
2013/09/08(日) 16:55:57.61わかってやれよ
0378デフォルトの名無しさん
2013/09/08(日) 16:58:58.880379デフォルトの名無しさん
2013/09/08(日) 17:10:53.16このスレのルールはヒント出せばコードを書ける人を対象にしてるだけなんだが。
そのルールを守れないということなら別のスレでやればいいだけなんだが。
掲示板がどういうものか理解できてないとしか言えないんだが。
0380デフォルトの名無しさん
2013/09/08(日) 17:37:30.32こいつ1匹残して皆なんでもスレに移行すればいい。
0381デフォルトの名無しさん
2013/09/08(日) 18:14:34.520382デフォルトの名無しさん
2013/09/08(日) 18:23:12.78殆どがスレ違いになるだろうから
必然的にみんな何でもスレの方に行くだろうけどな
0383デフォルトの名無しさん
2013/09/08(日) 18:28:52.45VB6で出来ることかどうか判断できるようなやつは
こんなとこで質問なんてしないって
0384デフォルトの名無しさん
2013/09/08(日) 18:32:58.49どういう線引きなんだよ?
0385デフォルトの名無しさん
2013/09/08(日) 18:34:16.74つまりテンプレとして役に立ってない訳だ
0386デフォルトの名無しさん
2013/09/08(日) 18:37:28.71スレ違いだと寄ってたかっていじめ倒すためのテンプレとして
役に立っている。マジ糞スレだなぁ。
0387デフォルトの名無しさん
2013/09/08(日) 18:39:05.56>>356
0388デフォルトの名無しさん
2013/09/08(日) 18:42:22.44で?
0389デフォルトの名無しさん
2013/09/08(日) 18:46:11.33あとコード書いてる人をけなしたりとか
0390デフォルトの名無しさん
2013/09/08(日) 18:47:53.180391デフォルトの名無しさん
2013/09/08(日) 18:53:39.73たしかに
0392デフォルトの名無しさん
2013/09/08(日) 18:55:48.86だな、改定案考えようぜ
0393デフォルトの名無しさん
2013/09/08(日) 19:03:40.90無駄な文言は一切入れない方がいいと思う。
0394デフォルトの名無しさん
2013/09/08(日) 19:09:48.20なんでもスレに行けばいいじゃん
0395デフォルトの名無しさん
2013/09/08(日) 19:17:34.61だな。スレのルール守れないやつがテンプレ考えてもどうせルール守らないだろうし。
0396デフォルトの名無しさん
2013/09/08(日) 19:21:51.610397デフォルトの名無しさん
2013/09/08(日) 19:44:31.010398デフォルトの名無しさん
2013/09/08(日) 21:36:22.34そっか〜、どうやんのか知らんけどがんばってくれ〜
0399デフォルトの名無しさん
2013/09/08(日) 22:15:14.96元々テンプレ絶対論を唱えたのはその荒らしだから
本人が守らない訳には行くまい。
0400デフォルトの名無しさん
2013/09/08(日) 22:51:32.88簡単だよ、スルーするだけ
0401デフォルトの名無しさん
2013/09/09(月) 09:50:22.55↓
常厨への不満爆発 ←いまここ
今のアホテンプレは論外だけど、多少テンプレを変えたとしても、ExcelVBAスレである限り
同じような面子が継承されるからやっぱり荒れやすいんだうなぁ。
Excelは扱えてVBAにも興味あるけど、コードを書いたり読んだりするスキルはまだいまいちの人も
集まりやすいし、その中からググレカスとか糞コードとか言って偉ぶりたいだけの口だけ番長も発生しやすい。
現存のなんでもスレの方が、範囲が広い分、様々なスキルの人が集まって風通しが良さそうだ。
敢えてExcelVBAを立てようとしなくても良いように思えた。>> 396
0402デフォルトの名無しさん
2013/09/09(月) 10:38:26.90Wordに貼り付けるというマクロを組みたいです。
もちろん表の大きさに応じて、Wordの何ページ目のどこに貼るかというのもVBAでコードを組んで自動処理したいです。
そのために「覚えるべきこと」は何ですか?
この目的に沿う「本」や「Web解説サイト」はどこですか?
0403デフォルトの名無しさん
2013/09/09(月) 10:44:06.69VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0404デフォルトの名無しさん
2013/09/09(月) 11:16:22.96理由が分かりません。
ご教示ください。
シート上のデータはすべて文字列で100×100くらいにびっしり埋まってます
Dim rng As Range
Dim c As Variant
Set rng = Cells(1, 1).CurrentRegion.Columns(2).Offset(1, 0)
For Each c In rng
MsgBox c.Value
Next c
0405デフォルトの名無しさん
2013/09/09(月) 11:21:17.570406デフォルトの名無しさん
2013/09/09(月) 11:24:25.04Sub test()
Dim rng As Range
Dim c As Variant
Set rng = Cells(1, 1).CurrentRegion.Columns(2).Offset(1, 0)
rng.Select
For Each c In Selection
MsgBox c
Next c
End Sub
0407デフォルトの名無しさん
2013/09/09(月) 12:00:40.63>>406
早速ありがとうございます!
columnsはセルの配列にはならないということでしょうか?
rng.addressを調べると"B2:B100"と出るのですが、
素人なのでこの辺りがどうもよく分かりません・・・
selectionはなるべく使いたくないんです。
実行時にシートがアクティブになっている保証がないので・・・
0408デフォルトの名無しさん
2013/09/09(月) 12:32:06.47For Each c In rng
を
For Each c In rng.Cells
に修正してもダメなのかな?
0409デフォルトの名無しさん
2013/09/09(月) 13:34:53.98Cells(1, 1).CurrentRegion.Columns(2).Offset(1, 0)
が何を対象としたいのかわからん
Cells(1, 1).CurrentRegion.Offset(1, 0)
で良いんじゃないのか?
0410デフォルトの名無しさん
2013/09/09(月) 20:57:39.92ステートメント等にカーソル合わせてF1キーを押せばヘルプが表示されますよね?
それで
Application.GetOpenFilename(〜
で GetOpenFilenameの部分にカーソル合わせてF1を押したんだけど、
該当結果はありません
ってヘルプの目次の部分に出るし、Officeのテキストボックスに入れても同じように
GetOpenFilenameの検索結果はありませんでした
って出てくるんでどうすればヘルプが出るようになります?
一応、コンパネのアプリケーションのアンインストールで右クリック→変更→
から機能の追加/削除ではexcelの部分は全てインストールされてることは確認し
修復→OS再起動は試したんですがかわりなしです。
0411デフォルトの名無しさん
2013/09/09(月) 21:32:45.190412デフォルトの名無しさん
2013/09/09(月) 21:54:09.62おれもだけどネットで調べてるよ(鼻ほじりながら
0413デフォルトの名無しさん
2013/09/09(月) 21:57:40.74http://www.officelabo.net/excel_qa/qa46.html
0414デフォルトの名無しさん
2013/09/09(月) 22:03:49.11http://litz.sakura.ne.jp/upload/src/up0854.png
0415デフォルトの名無しさん
2013/09/09(月) 23:08:17.77>>414
ありがとう m(__)m。表示することが出来るようになりました
>>412
ネットで調べるのは良いんだけど、ヘルプが正しく表示されないのは気分悪いっしょ
0416デフォルトの名無しさん
2013/09/10(火) 01:52:28.30あるユーザーフォーム(UserForm1とします)で、
他のユーザーフォーム(Userform2とします)が起動中かどうかを確認するため、
Userform2.visibleの値をチェックするコードを作ったのですが、
これを実行すると、なぜかチェックを行った時点で、
UserForm2のUserForm_Initialize()部分に書かれたコードが勝手に実行されてしまいます。
具体的なコードとしては、
【UserForm1】
Private Sub UserForm_Initialize()
If UserForm2.Visible = True Then
MsgBox "UserForm1起動中"
Else
MsgBox "UserForm1非表示"
End If
End Sub
【UserForm2】
Private Sub UserForm_Initialize()
MsgBox "UserForm2イニシャライズ"
End Sub
これでUserForm1を起動すると、"UserForm2イニシャライズ"のメッセージが出てしまいます。
ただ単にUserForm2が起動しているかどうかだけを確認したいのですが、
どのような処理を行えば良いのでしょうか?
よろしくお願いします。
0417デフォルトの名無しさん
2013/09/10(火) 02:22:38.24UserFormsをループしてUserForm2が含まれてるかどうか確認すれば良いんじゃね
自分で開いたかどうか管理して、フラグなりそのフォームへの参照なり持っとく方が良いけどな
まあ、その方法はEXCEL関係ないからよそで聞いてくれ。つか最初の方法もEXCEL関係ないっちゃ関係ないけど
0418デフォルトの名無しさん
2013/09/10(火) 16:31:16.42値が重複していないもののみにつき
ある処理を実行したいときはどういうコードを書きますか?
例えば50セル選択してて、半分近くが「東京都」、あと「大阪府」「北海道」「広島県」「神奈川県」「福岡県」「沖縄県」と種類は7種しかなく
この7つの都道府県についてだけ各シートを作り(Add)、都道府県情報を別ブックから抽出して表示させる、みたいな。
「選択セルの中から重複していない値だけを取り出す」という部分だけでいいから、教えてケロです。
0419デフォルトの名無しさん
2013/09/10(火) 16:56:45.51コード作成依頼なら別スレでやってくれ。
自分で何とか解決したいのなら
・選択中のセルの範囲を取得する
・重複していない値だけ取り出す
が解決できればいいんじゃね?
因みに「重複していない値だけ取り出す」はどのように考えてるのかな?
0420418
2013/09/10(火) 17:08:10.39もちろん頭で考えています。
0421デフォルトの名無しさん
2013/09/10(火) 17:08:34.95たとえば、上から順番に見て行って、該当都道府県のシートが無ければ追加
有ればなにもしない、っていう処理を最後まで繰り返せば良い
使い捨ての処理なら俺ならこれで済ます
0422418
2013/09/10(火) 17:15:58.67引数1 セル範囲
引数2 単一セル
返り値 単一セルがセル範囲に存在する個数
そうすれば以下で解決するから。
For Each testCell in Selection
If FUNCTION(Selection, testCell)=1 Then
[処理]
End If
Next testCell
0423デフォルトの名無しさん
2013/09/10(火) 17:26:19.25コード作成依頼は別スレ行けって。
0424デフォルトの名無しさん
2013/09/10(火) 17:32:47.330425418
2013/09/10(火) 17:47:56.09Countifがあるね。
でもWorksheetfunction.Countifで対処しようとしても、ちょっと動作が違うからね。
0426418
2013/09/10(火) 17:48:42.60厨はアッチ行って。
0427デフォルトの名無しさん
2013/09/10(火) 17:51:45.09>>1★5
0428デフォルトの名無しさん
2013/09/10(火) 19:22:37.31見事なひねくれっぷりだねえ
0429デフォルトの名無しさん
2013/09/10(火) 19:39:13.60セル範囲の分だけループする
いまあるワークシートの枚数だけループする
セルの値と同じワークシート名があった場合はなにもしない
セルの値と同じワークシート名が見つからなかったら、ワークシートを追加してシート名をセルの値にする
いまあるワークシートの枚数だけループする
ワークシート名と県名が一致したら、都道府県別情報を別ブックから抽出してどっかにコピーする
0430418
2013/09/10(火) 19:44:00.25ワークシートは忘れてください。
具体例を出したほうがイメージしやすいと思った説明の工夫で
実際はワークシートは作らない。
「選択セルの中から重複していない値だけを取り出す」という機能だけ、どうコードに効率よく書くにはどうすればいいかが知りたい。
0431デフォルトの名無しさん
2013/09/10(火) 19:52:27.82「選択セルの中から重複していない値だけを取り出す」処理をどうやるのか考えがあるんでしょ。
それをコードに書き出せばいいんじゃないの?
コードで分からないことがあるんだったらどういう部分が分からないのか質問すればいい。
0432デフォルトの名無しさん
2013/09/10(火) 20:01:50.75忘れて欲しい例えなんか書くなよ
あんまりスマートじゃない方法だったら思いつくんだけどなぁ
0433418
2013/09/10(火) 20:14:44.53ぜひお願いいたします。
0434デフォルトの名無しさん
2013/09/10(火) 20:33:20.57セルの値を変数に格納
セルの値をいったんクリアしとく
Findで選択範囲に変数と同じ値があるか判定(ないならNothing)
セルに変数値を入れてもとに戻しておく
If FUNCTION(Selection, testCell)=Nothing Then
みたいな感じでどうにかならないか
0435418
2013/09/10(火) 20:43:06.37嗚呼素晴らしい哉!
いったんクリアでそれが単一の値か調べるのですか。
ちょっとまわりくどいけどその部分は関数にすればすっきりとしたコードになりますね。
0436デフォルトの名無しさん
2013/09/10(火) 20:54:42.13クリア直後にエラーが発生したら元のデータが無くなる可能性があるんだけど。
別シートにコピーして操作したほうが安全。
0437デフォルトの名無しさん
2013/09/11(水) 04:30:15.65問題はVBAにディクショナリが無いw
スクリプティングの使うか、コレクションで自作するか、ワークシート使うか、配列で頑張るか
0438デフォルトの名無しさん
2013/09/11(水) 08:07:29.64じゃダメなのか
0439デフォルトの名無しさん
2013/09/11(水) 08:21:01.04完全にスレ違いだ
0440デフォルトの名無しさん
2013/09/11(水) 11:47:59.650441デフォルトの名無しさん
2013/09/11(水) 13:02:34.45関数にしないといけないのかな、
If FUNCTION(Selection, testCell)=1 Then を
If WorksheetFunction.CountIf(Selection, testCell) = 1 Then
じゃいけないのかな? >>425 での ”ちょっと動作が違う”のはどこら辺。
0442418
2013/09/11(水) 13:27:09.72それだと1個しか存在しない県(マイナーな青森県みたいな)だけ処理することになり
東京都とかSelection内に複数ある都道府県は処理を行わなくなってしまう。
0443デフォルトの名無しさん
2013/09/11(水) 13:43:12.44追加の処理として「複数ある値」の時も処理をするなら、
もう一つ if文を追加して、個数が0より大きい時の処理を付け加えては。
0444デフォルトの名無しさん
2013/09/11(水) 13:44:19.09× 返り値 単一セルがセル範囲に存在する個数
○ 返り値 単一セルがそれまでのセル範囲に存在する個数
0445418
2013/09/11(水) 13:48:09.26引数 データ(DB用語でいうレコード)たくさん
返り値 そのうち重複しないデータ
0446418
2013/09/11(水) 14:00:19.20For Each testCell in Selection
If WorksheetFunction.CountIf(Selection, testCell) > 1 Then
testCell=""
Else
[処理]
End If
Next testCell
これで完成だ。
0447418
2013/09/11(水) 14:05:49.800448デフォルトの名無しさん
2013/09/11(水) 15:13:27.35ここのみなさんは未だに2003以前をお使いなんですか
0449デフォルトの名無しさん
2013/09/11(水) 15:41:03.710450デフォルトの名無しさん
2013/09/11(水) 16:44:54.130451デフォルトの名無しさん
2013/09/11(水) 16:51:30.460452デフォルトの名無しさん
2013/09/11(水) 17:53:48.890453デフォルトの名無しさん
2013/09/11(水) 18:04:05.86今すぐ自殺した方が安全
0454デフォルトの名無しさん
2013/09/11(水) 18:58:05.23先ず隗より始めよ
って諺がありますよ
0455デフォルトの名無しさん
2013/09/11(水) 19:11:47.850456デフォルトの名無しさん
2013/09/11(水) 20:15:03.66巨人の阿部が2ランホームランを打って4-1になったと思いきや
そのあとまるでホームランがなかったように2-1に戻ってるんですが
なにかあったのですか?
0457デフォルトの名無しさん
2013/09/11(水) 20:29:09.59ttp://www.youtube.com/watch?v=8iGQURR2Kak
0458デフォルトの名無しさん
2013/09/11(水) 21:39:11.69>>453
0459デフォルトの名無しさん
2013/09/12(木) 02:57:05.93最新機能が本当に必要かどうか判断することを放棄してゲイツの奴隷になれというわけですね
0460デフォルトの名無しさん
2013/09/12(木) 19:33:42.340461デフォルトの名無しさん
2013/09/12(木) 19:54:32.25PG初心者のたまり場だから仕方がない。
0462デフォルトの名無しさん
2013/09/12(木) 21:20:02.17ここは時間が止まってるんだなあ
0463デフォルトの名無しさん
2013/09/12(木) 21:43:29.18object指向理解できたらVBAのコーディングもはかどるだろうか?
まったくわからないけど...
0464デフォルトの名無しさん
2013/09/12(木) 23:06:03.370465デフォルトの名無しさん
2013/09/12(木) 23:29:10.56本で紹介されていたソースをコピーして使ってはいるけどw
0466デフォルトの名無しさん
2013/09/14(土) 16:36:19.680467デフォルトの名無しさん
2013/09/14(土) 20:08:49.42大昔はノートに鉛筆で書いてた
http://www.protom.org/mad/0070_111.jpg
8桁ごとに線が太くなってる、プログラム専用のノートなんてのが売られてた
0468デフォルトの名無しさん
2013/09/14(土) 21:13:27.66Gの列に英数6桁の文字列があります。(例:123ABC)
それらの末尾に半角アスタリスクを付け加えたいのです。(例:123ABC*)
Range("G:G").Value = Range("G:G") & "*"
と書いて実行してみましたが、
ワイルドカードの*と認識されてしまうらしく、作動しません。
エラーメッセージは「型が一致しません」と表示されます。
「ワイルドカード エスケープ」でぐぐってみましたがわかりませんでした。
どなたかアドバイス願います。
0469デフォルトの名無しさん
2013/09/14(土) 21:15:50.89書いてみた式がコピペでうまく表示されていませんでしたので訂正します。
アスタリスクの前に半角で 〜や¥を試してみましたが上手くいきませんでした。
0470デフォルトの名無しさん
2013/09/14(土) 21:36:47.48いや、そのコードを手書きしている意味が分からない。
8桁区切りはまぁ、区切りがいいから理解出来るが、
幾ら昔でもアセンブラや逆アセンブラは有ったし、無ければ自分で作ってた。
まだ横に有るのがアセンブラコードをダンプ化したものやチェックサムならともかく、NEXTってなんだよ。
スレ違いとは分かっていても凄く気になる。
0471デフォルトの名無しさん
2013/09/14(土) 21:47:36.33でやれば正常に処理できた
ループは不可?
0472デフォルトの名無しさん
2013/09/14(土) 21:51:31.84Cells だとできるんですね。
Range だからできないのか、ループだからできないのか、わかりませんが実験してみます。
ちなみに下記の式でループもでき、解決しました。
ありがとうございます。
Range("G:G").NumberFormatLocal = "@""*"""
0473デフォルトの名無しさん
2013/09/14(土) 21:57:33.51ループもできました。
勉強になりました。
0474デフォルトの名無しさん
2013/09/14(土) 22:06:01.45本当の最初はアセンブラがなかったんだよ
その時代の資料がネットでは発見できなかったけど、自分で暗算して16進数に直した物を入力してた
だから、16進コードを書くための用紙が売られてた
その次に、アセンブラは作られたけど、まだテキストエディタのない時代があった
0475デフォルトの名無しさん
2013/09/14(土) 22:14:02.85Formatを使って、123ABC が 123ABC* と表示されていても、実体は?
MsgBox で確認するべし。
0477デフォルトの名無しさん
2013/09/14(土) 22:20:57.64formatでもしダメなら、これでどうかな?
Dim str As String
Dim c As Long
For c = 1 To Cells(Rows.Count, 7).End(xlUp).Row
str = Cells(c, 7).Value
str = str +"*"
Cells(c, 7).Value = str
Next c
End Sub
0478デフォルトの名無しさん
2013/09/14(土) 22:22:27.01sub テスト
Dim str As String
Dim c As Long
For c = 1 To Cells(Rows.Count, 7).End(xlUp).Row
str = Cells(c, 7).Value
str = str +"*"
Cells(c, 7).Value = str
Next c
End Sub
0479デフォルトの名無しさん
2013/09/14(土) 22:50:17.70JR(NZ) とかでループするときにオペランドの値を数えるときに
FF
FE
FD
FC
FB
FA
F9
F8
...
って数えていくんだよな
0480デフォルトの名無しさん
2013/09/14(土) 23:01:41.63大昔は、PC はおろか端末さえも一人一台じゃなかったから、いくらアセンブラーとかあってもどうしようもなかった。
0481デフォルトの名無しさん
2013/09/14(土) 23:14:32.00確かに、アセンブラーなんてのは理想の高級言語だった。
1命令づつ、トグルスイッチで入力してたね。
0482デフォルトの名無しさん
2013/09/14(土) 23:45:13.68節子、それマシン語や
0483デフォルトの名無しさん
2013/09/14(土) 23:47:51.51>>1★5厨が来たらビックリして小便漏らすんじゃないか?
0484デフォルトの名無しさん
2013/09/14(土) 23:50:32.320485デフォルトの名無しさん
2013/09/15(日) 00:04:43.320486デフォルトの名無しさん
2013/09/15(日) 00:11:11.36FORMAT だと見た目だけでしたね・・・・
文字列2つをくっつけるだけでこんなに色々やり方があるとは勉強になりました。
結局はシンプルな
Cells(1, 1) = Cells(1, 1) & "*"
をループする方法を採用しました。
ありがとうございます。
0487デフォルトの名無しさん
2013/09/15(日) 00:17:45.95荒らしてドヤ顔。
工作員がやりそうなことだな。
0488デフォルトの名無しさん
2013/09/15(日) 00:25:03.920489デフォルトの名無しさん
2013/09/15(日) 05:42:09.86例えばこんな感じ↓にしても、2つのListboxのいずれにも、3×1のデータが表示されてしまいます。
これって仕様でしょうか?
(わざわざ2次元にしてるのは、場合によっては、3×2や3×3になることがあるからです)
Private Sub UserForm_Initialize()
Dim myData() As Variant
ReDim myData(2, 0)
myData(0, 0) = "a"
myData(1, 0) = "b"
myData(2, 0) = "c"
With UserForm1.ListBox1
.List = myData
.ColumnCount = 3
End With
With UserForm1.ListBox2
.List = WorksheetFunction.Transpose(myData)
.ColumnCount = 3
End With
End Sub
0490デフォルトの名無しさん
2013/09/15(日) 09:27:37.00股間拭けよw
0491デフォルトの名無しさん
2013/09/15(日) 09:36:03.80myDataにデータを格納するんじゃなくてワークシートにデータを格納してもダメなの?
0492デフォルトの名無しさん
2013/09/15(日) 09:46:13.440493デフォルトの名無しさん
2013/09/15(日) 12:34:46.65ReDim myData(2, 0) −> ReDim myData(2, 1)で出来る。
添え字0の配列が無駄になると考えるなら、Option Base で変更。
その時は ReDim myData(3, 1)で、添え字の範囲も、(1〜3と1)に。
0494デフォルトの名無しさん
2013/09/15(日) 19:06:27.96なんだろうね、これ
要素数1の配列は、配列じゃないって判定うけるのかね
しかもOption Base 0 指定しても、無視して添字1からの配列つくりやがるっぽい
行数と列数同じ配列にして、自前で入れ替える処理書くのが無難なんじゃね
0495デフォルトの名無しさん
2013/09/15(日) 19:32:40.00>>491
ある意味一番確実かも・・・最後はそれでやってみます
>>493
要素数増やすとうまくいきますね
ただ、リストボックスに空のリストができてしまうのが難点です
>>494
そうそう、変ですよねVBAの配列って
0496デフォルトの名無しさん
2013/09/15(日) 21:36:34.39要素数1個の配列作る奴の方が変だが
リストボックスに表示するために行列変換するのもなんだかな、って感じだが
ちなみに変なのはワークシート関数の仕様であって、つまりEXCELが変。VBAが変なわけではない
0497デフォルトの名無しさん
2013/09/16(月) 07:39:23.270498デフォルトの名無しさん
2013/09/16(月) 07:55:16.30作り手の問題という視点がすっぽり抜けてる。
大抵の場合ほとんどが作り手の問題なんだけどな。
自分は悪くないってどこぞの人間と同じ。
0499デフォルトの名無しさん
2013/09/16(月) 08:26:03.62redim preserve(笑)とか
2次元以上の配列だと1つの次元しか拡張できないし色々酷い
0500デフォルトの名無しさん
2013/09/16(月) 11:30:55.590501デフォルトの名無しさん
2013/09/16(月) 22:16:50.60そういうのを検出する工夫とかって無いでしょうかね。
仕様をきちんと整備していたらそういう事もないんでしょうが、あれこれ作っているとどうしても出てきてしまいます^^;
0502デフォルトの名無しさん
2013/09/16(月) 22:35:52.47検出は名前を変えてコンパイルしてみるとか?
0503デフォルトの名無しさん
2013/09/16(月) 22:42:17.66検出するプログラムをVBAで作る
0504501
2013/09/16(月) 23:07:33.57w VBAProjectというものを操作する…ということなんですかね。難しそうだけどもしそういうのが出来たら
後々重宝しそうではありますね。今の俺のレベルではまだ無理みたいですが^^;
>>502
地道にそうやるのが良いかな…
他にはみなさん、どうしておられます?
0505デフォルトの名無しさん
2013/09/16(月) 23:11:45.46使ったことないけど、Doxygen にかけてみるとか。
http://needtec.exblog.jp/20448110/
0506デフォルトの名無しさん
2013/09/16(月) 23:26:55.94放置しととけばいいんじゃないの
特に支障ないでしょ
0508デフォルトの名無しさん
2013/09/18(水) 13:02:56.59こんな感じで使いたいのですが構文エラーになります
セルで指定する方法がありましたら教えてください
0509デフォルトの名無しさん
2013/09/18(水) 13:11:23.89v = WorksheetFunction.Sum(Range(Cells(Ny, x), Cells(y - 2, x)))
0510デフォルトの名無しさん
2013/09/18(水) 13:18:23.310511デフォルトの名無しさん
2013/09/18(水) 23:53:38.37部品は最初から用途別にモジュール、またはクラスに纏めて作っておく。
要らない関数を消すんじゃ無くて、使う関数が入ってるモジュールやクラスを組み込むんだ。
0512デフォルトの名無しさん
2013/09/21(土) 19:29:14.29と書いて
セルA=7
セルB=2.5
にして実行すると
modの結果が1になってしまい、IFの中に入れません
イミディエイトウィンドウで直接以下の式を実行しても結果は1になりました。
? 7 mod 2.5
1
なぜでしょうか?
対処方法を教えてください
0513デフォルトの名無しさん
2013/09/21(土) 20:03:16.33IF (セルA.value)*10 mod (セルB.value)*10 = 20 then
でどうかな?
0514デフォルトの名無しさん
2013/09/21(土) 20:19:39.68ありがとうございます
やはりそれしかないですか・・・
なんでこうなってしまうのでしょうか?
エクセルのセル上でmod関数使うとちゃんと2になってくれるのに
0515デフォルトの名無しさん
2013/09/21(土) 20:29:11.96VBAのヘルプで見ると
「いずれかの数値が浮動小数点数の場合は、整数に丸められます。
MyResult = 12 Mod 4.3 ' 0 を返します。
MyResult = 12.6 Mod 5 ' 3 を返します。」
とあるので、VBAでは
12 Mod 4.3 は INT(12) Mod INT(4.3)
12.6 Mod 5 は INT(12.6) Mod INT(5) と同じになると思われます。
0516デフォルトの名無しさん
2013/09/21(土) 20:33:32.10INT は間違いでした、ROUND(12.6,0) が正しい。
0517デフォルトの名無しさん
2013/09/21(土) 20:35:19.87クソですね
ありがとうございました
0518デフォルトの名無しさん
2013/09/21(土) 23:56:20.420519デフォルトの名無しさん
2013/09/22(日) 01:55:10.860520デフォルトの名無しさん
2013/09/22(日) 08:21:05.25このスレはクソそのものです。
0521デフォルトの名無しさん
2013/09/22(日) 09:20:18.920522ピラフ
2013/09/22(日) 09:30:02.83VBAがクソ言語じゃないことをピラフが証明してみせるよ!はい証明終了!!
Function Pilafu_Mid(a, b)
Pilafu_Mid = a - Fix(a / b) * b
End Function
もしマイクロソフトの中の人とお知り合いの人がいたら世界最大のインターネットコミュニティで
ピラフがVBAの普及に尽力されてたってお伝えいただけない?ピラフにMS Officeを無料で進呈すべき
だって進言してくださらないでしょうか。よろしくお願いします。ありがとうございます。
0523デフォルトの名無しさん
2013/09/22(日) 09:32:57.55生理が終わったのか。
0524デフォルトの名無しさん
2013/09/22(日) 10:17:05.980525デフォルトの名無しさん
2013/09/22(日) 13:21:33.40なんでModじゃなくてMidなの?
あと青い肌のあいつは "Pilaf"
0526ピラフ
2013/09/22(日) 13:34:25.91Modは正しくはRemainderなんだからRemなんだけど、
Remはコメントのためにリザーブされてるでしょ、だから
ほんとはRemなのにModになってるわけで、ピラフがModをMidと書いたのはそれと
少しも関係ないんだけど、書き間違えたの。ピラフ書き間違えたの。とにかくピラフが
言いたいのはピラフが書き間違えたってことなの。でも熱意は伝わってるっしょ。じゃあそれでいいです。
0527デフォルトの名無しさん
2013/09/22(日) 15:06:48.720528デフォルトの名無しさん
2013/09/22(日) 16:46:54.970529デフォルトの名無しさん
2013/09/22(日) 17:31:51.31それワークシート関数のMODと互換じゃないから
MOD(7,-2.5)と比べてみろ
ちゃんとワークシート関数の説明に MOD(n, d) = n - d*INT(n/d) だって書いてあるのに、なんでわざわざ改悪するかな
0530ピラフ
2013/09/22(日) 17:40:09.33ワークシート関数と互換だと言った覚えはないよ。
Modと互換だと仮定すればピラフが言ってることは間違いになる。
そうすればピラフのコードの瑕疵を指摘した自分は賢く思われる。
俺カッコいい。そういうことでしょ。だっせえやつ。お前大学出てないだろ。
0531ピラフ
2013/09/22(日) 17:43:05.73最近こういう詭弁使って無理矢理自分を賢く見せようとする雑魚が増えたよな。
低学歴自慢にしかなってないことにいつごろお気づきになるのだろうか。
最低でもMarchぐらい卒業してないと話にならんな。ピラフはアメリカのケンブリッジを卒業したけどね。
首席に近かったんじゃないかな。別にピラフそういうの気にしてなかったから見なかったけどね。
ほとんど首席だった。
0532デフォルトの名無しさん
2013/09/22(日) 17:58:32.610533デフォルトの名無しさん
2013/09/22(日) 19:06:45.23VBAの話じゃ無いけど、流れで。
MSは「n - d*INT(n/d)」を理想として設計してるが、
エクセル関数のMODは上記式とは完全一致しない。
エクセルの表計算は2進数での計算の為、2進化10進数ではない。
そのため、
=MOD(12,0.1)の様な小数点の数字が有る時は、変換誤差が出る為注意が必要。
VBAについては、既出の通りだが、
ワークシート関数でも小数点は要注意と思う。
0534デフォルトの名無しさん
2013/09/22(日) 20:08:32.98最近こういう自演使って無理矢理自分を賢く見せようとする雑魚が増えたよな。
0535デフォルトの名無しさん
2013/09/22(日) 20:42:26.37もともと小数が絡まなくても MOD(70,-25) は -5、70 mod -25 は 20 という違いがある
Pilafu_Midは後者と同様ってだけで、改悪とかそういう話じゃない
0536デフォルトの名無しさん
2013/09/23(月) 00:32:02.180537デフォルトの名無しさん
2013/09/23(月) 02:55:58.040538デフォルトの名無しさん
2013/09/23(月) 03:14:02.020539デフォルトの名無しさん
2013/09/23(月) 21:51:20.72VBAのmodの仕様がワークシート関数と違うから使えねぇって話なのに
VBAのmod互換の物をつくって、一体何がしたいの?
0540デフォルトの名無しさん
2013/09/23(月) 22:05:36.11お前、何から何まで間違ってるな
逆に感心するわ
0541デフォルトの名無しさん
2013/09/24(火) 07:12:38.44FLOOR
ROUNDDOWN
ROUNDUP
お好きに組み合わせれば
0542デフォルトの名無しさん
2013/09/25(水) 10:57:41.90作りたいのは作業日報のようなものです。
入力フォームに入力された内容を別のBookに保存します。
Rangeとかは理解できてきましたが、大きな問題を抱えています。
フォームの登録ボタンを押下時には
シートを新しく作成してそこに書き込むようにしたいのです。
そうして次々とシートを追加していくようにしたいのですが
そのような事は可能なのでしょうか?
OS Win7 Excelは2010です。
0543デフォルトの名無しさん
2013/09/25(水) 11:04:30.020544デフォルトの名無しさん
2013/09/25(水) 11:08:30.26検索しても出てこなかったもので困っていました。
出来るのであればもう少し調べてみます。
0545542
2013/09/25(水) 12:17:23.60入力値から取得した名前でシートを次々追加できるのを確認しました!
まぁ 間違えて終了してしまって全部消えましたけど。
0546デフォルトの名無しさん
2013/09/25(水) 12:37:06.58試行錯誤の跡が消えてコードがスッキリするよな
0547デフォルトの名無しさん
2013/09/25(水) 22:02:40.94このスレのテンプレの様だな。
0548デフォルトの名無しさん
2013/09/25(水) 23:33:03.031000行のデータを書式などのフォーマットもコピーする際に
1000行まとめてコピーペーストする場合と1行ずつ1000回コピーペーストする場合とではファイルのサイズが後者の方が重いです。
この場合に1行ずつ1000回のコピーペーストした際のファイルサイズを軽くしたいのですが、どのようにしたらよろしいでしょうか
値のみではなく書式もコピーしたいです。よろしくお願いいたします。
環境はOS Win7 Excel2010です。
0549デフォルトの名無しさん
2013/09/26(木) 00:24:10.860550548
2013/09/26(木) 00:35:27.431行ずつ読み込んでコピーする理由はデータを1行ずつ判定を行い
そしてその判定を元に複数のシートに仕分けを行いたいので、値と書式はセットで1行としてコピーペーストを行いたいです。
0551デフォルトの名無しさん
2013/09/26(木) 02:00:05.08作業用シートに1行ずつコピーしたあと、最後にまとめてコピーし直せばどうだろう
0552デフォルトの名無しさん
2013/09/26(木) 03:08:46.380553デフォルトの名無しさん
2013/09/26(木) 03:32:57.08同じように1000件のレコードで、ある程度フィールドもあるデータを、そのまま範囲選択でコピーするパターンと、カウンタまわして一行ずつコピーするパターンで試したけど。
4kbくらいしか違わなかった、まぁ確かに増えてるけど..
0554デフォルトの名無しさん
2013/09/26(木) 07:55:32.40試したけど結果的には重いサイズのままでした
>>552
書式はプルダウンリストと色のついたセルと罫線が引いてあるくらいです
>>553
上記のプルダウンリストや色が入っているためか、こちらはもっと重いです。
コピーを行う前の状態でも400kbが既にあります。
0555デフォルトの名無しさん
2013/09/26(木) 11:04:09.160556デフォルトの名無しさん
2013/09/26(木) 11:43:21.46だとしたら、同じように書式を再設定すればかなり軽くなると思う
0557デフォルトの名無しさん
2013/09/26(木) 15:51:29.68set a = セル範囲
で、for eachじゃダメなん?
0558デフォルトの名無しさん
2013/09/26(木) 17:53:57.44サイズ大きくなるのは多分それ
解決方法はしらん。範囲名さがして消せばいいんじゃね
0559デフォルトの名無しさん
2013/09/26(木) 19:19:25.12ありがとうございます。たぶんそれっぽいです。
探してみます。
0560デフォルトの名無しさん
2013/09/26(木) 22:19:02.01目的に対する手段が間違ってない?
コピー&ペーストする必要性があるの?
0561デフォルトの名無しさん
2013/09/26(木) 22:30:01.36実際の組んでたプログラムは複数のブックから読んで1つのブックに集約する目的があったが
1行ずつコピーってたら、まとめてコピーしたときよりも何倍もデータ量が増えることに気づいたからいろいろ試してた
別のブックを参照するからデータ量が増えたのかとも思ったけど同じ1つのシートでも同様の現象が起きたから質問した
別ブックを参照する条件をつけるよりも、同じブック内でも同様の現象が起きるなら
条件がシンプルなら方がいいと思って質問した
0562デフォルトの名無しさん
2013/09/27(金) 03:50:09.240563デフォルトの名無しさん
2013/09/27(金) 04:05:17.880564デフォルトの名無しさん
2013/09/27(金) 04:39:15.040565デフォルトの名無しさん
2013/09/27(金) 10:54:43.110566デフォルトの名無しさん
2013/09/27(金) 11:40:22.80今回は後者だから、これで機嫌を損ねるのは素人
0567デフォルトの名無しさん
2013/09/27(金) 11:45:52.250568デフォルトの名無しさん
2013/09/27(金) 22:12:40.650569デフォルトの名無しさん
2013/09/28(土) 02:02:33.940570デフォルトの名無しさん
2013/09/28(土) 02:06:15.950571デフォルトの名無しさん
2013/09/28(土) 06:41:28.040572デフォルトの名無しさん
2013/09/28(土) 07:14:18.05あと、>>569たちは>>559を見てないのか?
今の時点ではいったん終了してると思うけど。
0573デフォルトの名無しさん
2013/09/28(土) 07:25:48.39事実を端的に述べてるだろ。態度はまったく問題ないと思うが。
0574デフォルトの名無しさん
2013/09/28(土) 08:18:32.260575デフォルトの名無しさん
2013/09/28(土) 08:44:46.36質問者は、的外れなレスに対して事実を伝える時も
常に平身低頭で丁寧語と敬語を駆使しなければ
問題になるということなのかね。すごいね。まさかね。
0576デフォルトの名無しさん
2013/09/28(土) 09:17:30.060577デフォルトの名無しさん
2013/09/28(土) 10:34:20.620578デフォルトの名無しさん
2013/09/28(土) 11:26:57.50∨) オネガイシマス
((
(;´Д`)
( 八) カイトウシテクダサイ
〉 〉
ヾ
(´Д`;)、 コノトオリデス
ノノZ乙
0579デフォルトの名無しさん
2013/09/28(土) 13:22:38.45良心的な回答者に感謝しとけばおk
0580デフォルトの名無しさん
2013/09/28(土) 13:35:02.13モンスター回答者が跋扈する酷いスレだなw
0581デフォルトの名無しさん
2013/09/28(土) 13:43:37.32以降モンスター質問者が跋扈します
0582デフォルトの名無しさん
2013/09/28(土) 15:48:30.80[Folder01]
img001.jpg
img002.jpg
img003.jpg
img004.jpg
img005.jpg
・
・
[Folder02]
img001.jpg
img002.jpg
img003.jpg
img004.jpg
img005.jpg
・
・
[Folder03]
img001.jpg
img002.jpg
img003.jpg
img004.jpg
img005.jpg
・
・
[Folder04]
・
・
0583582
2013/09/28(土) 15:50:41.57これを前フォルダの最後のjpgファイルの番号の次の番号から、次のフォルダのjpgファイルの番号を始めたいのです。
フォルダとファイルはたくさんあります。(フォルダは50くらい、各フォルダにファイルは30くらい)
どういうコードを書けばいいですか?
0584デフォルトの名無しさん
2013/09/28(土) 16:10:16.23でぐぐれば
http://www.happy2-island.com/vbs/cafe02/capter01204.shtml
http://www.k1simplify.com/vba/tipsleaf/name.html
などいっぱい出てくるじゃん。
フォルダ名の取得とかもそこにあるからコードを書けとか勘弁してなw
0585デフォルトの名無しさん
2013/09/28(土) 16:39:44.65コード書け。リンク先に許可とってねえだろ勝手にリンク張るな。泥棒だぞ。
0586デフォルトの名無しさん
2013/09/28(土) 16:44:04.18.∩_∩ ミ ギャーッハッハッハッ!
o/⌒(. ;´∀`)つ
と_)__つノ ☆ バンバン
0587デフォルトの名無しさん
2013/09/28(土) 16:55:15.21リンクを貼りたい奴は貼ればいいし、コードを書きたい奴は書けばいい。
0588デフォルトの名無しさん
2013/09/28(土) 17:04:10.96リンク張られる身にもなれ!コード盗まれて知らないやつに我が物顔で書き込まれる身にもなれ!!
0589デフォルトの名無しさん
2013/09/28(土) 17:10:42.70リンク貼るなって言ったり、コード書くなって言ったり。
0590デフォルトの名無しさん
2013/09/28(土) 17:41:18.86じゃ、元々ウェブなんかに書かなけりゃ良いじゃん。
0591デフォルトの名無しさん
2013/09/28(土) 17:42:30.60その盗まれたというコードを見せてくれよ
興味あるわ
0592デフォルトの名無しさん
2013/09/28(土) 17:47:32.30リンクを張るときは許可がいるが、ホームページに書くのは自由だろ。
許可を取らずにリンク張るのって2chだけだろ。非常識な世界に閉じこもってたら
常識の世界がわからなくなる。
0594デフォルトの名無しさん
2013/09/28(土) 18:02:21.01Excelに関係ないからこっち
↓
VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0595デフォルトの名無しさん
2013/09/28(土) 18:10:14.220596デフォルトの名無しさん
2013/09/28(土) 18:11:05.81じゃあもういいよ!!
0597デフォルトの名無しさん
2013/09/28(土) 18:11:53.65ちなみにリンクに許可は不要だから、
管理者としてはリンクフリーか書かないかどっちかしかないよ
0598デフォルトの名無しさん
2013/09/28(土) 18:16:50.98語弊がある。
質問するにはスレのルールに則った上での質問の自由があり、
回答するのもスレのルールに則った上での回答の自由があるってことだろ。
0599デフォルトの名無しさん
2013/09/28(土) 18:29:39.72スルーしときなよ。
0600デフォルトの名無しさん
2013/09/28(土) 19:19:31.70このスレのルールって何だ?
またテンプレ?
0601デフォルトの名無しさん
2013/09/28(土) 20:44:00.680602デフォルトの名無しさん
2013/09/28(土) 21:33:24.690603デフォルトの名無しさん
2013/09/29(日) 23:24:35.31シートごとにカーソルを左上に戻す命令を書いていますが
Sub Macro1()
Windows("00score.xls").Activate
Worksheets("Sheet1").Select
Application.Goto Reference:=Range("A1"), Scroll:=True
Worksheets("Sheet2").Select
Application.Goto Reference:=Range("A1"), Scroll:=True
・・・
Worksheets("Sheet10").Select
Application.Goto Reference:=Range("A1"), Scroll:=True
End Sub
このような書き方で10シート実現できましたが
20シートに増やす場合
もっとシンプルに記述するにはどうすればいいのでしょうか?
0604デフォルトの名無しさん
2013/09/30(月) 00:08:14.15Sub Macro1()
Windows("00score.xls").Activate
For Each ws In Worksheets ' ←これが「全シートに対して同じことを繰り返す」って意味
ws.Activate
Application.Goto Reference:=Range("A1"), Scroll:=True
Next ws
End Sub
0605デフォルトの名無しさん
2013/09/30(月) 00:52:13.45コード書く前に質問者本人に仕様を確認したほうがいいと思う。
0607デフォルトの名無しさん
2013/09/30(月) 10:53:48.45「俺はこう理解した。コードで言うならこうだ」ってことなんだから、問題ないよ。
0608デフォルトの名無しさん
2013/09/30(月) 10:56:01.790609デフォルトの名無しさん
2013/09/30(月) 11:38:41.99Worksheets("sheet (2)").Select
これだと問題ないのですが
Cells(1, 1).FormulaR1C1 = "=SUM(sheet (2)!RC3:sheet (2)!RC4)"
こうするとアプリケーション定義またはオブジェクト定義のエラーとなります
解決策はありますでしょうか
0610デフォルトの名無しさん
2013/09/30(月) 12:23:07.80SUM('sheet (2)'!RC3:RC4)"
アルファベット以外の記号を含む場合はクォーテーションで囲んでくださいとかなんとか・・・
お騒がせしました
0611デフォルトの名無しさん
2013/09/30(月) 12:27:55.15VBA自体が初めてですのでお恥ずかしい質問になりますが
ご容赦下さい。
Excelのシートに
入力フォームに入力されたデータを格納していきます。
具体的にはB5からE5に項目名が入っており
そこから下に列を増やしていきます。
*項目が増えることはありません。
格納後に、シートを並び替えしたいのですがそこが出来ません。
具体的なコードは以下です。
Set rngSetRng = .Sheets("一括表示").Range(Cells(3, 5), Cells(5, lngRowNum))
rngSetRng.Sort _
Key1:=.Sheets("一括表示").Range("C5"), _
Order1:=xlAscending, _
Header:=xlYes
エラー内容は
実行時エラー '1004'
並べ替えの参照が正しくありません。 並べ替えるデータ内にあることと「最優先される
キー」ボックスが空白でないことを確認してください。
lngRowNum は正しく最終列の数を取得できております。
ちなみにキーに指定してる行には日付のデータが入っております。
この問題に1日費やしても解決できませんでしたので、どうかお助け下さい。
0612611
2013/09/30(月) 12:34:28.09No 日付 項目1 項目2
と横に並んでいて
縦方向にデータを追加していく ということです。
0613デフォルトの名無しさん
2013/09/30(月) 13:14:38.29With Worksheets("一括表示")
Set rngSetRng = .Range(Cells(5, 2), Cells(10, 5))
rngSetRng.Sort _
Key1:=.Range("C5"), _
Order1:=xlAscending, _
Header:=xlYes
End With
これでどうかな。
0614デフォルトの名無しさん
2013/09/30(月) 13:31:53.73Cellsの引数はX,YじゃなくてRow,Col
Cells(5, lngRowNum)じゃなくてCells(lngRowNum,5)だと思うが
0615デフォルトの名無しさん
2013/09/30(月) 14:02:03.850616デフォルトの名無しさん
2013/09/30(月) 14:44:30.73ただ、どのシート参照してるかは分かりにくい
そのコードの書かれたシートかActiveSheetなはずだが
0617デフォルトの名無しさん
2013/09/30(月) 17:14:50.54俺は>>614の言ってるとおり
> Cells(5, lngRowNum)じゃなくてCells(lngRowNum,5)だと思うが
か、キーの指定位置
Key1:=.Sheets("一括表示").Range("C5"), _
が間違っているかのどちらかかなと。
>>612のデータのNo列がA列から始まっていると仮定すると、
キーの指定位置は"C5"じゃなくて"B3"になると思う。
0618611
2013/09/30(月) 17:48:39.99皆様が言われた通りCellsの引数が逆でした。
こんな単純なことだったとは。本当助かりました。
>>615,616
このコードの前に指定のシートをactiveにしています。
はじめは.Sheets("一括表示").… をすべて付けてたのですが
なぜかうまくいかなくて。
ちなみに、実際は入力された内容を別シートに随時追加していく仕様なんです
索引のような機能を追加したくて作業を進めてるところです。
>>617
タイトル行のようなものが含まれてましたので
表の始まりがA1じゃないのです。
分かりづらい記述ですみません。
0619デフォルトの名無しさん
2013/10/01(火) 08:31:48.38階層は深いので4-5層くらいあります。
そのファイル名は重複はしておらず、あるとすれば1個のみですが、存在しない可能性もあります。
こんな感じではじめて
Dim FolderName as Sting = "C\Data\Report\" 'これ以下の階層を探す
Dim FileName as String = "20131010Data.xls" 'このファイルを探す
0620デフォルトの名無しさん
2013/10/01(火) 09:06:44.210621619
2013/10/01(火) 09:12:13.000622デフォルトの名無しさん
2013/10/01(火) 09:16:42.16このあたりがヒントになるんじゃないのかな?
http://officetanaka.net/excel/vba/tips/tips95.htm
0623デフォルトの名無しさん
2013/10/01(火) 09:25:13.96http://officetanaka.net/img/banner.png
このオッサンみたいなのが本人でしょうか?
0624デフォルトの名無しさん
2013/10/01(火) 09:28:09.95再帰処理だからDirはダメでは?
0625デフォルトの名無しさん
2013/10/01(火) 10:49:10.00あんまりきちんと検証してないけど、こんな感じ?
Sub Sample1()
FolderName = "C:\Data\Report\" 'これ以下の階層を探す
FileName = "20131010Data.xls" 'このファイルを探す
ChDir FolderName
Set WSH = CreateObject("WScript.Shell")
sCmd = """dir /s /b """"" & FileName & """"" 2> nul"""
Set wExec = WSH.Exec("%ComSpec% /c " & sCmd)
Do While wExec.Status = 0: DoEvents: Loop
Result = wExec.StdOut.ReadAll
Debug.Print Result ' 結果
End Sub
0626619
2013/10/01(火) 11:08:25.15すばらしい!
ありがとう。
できましたよ
ところで黒い画面が一瞬出てきたけど
これはほっといて問題ないですか?
0627デフォルトの名無しさん
2013/10/01(火) 11:12:52.740628デフォルトの名無しさん
2013/10/01(火) 11:23:35.84sCmd = """dir /s /b """"" & FileName & """"" 2> nul"""
Set wExec = WSH.Exec("%ComSpec% /c " & sCmd)
このへんのステートメントについて解説サイトみたいなのはありませんか?
0629デフォルトの名無しさん
2013/10/01(火) 11:40:28.62エクセルVBAだけでやるなら下記を参考に
http://itpro.nikkeibp.co.jp/article/COLUMN/20060206/228661/
日経BP社(リンク条件:当社サイトへのリンクであることを必ず明記)
0630デフォルトの名無しさん
2013/10/01(火) 12:00:06.05上の行はファイル名を取得するための準備。ダブルクォートは念のため入れただけで、なくても動く可能性はあるけど
まあ入れといた方が安全。正直に言うとダブルクォートの位置と数はこれでいいのかちょっと自信が無い
下の行は実際に処理を開始してるところ、ここが本体と言ってもいい。ここで黒いウィンドウが開いてしまう
黒窓を回避する方法もあるけど、どっちにしろタスクバーには変なアイコンが一瞬出ちゃうから書かなかった
ウィンドウハンドルとか使わずにタスクバーのアイコンを消す方法があるなら俺が知りたいぐらい
>>625に戻って、その次の行のStatus〜DoEventsで処理の完了を待って(完了すると黒窓が閉じる)、
最後にReadAllで結果を得る
0631デフォルトの名無しさん
2013/10/01(火) 12:06:48.70厳密に言うと、その2行の中でVBAのステートメントはLetとSetとCallだけだから、(LetとCallは省略されてるけど)
解説サイトを見ても本当に知りたいことは書いてなさそうな気がする
0632デフォルトの名無しさん
2013/10/01(火) 12:32:23.27WSHで検索すると、何なのか理解できるかも。
WSHはWindows Script Host(ウインドウズ・スクリプト・ホスト)の略。
0633デフォルトの名無しさん
2013/10/01(火) 16:26:22.93> 日経BP社(リンク条件:当社サイトへのリンクであることを必ず明記)
URLで日経BPであることがわかるので、いちいちそんなこと書かなくてよろしい
0634デフォルトの名無しさん
2013/10/01(火) 18:10:21.580635デフォルトの名無しさん
2013/10/01(火) 23:23:29.50見てないけど、日経BP が要求してるんだろ。
アホな要求だろうが参照するなら従うべき。
0636デフォルトの名無しさん
2013/10/02(水) 07:25:29.10二度と2chに書き込みしないでください
と俺がアホな要求をしているので従ってくださいね
0637デフォルトの名無しさん
2013/10/02(水) 07:33:59.45にちゃんの書き込みは、にちゃんのものなので、お前のアホな要求はなんの意味もないぞ (w
0638デフォルトの名無しさん
2013/10/02(水) 10:40:33.35ExcelでVBAを用いた処理を行っているのですが
そのなかで、対象のセルに 「...」 という文字を入れてます。
これをVBAで実行するとセルには見た目通り
「...」 下の方に小さな点3つが表示されます。
ですが、この部分をExcel上で手作業で別セルにコピーすると
「・・・」 のように 真ん中に大きく表示されてしまいます。
なにが起こっているのでしょうか?
結果的にしたいことは ... をExcel上で同じ見た目でコピーしたいです。
0639デフォルトの名無しさん
2013/10/02(水) 10:57:04.02オプションでオートコレクトを切る
オートコレクトの一覧にはデフォルトで「 ... → …」というのが登録されているから、
その項目だけを削除してもいいけど、ほかにも勝手に変換される記号とかたくさんあるから
一律でOFFにした方が確実
0640デフォルトの名無しさん
2013/10/02(水) 11:10:19.21ありがとうございます。
解決しました。 そういうことだったのですね。
VBAというかExcelの問題だったのに解答ありがとうございました。
0641デフォルトの名無しさん
2013/10/02(水) 17:58:29.580642デフォルトの名無しさん
2013/10/02(水) 19:21:47.02シート2 range(cells(row1,col1),cells(row2,col2))
ボタンに登録してあるマクロを実行するとシート2の1行単位で、ある処理をする。
シート2がアクティブな時はマクロが動くのに、シート1にあるボタンを押下してマクロが起動すると、range部分でエラーが出ます。将来的にはシート2は非表示にしたいのです。
別シートにある1行x列の書き換え処理をFor〜Nextで回すときに、Rangeを使わずに範囲指定するコードが書けるのでしょうか。
(QAサイトはセキュリティーで閲覧不可でした。)お願いします。
0643デフォルトの名無しさん
2013/10/02(水) 21:01:35.59シート2.range(シート2.cells(row1,col1),シート2.cells(row2,col2))
0644デフォルトの名無しさん
2013/10/02(水) 21:41:44.44ブック名:book1.xls
シート名:シート1
シート2
だとして
Workbooks("book1").Sheets("シート2").Range(Workbooks("book1").Sheets("シート2").Cells(Row1, Col1), Workbooks("book1").Sheets("シート2").Cells(Row2, Col2))
と1行で書けるけど、可読性が悪いからWithステートメントを使うか
With Workbooks("book1").Sheets("シート2")
.Range(.Cells(Row1, Col1), .Cells(Row2, Col2))
End With
シートオブジェクトを変数として使うか
Dim objSheet2 As Sheet
Set objSheet2 = Workbooks("book1").Sheets("シート2")
objSheet2.Range(objSheet2.Cells(Row1, Col1), objSheet2.Cells(Row2, Col2))
シートオブジェクトを変数として、更にWithステートメントを使うと可読性が上がる。
Dim objSheet2 As Sheet
Set objSheet2 = Workbooks("book1").Sheets("シート2")
With objSheet2
.Range(.Cells(Row1, Col1), .Cells(Row2, Col2))
End With
0645デフォルトの名無しさん
2013/10/03(木) 05:24:56.850646デフォルトの名無しさん
2013/10/03(木) 08:24:42.36本来cellsの前にもシートを指定しないといけないんですね。withステートメントやドットもよく調べてみます。
大変助かりました。ありがとうございます。
0647デフォルトの名無しさん
2013/10/03(木) 16:42:47.45下手に使うと可読性下げる
0648デフォルトの名無しさん
2013/10/03(木) 16:56:37.45可読性を上げるためにも使えるでしょ。
どうしてそれを否定したいの?
ABC(50文字)DEF.foo
ABC(50文字)DEF.bar
ABC(50文字)DEF.baz
より
With ABC(50文字)DEF
.foo
.bar
.baz
End With
のが圧倒的に見やすい。
0649デフォルトの名無しさん
2013/10/03(木) 18:56:16.0850文字…
0650デフォルトの名無しさん
2013/10/03(木) 19:10:45.31完全スルーでいいと思う。
0651デフォルトの名無しさん
2013/10/03(木) 19:14:27.520652デフォルトの名無しさん
2013/10/03(木) 19:30:01.02ABC(50文字)DEF.foo
ABC(50文字)DEF.bar
ABC(50文字)DEF.baz
より
a.foo
a.bar
a.baz
のが圧倒的に見やすい。
0653デフォルトの名無しさん
2013/10/03(木) 21:30:30.57可読性を上げる事が出来る事を否定はしてないと思うが
あれはタイプ量を下げるのが第1の目的で、その結果ソースが短くなれば読みやすくなるかもしれんが、それは副次的な話
ちなみに第2の目的はオブジェクト参照の階層を下げる事による実行速度向上な
0654デフォルトの名無しさん
2013/10/03(木) 21:51:38.430655デフォルトの名無しさん
2013/10/03(木) 22:05:48.54苦しい言い訳乙
て言うか、見苦しいから ROM っとけよ。
0656デフォルトの名無しさん
2013/10/03(木) 22:35:39.50日本語のほうがわかりやすい
0657デフォルトの名無しさん
2013/10/03(木) 22:45:58.54a.foo
a.bar
a.baz
より
With a
.foo
.bar
.baz
End With
のが圧倒的に見やすいか?
0658デフォルトの名無しさん
2013/10/04(金) 01:00:17.12一見、可読性が高くなる様に見えてその範囲が広くなると何のobjectで切っているのか、分かり辛くなる事もある。
だから今のVB.Netでは名残として残っていても同じ.NetフレームワークのC#では採用されていない。
左程重要な機能として扱われていないってこったね。
0659デフォルトの名無しさん
2013/10/04(金) 01:32:07.120660デフォルトの名無しさん
2013/10/04(金) 02:35:39.62別にダメだとは言ってないじゃん。
ただ使いどころを選ばないと痛い目見るだけで。
0661デフォルトの名無しさん
2013/10/04(金) 04:40:09.232行目は中の人がそう言ってるのか?
0662デフォルトの名無しさん
2013/10/04(金) 07:34:52.09という3つボタンを作りたいんですが、どうすればいいですか?
0663デフォルトの名無しさん
2013/10/04(金) 07:40:39.93可読性ということからして
a.foo
はaが何を示しているのかこれを見ただけじゃ全く分からない。
一文字変数は可読性を著しく下げると思え。
上記のような比較的単純なコードなら、あっさりしているように見えるけど
objSheet2.Range(objSheet2.Cells(Row1, Col1), objSheet2.Cells(Row2, Col2))
のように複雑になってくるとobjSheet2が何度も出てきてウザくなる。
例え一文字変数だったとしても。
>>658
言っていることは分かるけど、可読性を気にしている人が関数を長く書くとは思えない。
>>660
使うときはどういうものを使うのか統一しないとぐちゃぐちゃになって
かえって可読性を悪くするから気をつけなければいけない。
0664デフォルトの名無しさん
2013/10/04(金) 07:47:42.80セルが日付のシリアル値なら
土曜なら水色、日曜ならオレンジのようにInteriorColorをつけるには
どうすればいいですかしらん?
0665デフォルトの名無しさん
2013/10/04(金) 09:06:40.240666デフォルトの名無しさん
2013/10/04(金) 10:00:21.44普通は適切に使い分ける
0667665
2013/10/04(金) 10:04:57.41だから普通はどっちを使うのだ?
0668デフォルトの名無しさん
2013/10/04(金) 10:34:35.29日付かどうか区別するのって実は意外と面倒
とりあえず不完全なサンプル
For Each c In ActiveSheet.UsedRange
If InStr(c.NumberFormatLocal, "d") Then '日付かどうか
If Int(c) Mod 7 = 0 Then c.Interior.ColorIndex = 28 '土曜=水色
If Int(c) Mod 7 = 1 Then c.Interior.ColorIndex = 44 '日曜=オレンジ
End If
Next
0669デフォルトの名無しさん
2013/10/04(金) 10:37:14.30両方とも使うのが普通
0670デフォルトの名無しさん
2013/10/04(金) 10:51:39.59引数の渡し方を指定しない場合はByRef(参照渡し)になる。
なので、ByRefが普通。
0671デフォルトの名無しさん
2013/10/04(金) 11:15:19.57不完全というより全然ダメダメだろ。
日付の判断ならIsDate
曜日の取得ならWeekday
曜日で判断するなら
vbSunday
vbMonday
vbTuesday
vbWednesday
vbThursday
vbFriday
vbSaturday
くらい使え。こんな糞コードだったら書くなというレベル。
>>670
省略はバグの温床。
きちんと値渡しなのか参照渡しなのか明示しないと
引数の値をを変更しちゃいけないのに変更してしまうといったバグを引き起こす。
0672デフォルトの名無しさん
2013/10/04(金) 11:49:48.00言語仕様としての「普通」が何かって話だよ。
0673細川たかし
2013/10/04(金) 12:24:31.16わたしは「矢切りの渡し」です。
0674デフォルトの名無しさん
2013/10/04(金) 12:27:21.02とりあえず、ご存じかもしれませんが、ByValって指定しないと、デフォルトでは参照渡しになります。
その上でどっちを通常用いるかと言えば、必要な時に適切に使い分けます。
引数の中身を変更しちゃマズい場合は、値渡しをすることもありますし、
そもそも引数の中身を変更しないようにコーディングできるのであれば、
わざわざ値渡しにする必要もありません。
将来の拡張や改修やらを考えて値渡しにしておいた方がいいと思ったときは、
あらかじめ値渡しにしておくことも場合によってはあります。
蛇足ですが、そういったことも考えれば、ByRef/ByValは常に明記しておけば、
後から見ても理解しやすいし、他の人がコードを見たときにも分かりやすいです。
0675665
2013/10/04(金) 12:37:08.920点
>>669
0点
>>670
50点
>>673
30点
>>674
100点
レスするくらいなら、80点以上のレをしないといけないよ。
0676665
2013/10/04(金) 12:40:06.38ありがとうございます。
言語間でデフォルト設定が違うことがあるから明示するべきということですね。
あとプログラマ的には参照設定を使うほうがいろんな観点でスマートということでしょうか?
スコープで言えばなるべく狭くしたほうがメンテナンス性においてスマートであるのと同様に。
0677デフォルトの名無しさん
2013/10/04(金) 12:43:01.72そんな関数や、そんなvb定数があったのですか!
ところでVBAのコードを書いてるとき、関数一覧や組み込み定数一覧を見れる機能みたいなのは
ALT+F11のエディタのどこかにありますか?
0678デフォルトの名無しさん
2013/10/04(金) 13:05:21.470679デフォルトの名無しさん
2013/10/04(金) 13:25:57.21簡単に説明しますと、値渡しはそのスコープ内に引数のデータをコピーしますので、必要もなく値をコピーしてメモリを圧迫することもない、ということですね。
もちろん、メンテナンス性もあります。
また蛇足ですが、VBAの場合、「参照設定」という言葉は全く別の物事を指しまして、
これは簡単にいうとVBAの機能拡張の設定のことです。
こちらはまた別の話になりますので、興味があれば是非調べてみて下さい。
0680デフォルトの名無しさん
2013/10/04(金) 20:28:51.740681デフォルトの名無しさん
2013/10/04(金) 20:56:30.69-50点
値渡しと参照渡しをそこまでしか理解してない雑魚が
人に点数付けるとかもっての他。
死んで詫びるレベル。
0682デフォルトの名無しさん
2013/10/05(土) 00:01:34.47excelの本体(というのかな?)の大きさや位置をVBAで指定する方法を教えて下さい
例えば 縦 700(単位は何になるのかな?) 横 500
で位置が画面の左上から
下へ 100 右へ 200ほどの位置に
というような感じなんですが
0683デフォルトの名無しさん
2013/10/05(土) 00:29:47.29Application.Top = 100
Application.Left = 200
Application.Width = 500
Application.Height = 700
0684デフォルトの名無しさん
2013/10/05(土) 00:45:52.75感謝!です
0685デフォルトの名無しさん
2013/10/05(土) 05:59:01.40オメーもダメダメだよ
> 日付の判断ならIsDate
元の要件はシリアル値かどうかだから、Variant で受けて VarType( ) で判断しないとダメだろ。
0686デフォルトの名無しさん
2013/10/05(土) 07:21:14.480687デフォルトの名無しさん
2013/10/05(土) 09:56:15.080688デフォルトの名無しさん
2013/10/05(土) 18:06:44.520689デフォルトの名無しさん
2013/10/05(土) 19:23:09.000690デフォルトの名無しさん
2013/10/05(土) 20:42:16.45Offsetだと単一セルになってしまう
0691デフォルトの名無しさん
2013/10/05(土) 20:52:26.79仕様が分からなければ質問者に聞けばいいだけのこと。
小学生にだってわかるぞ、って小学生に失礼か。
0692デフォルトの名無しさん
2013/10/05(土) 21:02:02.13しゅくだいでもやってろ
0693デフォルトの名無しさん
2013/10/05(土) 21:09:51.97セルを指定したいと言ってるけど?
0694デフォルトの名無しさん
2013/10/05(土) 23:44:53.83セル範囲を指定したいということなので>>687で正解でしょ。
Range("C4").Resize(,Range("S2").Value+1).Select
0695デフォルトの名無しさん
2013/10/06(日) 03:43:38.17最初指定しているセル範囲は1セルで、その後範囲の変更ではなく移動と書いてある。
0696デフォルトの名無しさん
2013/10/06(日) 03:43:49.54最後はってあるから、単一セルを順次処理したいのかもしれん
それだったら>>689、範囲なら>>687、単一セルなら>>688
あ、もうどうでもいいかw
0697デフォルトの名無しさん
2013/10/06(日) 04:54:01.180698デフォルトの名無しさん
2013/10/06(日) 06:32:50.40だね。
この時点で2つの見方が出てきてるわけだから、素直に質問者に聞けばいい。
質問者に聞けば答えがすぐ出るのに聞かずに自分の主張を通すっていうのは
質問者と回答者が同一人物、或いは質問者と回答者がグルになってるという疑いが出てくる。
何でそこまでして書き込む必要があるのか?
やっぱ金貰ってんだろうなぁ。
0699デフォルトの名無しさん
2013/10/06(日) 07:07:19.24「セルの範囲指定で」って書いてあるからだろ
0700デフォルトの名無しさん
2013/10/06(日) 10:23:32.420701デフォルトの名無しさん
2013/10/06(日) 12:03:37.960702デフォルトの名無しさん
2013/10/06(日) 13:16:45.30│ .|
│ キチガイ警報! │
│ .|
└―――──――――┘
ヽ(´ー`)ノ
( へ)
く
|\
┌──────────┘- \
│ 気の触れた方が \
│ /
└──────────┐- /
ヽ(´ー`).ノ |/
( へ)
く
- = ≡三 |\
- = ≡三 ┌──────────┘- \
_ = ≡三 │ \
 ̄ = ≡三 │ いらっしゃいます /
- = ≡三 └──────────┐- /
(´ー`) - = ≡三 |/
( ヽ ヽ)
/ >
0703デフォルトの名無しさん
2013/10/06(日) 19:25:43.16シート1の3つのセルの値と
シート2の3つのセルの値がすべて同じかどうかを調べる時
Searchを使うのとifを使うのと、どちらが良いでしょうか?
0704デフォルトの名無しさん
2013/10/06(日) 20:57:09.92なんでifが出てくるの?
0705デフォルトの名無しさん
2013/10/06(日) 20:58:36.93初心者の方ですか?
Ifというのは条件分岐を行う構文です。
Ifを使うことで値を比較することができるんです。
0706デフォルトの名無しさん
2013/10/06(日) 21:05:56.970707デフォルトの名無しさん
2013/10/06(日) 21:07:06.16Search メソッドおよび SearchB メソッドは、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を
左端から数え、その番号を返します
重要 Search メソッドは、1 バイト文字セット (SBCS) を使う言語での使用を意図したもので、SearchB メソッドは、2 バイト文字
セット (DBCS) を使う言語での使用を意図したものです。
Search って検索でしょ?判断はどちらにしろIfを使わんとダメなんじゃ?というかIfの中でSearchを使うんでしょ?
どちらがいいかとかいう問題じゃないと思うけど
0708デフォルトの名無しさん
2013/10/06(日) 21:19:37.70はやっ
きもっ
0709703
2013/10/06(日) 21:28:41.30ifで回すとループが入ります
Searchでネストにしたほうが良いのだろうか
でもどのみちifは使うから、それならifでいいじゃないだろうか
そんな疑問が自分の中で解決しなくて
こういったケースでは処理や見た目的にどちがら使われるのか
お聞きしたかったのです
0710デフォルトの名無しさん
2013/10/06(日) 21:47:53.85申し訳ないけど、If と Search のそれぞれのコード貼ってくれないかな。
0711デフォルトの名無しさん
2013/10/06(日) 21:52:36.34�@「3つのセル」の位置は、シート1・シート2でそれぞれ固定?、
それとも、どちらかのセル位置は不特定?
不特定ならば、範囲は決まっている?
�A「値がすべて同じかどうかを調べる時」とは、
「セル.Valueが同一である時」と思って良いのかな?
0713デフォルトの名無しさん
2013/10/06(日) 22:35:25.52>ifで回すとループが入ります
>Searchでネストにしたほうが良いのだろうか
Ifでネストしても良いんだが?たかだが三つだろ
まあ、決まった場所の同一比較なら俺ならSearchなんて使わんが
Searchってのは文字通り場所を探すためのもんだろ
0714703
2013/10/06(日) 22:47:02.67これから作るのでないです
>>711
�@それぞれ固定です
�A順番が違う場合もあります
シート1 A1、1 B1、2 C1、3
シート2 A1、3 B1、2 C1、1
といった具合にです。全部一致しない場合もあります。
>>713
Searchじゃダメですか
色々と考えてみましたがifだけだと無理?
countifとifを組み合わせる方法はどうでしょう
0716デフォルトの名無しさん
2013/10/06(日) 22:52:58.39例えを書くなら具体的に書いてくれないか?
0717デフォルトの名無しさん
2013/10/06(日) 23:03:01.25だからSearchはあくまでも「検索」するためのもので、「比較」するためのものじゃないでしょ。
で、countif?ここはVBAのスレだけど?
0718デフォルトの名無しさん
2013/10/06(日) 23:26:28.30searchかifの二択か
ならifにしとけば間違いない
0719デフォルトの名無しさん
2013/10/06(日) 23:36:27.920720デフォルトの名無しさん
2013/10/07(月) 00:56:18.48プロパティにグループネームをつけることが出来ますが、
このグループネーム別にチェックのオンオフは出来るのでしょうか?
色々検索してみましたが、グループネームで選択するようなコードが見つかりませんでした。
今は1つ1つvalueでオンオフを切り替えるコードで書いてますが、
これだとチェックボックスが増えた時や減った時に
コードを毎回書き直さなければいけなくなるので…
Excelのバージョは2010でOSは7です。
Excelは関数についてはそれなりに使いこなせる自信がありますが
VBAは最近覚えたばかりです。
よろしくお願いします。
0721デフォルトの名無しさん
2013/10/07(月) 01:41:33.45UI的に排他関係にあるチェックボックスはGroupBoxで囲うのがWindowsの流儀だし、
ユーザー視点でもそれが期待した動作だと思うんだけどそれを捻じ曲げる必要があるということですか?
0722デフォルトの名無しさん
2013/10/07(月) 01:45:02.08Private Sub CommandButton1_Click()
Call CheckClear(Me, "Group1")
End Sub
Sub CheckClear(f As UserForm, gname As String)
Dim c As Control
For Each c In f.Controls
If TypeName(c) = "CheckBox" Then
If c.GroupName = gname Then
c.Value = False
End If
End If
Next
End Sub
0723デフォルトの名無しさん
2013/10/07(月) 04:54:03.42それラジオボタンじゃないの
0724デフォルトの名無しさん
2013/10/07(月) 08:28:38.04ありがとうございます。
初めて見るコードなので今から解読しながら試してみます。
>>723
ラジオボタンではなく、チェックボックスです。
チェックリストを作っていて
項目ごとにある複数個のチェックボックスを一気に(項目ごとに)リセットしたいのです。
0725686
2013/10/07(月) 10:26:03.26おかげ様で何とか出来ました。
意図が伝わらず大変申し訳ございません。
C2を起点にS4の値だけ列を選択したかったのです。S4=16であればC2からC18までを選択したかったのです。
マクロだと("C2:C18")になり、手が思いついませんでした。
問題の記述がおかしいとの指摘、ありがとうございます。
0726デフォルトの名無しさん
2013/10/07(月) 10:47:03.81ごめんなさい、見落していました。
返信ありがとうございます。
グループボックスで囲むというのはラジオボタンという認識がありました。
チェックボックスで使う事を考えていませんでしたのでこちらも試してみます。
722さんのと合わせて試してみます。
また報告します。
0727デフォルトの名無しさん
2013/10/07(月) 12:51:41.59Sub test3()
Dim sh1(3) As Boolean
'Dim sh1_to_2(3) As String 'シート2の対応セル位置を利用する時、各コメントを解除。
With Worksheets("シート1")
For sh1_c = 1 To 3
If .Cells(1, sh1_c).Value = Worksheets("シート2").Cells(1, 1).Value Then
sh1(sh1_c) = True
' sh1_to_2(sh1_c) = "sh2の" & "A1"
ElseIf .Cells(1, sh1_c).Value = Worksheets("シート2").Cells(1, 2).Value Then
sh1(sh1_c) = True
' sh1_to_2(sh1_c) = "sh2の" & "B1"
ElseIf .Cells(1, sh1_c).Value = Worksheets("シート2").Cells(1, 3).Value Then
sh1(sh1_c) = True
' sh1_to_2(sh1_c) = "sh2の" & "C1"
End If
Next
'.Cells(3, 1).Value = sh1_to_2(1) 'シート2の対応セル位置を記録
'.Cells(3, 2).Value = sh1_to_2(2)
'.Cells(3, 3).Value = sh1_to_2(3)
End With
If sh1(1) = True And sh1(2) = True And sh1(3) = True Then
MsgBox "all match"
Else
MsgBox "No match"
End If
End Sub
シート1の、3つのセル分だけif文を繰り返せば、if分だけでも可能、しかし非効率。セル数が多いなら、一度合致したシート2のセルを比較対象から外す方法も有るでしょう、
今回は、セル数が少ないのでシート2の全セルと比較。またシート2のセルもFor〜Nextで回せば、IF文は1回で済む。
推こうしてないから、無駄有り、考え方の一つとして。きっと他の人からもっと良いのが出るでしょう。
0728デフォルトの名無しさん
2013/10/07(月) 13:20:44.85range使えよ。
function compareRange(range1, range2) as boolean
if range1.offset(0, 0).value = range2.offset(0, 0).value then ' 的なコード
' 関数にすれば、違ったら即falseで抜けられる
end sub
result = compareRange(worksheets("シート1").cells(1, 1), worksheets("シート2").cells(1, 1))
みたいな感じで。
0729デフォルトの名無しさん
2013/10/07(月) 13:24:35.52実引数を範囲で指定する方が好き。
compareRange(worksheet("Sheet1").range("A1:A3"), worksheet("Sheet2").range('"A1:A3"))
0731デフォルトの名無しさん
2013/10/07(月) 15:22:54.160732デフォルトの名無しさん
2013/10/07(月) 16:43:45.14めんどくせ。
function compareRange(byref range1 as range, byref range2 as range) as boolean
0733デフォルトの名無しさん
2013/10/07(月) 16:45:23.64お前も素晴らしいコードを晒せば?
0734デフォルトの名無しさん
2013/10/07(月) 17:02:55.73スレのルールを守れないヤツと同類になりたくないね。
0735デフォルトの名無しさん
2013/10/07(月) 17:07:04.67は?
コードを書いてはいけませんなんてルール、いつからできたんだ?
0736デフォルトの名無しさん
2013/10/07(月) 17:11:56.760737デフォルトの名無しさん
2013/10/07(月) 17:13:27.52叩かれた、叩かれたと騒いだから話が大きくなっただけで。
0738デフォルトの名無しさん
2013/10/07(月) 17:23:27.14あれだけ叩かれてスレのルールを理解しようともしないっていうのは問題あると思うな。
いい加減さ、スレのルールさえ守れないやつがコード書いても、所詮糞コードにしかならないからw
0739デフォルトの名無しさん
2013/10/07(月) 17:27:46.320740デフォルトの名無しさん
2013/10/07(月) 17:36:07.060741デフォルトの名無しさん
2013/10/07(月) 17:39:08.86は?質問スレなんだが。
コードで語りたいのなら別スレ立てろって何度言えば分かるんだ?
コードで語り合おうぜって言っておきながらコードで語ってないしw
0742デフォルトの名無しさん
2013/10/07(月) 18:21:45.14> コードで語りたいのなら別スレ立てろって何度言えば分かるんだ?
いや、お前に言われる筋合いないんだけど。
0743デフォルトの名無しさん
2013/10/07(月) 18:28:16.13コードを書いてはいけませんなんてルール、いつからできたんだ?
0744デフォルトの名無しさん
2013/10/07(月) 18:29:13.550745デフォルトの名無しさん
2013/10/07(月) 18:29:19.490746デフォルトの名無しさん
2013/10/07(月) 18:35:17.640747デフォルトの名無しさん
2013/10/07(月) 18:39:27.39いつできたかは過去ログ見れば分かるだろ。
>>1★5を理解しようともしないんだから困ったもんだ。
0748デフォルトの名無しさん
2013/10/07(月) 18:57:58.600749デフォルトの名無しさん
2013/10/07(月) 19:23:14.31自分の言葉で説明できないのか?ん?
0750デフォルトの名無しさん
2013/10/07(月) 19:40:51.740751デフォルトの名無しさん
2013/10/07(月) 19:53:13.89> ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
ってことで、回答者はヒントを回答すればいいだけ。
コードを書く奴は質問者のやりとりを無視して、ヒントではなくいきなり答えを書いている。
こういうことが続くと何も言わなくても答えが貰えるということになり、
こういうコードが欲しいという依頼が来るようになるし、実際依頼が来ている。
いきなりコードで回答するという対応は結果的にクレクレ君を容認することになる。
ということでいきなりコードで回答するのは問題。
条件を付けてコードを書くなっていうと、その条件を変な解釈をして
いきなりコードで回答するやつが出てくるだろうから
コードは書くな
という解釈で充分だと思う。
コードを書かなくて困ることもないだろうしね。
0752デフォルトの名無しさん
2013/10/07(月) 19:55:11.41クレクレ君を容認する方向でどうかお考えいただけないだろうか。
0753デフォルトの名無しさん
2013/10/07(月) 19:56:48.84絶対ダメ。
質問スレじゃなくなるだろ。
0754デフォルトの名無しさん
2013/10/07(月) 19:58:33.50実装方法を知ることできるでしょう。
りっぱな質問スレですよ。
0755デフォルトの名無しさん
2013/10/07(月) 19:59:48.18実装方法は別の話でしょ。
0756デフォルトの名無しさん
2013/10/07(月) 20:03:09.45別の話ではありませんよね。Excel VBA質問スレですし。
どうして別の話だと思うんですか?
0757デフォルトの名無しさん
2013/10/07(月) 20:06:19.46大きくくくりすぎ。
0758デフォルトの名無しさん
2013/10/07(月) 20:08:21.49そいつは前々スレで>>1★5についてどうするか住人が話し合っている最中に
勝手にスレ立てたキチガイだからほっといていいよ。
0759デフォルトの名無しさん
2013/10/07(月) 20:11:49.44なにをですか?大きいとなにかいけませんか?
0760デフォルトの名無しさん
2013/10/07(月) 20:17:50.07ようはクレクレ君対策にならないってこと。
そもそもクレクレ君対策っていうのを理解してないのか?
0761デフォルトの名無しさん
2013/10/07(月) 20:21:16.92ええ、ですからそのクレクレ君を容認する方向では
どうしていけないのか理由を尋ねていました。
まだよくわかりません。
質問スレではなくなるからダメだといわれた。
しかし、質問スレでなくなるわけではないですよね。
別の話だとも言われた。
しかし、別の話ではありませんよね。
大きくくくりすぎともいわれた。
なにをですか?
0762デフォルトの名無しさん
2013/10/07(月) 20:24:50.12クレクレ君を容認するっていうことは質問ではなく、コード作成依頼スレになるってこと。
文章は質問しているように見えて実はコード作成依頼ということになる。
質問スレではなく依頼スレになるって理解できないのかな?
0763デフォルトの名無しさん
2013/10/07(月) 20:27:15.74依頼はコードの実装についての質問ともとれます。
依頼も質問も変わりません。第3者がそのコードをみて問題解決につながる
こともあると思います。すくなくともいまはまだあなたの言ってることを理解できません。
0764デフォルトの名無しさん
2013/10/07(月) 20:29:53.68それでダメだったらダメなりに新しい規約を追加すればいいだけ。
0765デフォルトの名無しさん
2013/10/07(月) 20:30:16.170766デフォルトの名無しさん
2013/10/07(月) 20:30:30.530767デフォルトの名無しさん
2013/10/07(月) 20:31:18.23質問と依頼は別。
何で一緒と捉えるのか意味が分からん。
きちんと説明してくれ。
0768デフォルトの名無しさん
2013/10/07(月) 20:33:49.00これをどう実装すればいいのかわかりません。
こう書けばいいよ。
りっぱな質問のやりとりですよね。
依頼ともとれます。依頼と質問は変わりません。
0769デフォルトの名無しさん
2013/10/07(月) 20:36:36.03回答方式のタマは回答者が握ってるんだが?
0770デフォルトの名無しさん
2013/10/07(月) 20:37:56.65「こういうコードを書いてください。」
これも質問になるんだ。
俺には依頼にしか見えないが。
>>768
文章は質問でも実質依頼だから。
0771デフォルトの名無しさん
2013/10/07(月) 20:43:26.930772デフォルトの名無しさん
2013/10/07(月) 20:47:30.17> これをどう実装すればいいのかわかりません。
これは質問というより質問者の実情でしょ。
だからどうしたいの?ってことになるんだが。
0773デフォルトの名無しさん
2013/10/07(月) 20:48:16.05コード書いてくれるなら俺の仕事も丸投げさせて貰うけど、いいの?
0774デフォルトの名無しさん
2013/10/07(月) 20:50:03.97依頼した人はコードを知りたいのでしょうね。
質問ともとれますね。コードを書くのがめんどうだとか
使われてる気がしていやだと思うなら返信しなければいいだけですし。
問題ないと思います。
0775デフォルトの名無しさん
2013/10/07(月) 20:50:13.25「質問と依頼は一緒」とか面白い事いうな。
クレクレ厨を容認して自分は糞コード量産して神扱いされたいだけのかまってちゃんは
いい加減どっか消えてくんねぇかな。
0776デフォルトの名無しさん
2013/10/07(月) 20:51:23.84他のVBA質問サイトへ質問者が流れ サイトの広告収入が増える。
逆に、このスレでコードが書かれると損するのはだれか
同じく他のVBA質問サイト サイト訪問者が減り 広告収入が減る。
この辺りが本意では。
0777デフォルトの名無しさん
2013/10/07(月) 20:55:02.36お前の仕事など知るかw
こっちは書きたい時に書きたい回答を書くだけだ。
別にルール違反でもないしな。
0778デフォルトの名無しさん
2013/10/07(月) 20:56:17.64何で質問に取れるのか全く理解不能w
返信しなければいいと言っているけど、返信している人間が
存在している限りクレクレ君問題が続くわけだが。
完全に言葉遊びになってるね。
0779デフォルトの名無しさん
2013/10/07(月) 20:59:01.96お前がここから消えれば一挙に問題が解決すると思うよ。
この件で「クレクレ君ガー」とか騒いでるのお前だけだから。
0780デフォルトの名無しさん
2013/10/07(月) 21:00:10.66クレクレ君を容認してしまえば問題ではなくなりますよ。
0781デフォルトの名無しさん
2013/10/07(月) 21:01:42.68質問スレである限りありえないw
0782デフォルトの名無しさん
2013/10/07(月) 21:02:25.10どうしてありえませんか?
0783デフォルトの名無しさん
2013/10/07(月) 21:05:46.95自分で頑張る人をそっと後押しするのが質問スレの役割。
クレクレ容認したら自分で考える奴がどんどんいなくなって、
スクリプトキディ量産するだけ、ってのが目に見えてるしな。
0784デフォルトの名無しさん
2013/10/07(月) 21:07:46.73ウザいと思った?w
お前が書かないとしてもあいつが書くだろ。
それを見てクレクレ君がどんどん集まってくる。
0785デフォルトの名無しさん
2013/10/07(月) 21:08:07.83コードを見て自身が考えるかどうかはそいつの自由だろ。押し付けがましい。
0786デフォルトの名無しさん
2013/10/07(月) 21:10:23.12それはちょっと自意識過剰かなと。
質問するのってけっこう頭使いますからね。
大きなお世話だと思いますよ。
0787デフォルトの名無しさん
2013/10/07(月) 21:10:24.25クレクレ君が集まって来ようがどうでもいい。
嫌なら答えなければいいだけ。
0788デフォルトの名無しさん
2013/10/07(月) 21:11:13.32Formula
FormulaR1C1
は、どういうときに使いますか?
使い分けなども詳しく知りたいのですが
0789デフォルトの名無しさん
2013/10/07(月) 21:14:30.25答えるバカがいるから問題なんだが。
0790デフォルトの名無しさん
2013/10/07(月) 21:15:29.30仕様も理解せず、いきなり全てコードで答えるのも大きなお世話かと。
0791デフォルトの名無しさん
2013/10/07(月) 21:16:34.12「自分で頑張る人をそっと後押しするのが質問スレの役割」と言ったが
>788 の質問に対してお手本を見せてくれ。
0792デフォルトの名無しさん
2013/10/07(月) 21:17:51.180793デフォルトの名無しさん
2013/10/07(月) 21:17:59.36質問者はそれを見て違うところは違うといい
取り入れられるところは取り入れ自分で考えるでしょう。
ほっとけばいいのではないでしょうか。
0794デフォルトの名無しさん
2013/10/07(月) 21:21:48.69そもそもクレクレ君対策になってないだろ。
クレクレ君容認でいる限り恐らく何を言っても通じないようだし
いい加減コード作成依頼スレを立てたら?
0795デフォルトの名無しさん
2013/10/07(月) 21:23:02.42それも答える奴の自由だとおもうが。
0796デフォルトの名無しさん
2013/10/07(月) 21:23:45.91Formula
A1形式で計算式を使いたいとき
FormulaR1C1
R1C1形式で計算式を使いたいとき
使い分けはつかう計算式によって使い分けます
0797デフォルトの名無しさん
2013/10/07(月) 21:24:21.80ええですから対策する必要ないのではないですかといっているつもりです。
依頼と質問は同じという立場なので私が立てるとしたら質問スレですね。
質問スレここでよくないですか?
0798デフォルトの名無しさん
2013/10/07(月) 21:24:25.04クレクレ君よりお前の様な荒らし対策の方がよっぽどプライオリティ高いと思うが
0799デフォルトの名無しさん
2013/10/07(月) 21:25:31.60生活保護があると誰も働かないとでも思ってるのかな
0800デフォルトの名無しさん
2013/10/07(月) 21:26:46.79すまんが、質問と依頼が一緒であるということであるなら依頼スレでもいいんでしょ?
何で質問スレに固執するのか理解できない。
0801デフォルトの名無しさん
2013/10/07(月) 21:28:15.65それは何で態々別スレにする必要があるのかと同義語だな
0802デフォルトの名無しさん
2013/10/07(月) 21:29:24.67質問の方が幅が広いかなと。
0803デフォルトの名無しさん
2013/10/07(月) 21:29:44.19理由になってない。
0804デフォルトの名無しさん
2013/10/07(月) 21:31:49.23できるだけ多くのやり取りができるのがいい。
ならできるだけ多くの人がやり取りできるようなものがいい。
質問の方が依頼より言葉の幅が広い。だから質問の方がいい。
0805デフォルトの名無しさん
2013/10/07(月) 21:31:52.89お前ん中ではな
0806デフォルトの名無しさん
2013/10/07(月) 21:36:44.500807デフォルトの名無しさん
2013/10/07(月) 21:37:35.17>質問の方が依頼より言葉の幅が広い。だから質問の方がいい。
質問と依頼の意味が違うっていうことを認めてるようなものなんだが。
0808デフォルトの名無しさん
2013/10/07(月) 21:39:19.97同じところもあれば違うところもあります。
まったくぜんぶ同じならひとつのことばのはずです。
0809デフォルトの名無しさん
2013/10/07(月) 21:39:25.62恐らく・・・>>775
0810デフォルトの名無しさん
2013/10/07(月) 21:40:17.88容認しとけばお前の様な荒らしが>>1★5を逆手に取って一々コード書く度に荒らしに来ることが無いからに決まってるだろ。
0811デフォルトの名無しさん
2013/10/07(月) 21:40:51.640812デフォルトの名無しさん
2013/10/07(月) 21:42:24.02そうだな。荒らしは別スレ立てて好きなだけ荒らしてろ。
0813デフォルトの名無しさん
2013/10/07(月) 21:44:21.10ということは>>763や>>774は嘘ってことか。
いい加減ふざけるのはやめにしようや。
0814デフォルトの名無しさん
2013/10/07(月) 21:47:04.440815デフォルトの名無しさん
2013/10/07(月) 21:47:39.47どうしてそうなりますか?
ことばはすべてがまったく同じ意味かすべてがまったく異なる意味かの
二択ではないという旨を述べたつもりです。
0816デフォルトの名無しさん
2013/10/07(月) 21:48:39.20そんなことはだれも言ってませんよね。
クレクレだと過剰に反応するのをやめませんか。
0817デフォルトの名無しさん
2013/10/07(月) 21:49:40.48どこの国の人?
広域で捉えたら当然そうなるだろう。
自分の読解力の無さを棚に上げて人を嘘つき呼ばわりとか
ちょっと日本人離れしているな。
0818デフォルトの名無しさん
2013/10/07(月) 21:52:31.32単に質問と依頼は違うっていうことだけなんだけどね。
それが理解できないんだから過剰に反応されても文句は言えないよ。
0819デフォルトの名無しさん
2013/10/07(月) 21:54:24.76クレクレ容認すると結果的にそうなるんだよ。
努力せず結果が得られるんだから。
0820デフォルトの名無しさん
2013/10/07(月) 21:54:51.61ちょっとコードを書いただけで過剰に反応するお前の方がよっぽど混同していると思うぞ
0821デフォルトの名無しさん
2013/10/07(月) 21:55:39.78その違うんだって主張するのが過剰に思えるってことなんですよ。
ほっとけばいいのではありませんか。
0822デフォルトの名無しさん
2013/10/07(月) 21:56:20.19そう思うのであればお前が変に反応しなければいいじゃね?
0823デフォルトの名無しさん
2013/10/07(月) 21:56:38.65だからなんで結果のケツ持ちまで回答者が面倒見なければならんのよ。
ただの押し付けだよ。
0824デフォルトの名無しさん
2013/10/07(月) 21:57:14.78回答者もケツ持たないということなら押し付けだろw
0825デフォルトの名無しさん
2013/10/07(月) 21:58:41.60努力するしないはそのひとの勝手ですよね。
他人が掲示板の書き込みだけみて判断できるようなものでもないですし
判断できたとしてどうこういうようなものでもないと思いますよ。
0826デフォルトの名無しさん
2013/10/07(月) 21:58:51.10は?言ってる意味が分からない。
日本語で。
0827デフォルトの名無しさん
2013/10/07(月) 22:00:42.09ええこれは依頼だと過剰に反応することはしてないつもりです。
0828デフォルトの名無しさん
2013/10/07(月) 22:02:07.05お前の見解なんてどうでもいいんだが。
このスレではクレクレ君はNoというルールになっている、ただそれだけ。
0829デフォルトの名無しさん
2013/10/07(月) 22:03:33.34それでもいいと言われても、それじゃ嫌と言うのがこのスレの★5なんだよ。
だからコード作成依頼スレ立てれば?って言ってるの。
0830デフォルトの名無しさん
2013/10/07(月) 22:04:34.56ルールだからあなたはそれに従っているだけだと。
ではルールを変えましょうよ。改善しましょう。
0831デフォルトの名無しさん
2013/10/07(月) 22:04:37.52前回はそんな流れの中この荒らしが勝手にスレ立てたので
今でもこんな騒ぎになるからな。
0832デフォルトの名無しさん
2013/10/07(月) 22:04:38.43充分過剰に反応してるよw
0833デフォルトの名無しさん
2013/10/07(月) 22:05:49.00それじゃ嫌と★5が言ってると。
では★5を変えませんか?
0834デフォルトの名無しさん
2013/10/07(月) 22:06:23.23そうでしょうかね。
0835デフォルトの名無しさん
2013/10/07(月) 22:06:38.39このルールが嫌なら別スレ立てればいいのに。
このスレに何故このスレに固執したいのか?
0836デフォルトの名無しさん
2013/10/07(月) 22:06:40.18それは貴方にとっての改善ね。
俺は今のままでいいと思うよ。
0837デフォルトの名無しさん
2013/10/07(月) 22:07:24.61変えると言うか消そう。
本当はおかしな所満載なんだけど。
0838デフォルトの名無しさん
2013/10/07(月) 22:08:05.91同意。
質問スレという意味でも、今のままでいい。
0839デフォルトの名無しさん
2013/10/07(月) 22:10:23.73そこまで言うならコード不可スレ立ててそこでやれ。
正直お前一人の為に皆が迷惑してることくらいいい加減気付いて空気読め。
0840デフォルトの名無しさん
2013/10/07(月) 22:11:52.31ね、やっぱりそう思うでしょ。
もういい加減ウンザリ
0841デフォルトの名無しさん
2013/10/07(月) 22:12:29.57なんでだよw別スレ立てたら負けとかあんの?
0842デフォルトの名無しさん
2013/10/07(月) 22:14:38.16何を言ってるのかさっぱり分からん。
このスレのルール自体クレクレ君対策をしている訳だから別のスレを立てる意味が無い。
0843デフォルトの名無しさん
2013/10/07(月) 22:14:56.27別にコード書いた位で荒らさなければ何も言うつもりも無かった。
ここ暫くだって様子を見てた。
お前はやり過ぎた。
0844デフォルトの名無しさん
2013/10/07(月) 22:15:42.18需要あると思うよ。
0845デフォルトの名無しさん
2013/10/07(月) 22:17:46.46だね。
試作的に>>1★5を消してみようよ。
0846デフォルトの名無しさん
2013/10/07(月) 22:18:06.990847デフォルトの名無しさん
2013/10/07(月) 22:18:12.69それだけ嫌がるってことは、今までの作成依頼は自作自演の可能性が高いんだけどねw
0848デフォルトの名無しさん
2013/10/07(月) 22:19:32.78あ、ゴメン
コード作成依頼スレを立ててみたら?って意味。
0849デフォルトの名無しさん
2013/10/07(月) 22:19:40.360850デフォルトの名無しさん
2013/10/07(月) 22:20:40.27いや、消そう消そう。
それがいいよ。
0851デフォルトの名無しさん
2013/10/07(月) 22:22:17.850852デフォルトの名無しさん
2013/10/07(月) 22:22:46.57Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151995/
0853デフォルトの名無しさん
2013/10/07(月) 22:23:11.59何が何でもこのスレの★5消してクレクレ厨呼び込みたいだけじゃねーかwww
0854デフォルトの名無しさん
2013/10/07(月) 22:24:12.81な、こう言う奴なんだよコイツは
0855デフォルトの名無しさん
2013/10/07(月) 22:24:23.910856デフォルトの名無しさん
2013/10/07(月) 22:24:40.93http://toro.2ch.net/test/read.cgi/tech/1381151717/
0857デフォルトの名無しさん
2013/10/07(月) 22:25:17.87あっ、もしかして言っちゃいけなかった・・・?
0858デフォルトの名無しさん
2013/10/07(月) 22:25:21.660859デフォルトの名無しさん
2013/10/07(月) 22:28:06.49あいつはどっちにしたってここにも来るだろ?
0860デフォルトの名無しさん
2013/10/07(月) 22:30:08.920861デフォルトの名無しさん
2013/10/07(月) 22:31:29.250862デフォルトの名無しさん
2013/10/07(月) 22:34:08.14テンプレに「雑談や議論は禁止」って入れればテンプレ絶対主義者を一掃できる
0863デフォルトの名無しさん
2013/10/07(月) 22:34:59.02えー
0864デフォルトの名無しさん
2013/10/07(月) 22:37:43.330865デフォルトの名無しさん
2013/10/07(月) 22:47:26.75ばかじゃねーの
0866デフォルトの名無しさん
2013/10/07(月) 23:06:48.400867デフォルトの名無しさん
2013/10/08(火) 05:59:44.03でも毎回のように起きるこの無駄な議論のほうが数倍邪魔だと思う。
スレ伸びてるなと思ったらたいてい無駄な争いが起きてる。
0868デフォルトの名無しさん
2013/10/08(火) 06:30:00.68スルーできないバカがいるから問題になる。
0869デフォルトの名無しさん
2013/10/08(火) 07:01:12.870870デフォルトの名無しさん
2013/10/08(火) 07:03:53.72自己紹介乙
0871デフォルトの名無しさん
2013/10/08(火) 13:19:26.32しかも今回は同じ名前の新スレ二個も建てやがった。
0872デフォルトの名無しさん
2013/10/08(火) 17:20:34.62この程度のコードが貼られたくらいで、それほどエキサイトすることかね。
毎回100行を超えるくらいのコードが外部サイトへのリンクだけで貼られて、スレを読んでも流れがちっともわからん
とかいう事態でもないし。
0873デフォルトの名無しさん
2013/10/08(火) 17:33:30.86クレクレ君対策ってこれほど言われても理解できてないとは、話にならん。
コードの量なんていつ問題にしたんだ?
印象操作もほどほどにしとけ。
0874デフォルトの名無しさん
2013/10/08(火) 17:42:25.58今までもたびたびコードが貼られてきたが、クレクレ君で溢れかえってるなんてことにはなってない。
むしろ、質問者が少なすぎて過疎気味だろ。
0875デフォルトの名無しさん
2013/10/08(火) 17:51:40.24Part16: 抽出レス数:64
Part17: 抽出レス数:98
このスレ: 抽出レス数:32
質問者がコードを書いてる場合もあるが、前は今よりもっとコードがあふれてたぞ
0876デフォルトの名無しさん
2013/10/08(火) 17:52:37.99前スレ: 抽出レス数:22
0877デフォルトの名無しさん
2013/10/08(火) 17:58:38.40全然違う印象。
コードが貼られてスルーしてたら、まともな質問よりクレクレ君が増えた。
なので、コードが貼られるたびに問題にすることで、クレクレ君が減った。
クレクレ君が溢れかえらないのは、こういう対応があっての話。
そもそもExcel VBAなんてググれば知りたい情報が殆ど見つかるし、
マクロの記録をすれば大抵のことは解決できるわけで過疎るのは当たり前のことだと思うが。
0878デフォルトの名無しさん
2013/10/08(火) 18:02:35.72いつからいるのか知らないが、前は確かにもっとコードが多かった。
俺も調べた。(Subで検索)
Part4: 55
Part5: 63
Part14: 71
Part15: 52
Part16: 64
で、君はいつから問題にしてたんだ?
そして、クレクレ君はいつから増え始めた?
0879878
2013/10/08(火) 18:06:11.59この辺りからスレの雰囲気が悪くなり、質問の質も落ちたと思うのは穿ちすぎか。
0880デフォルトの名無しさん
2013/10/08(火) 18:09:43.070881デフォルトの名無しさん
2013/10/08(火) 18:28:02.61たいして問題でもないクレクレくん対策にうるさい人がいつも必死に騒いでるというのがこのスレの印象。
0882デフォルトの名無しさん
2013/10/08(火) 19:12:35.540883デフォルトの名無しさん
2013/10/08(火) 19:22:14.48新しいスレできてよかったね
今度からそっちでクレクレでもなんでもやってね
0884デフォルトの名無しさん
2013/10/08(火) 19:49:22.83気狂いって怖いな
0885デフォルトの名無しさん
2013/10/08(火) 19:49:54.93自分はネットとか社会のルールを守らないんですかねえ
0886デフォルトの名無しさん
2013/10/08(火) 19:56:35.29印象操作乙。
ルールを守らないやつが荒らしてるんだが。
0887デフォルトの名無しさん
2013/10/08(火) 19:58:20.440888デフォルトの名無しさん
2013/10/08(火) 20:04:44.73自己紹介乙
0889デフォルトの名無しさん
2013/10/08(火) 20:05:40.590890デフォルトの名無しさん
2013/10/08(火) 20:10:55.38クレクレを助長するとか言ってなかったっけ
★5の主旨に反しない範囲でコード書くのはいいと思うんだけどなぁ
0891デフォルトの名無しさん
2013/10/08(火) 20:22:35.87それは誰かさんのただの受取りようなだけ。
全く明記されていない。
0892デフォルトの名無しさん
2013/10/08(火) 20:55:24.43クレクレくんを助長するだけだからコード書くなとか、勝手な解釈にも限度があるかと。
0893デフォルトの名無しさん
2013/10/08(火) 21:06:57.16自分の信じたルールに従わないとクレクレを助長すると信じて疑わない
0894デフォルトの名無しさん
2013/10/08(火) 21:10:31.83「俺に考えを合わせろよ!」
0895デフォルトの名無しさん
2013/10/08(火) 23:40:07.09数行なら読んであげてもいいけど10行も20行も読んでられない
だから好きにしてくれていいよ
0896デフォルトの名無しさん
2013/10/10(木) 01:40:05.16この配列のサイズを変更する必要が出てきたため、ReDimをしたところ、
"インデックスが有効範囲にありません"というエラーが出てしまいます。
これを回避する方法のヒントでも教えていただけないでしょうか?
Sub test()
Dim Ar As Variant
Ar = ThisWorkbook.ActiveSheet.Range(Cells(1, 1), Cells(8, 1))
ReDim Preserve Ar(1 To 9)
Ar(9) = DateAdd("d", 1, Ar(8))
End Sub
0897デフォルトの名無しさん
2013/10/10(木) 01:54:33.80配列の次元ってわかるか?
セル範囲を代入された配列は2次元配列だぞ
ウオッチ式とかで確認すればわかるが、この場合(1 to 8,1 to 1)
ReDimのヘルプにはこう書いてある
>キーワード Preserve を指定した場合、変更できるのは、動的配列の最後の次元のサイズに限られます。また、次元数は変更できません。
つまり変更できるのは後ろの1 to 1のとこだけだ
どうしてもやりたいなら、自分で新しいサイズの配列を別途つくって中身をコピーするとかしないと
0898896
2013/10/10(木) 02:21:29.42早速ありがとうございます。ReDim Preserveでは最後の次元サイズしか変更できないなんて知りませんでした。
新たな配列作ってFor文でコピーするしかなさそうですね。ありがとうございました。
0899デフォルトの名無しさん
2013/10/10(木) 02:33:09.01TRANSPOSE
0900896
2013/10/10(木) 02:49:40.52あー、なるほど。Transposeで行列入れ替えたらReDim Preserveで配列サイズ変更できますね。
試してみます。ありがとうございました!
0901896
2013/10/10(木) 02:52:48.68他の言語でもこのような制限はあるものなんでしょうかね?それともVBAだけ?
0902710
2013/10/10(木) 07:04:26.25そもそも配列のサイズを変更できる言語の方が少ない。
最後の次元以外のサイズを変えられるようにすることも可能だけど実行時のコストが高杉。
0903デフォルトの名無しさん
2013/10/10(木) 21:18:30.950904896
2013/10/10(木) 22:30:21.42そうなんですか。VBAは特殊な部類なんですね。
ところで”実行時のコスト”とは?メモリを食ってしまうというような意味?
>>903
??? 配列以外の優れた何かが準備されているから?
0905デフォルトの名無しさん
2013/10/10(木) 23:23:10.67C++のvectorをVBAで使えるようにしてくらはい
0906デフォルトの名無しさん
2013/10/10(木) 23:33:00.70○ C++のvectorをVBAで使えるようにしてください
正しい日本語をしゃべってください。
0907デフォルトの名無しさん
2013/10/11(金) 00:50:29.71ScreenUpdating = Falseしたけど駄目だった。高速化したいから更新止めたいけど出来ませんか?
0908710
2013/10/11(金) 01:55:52.93> ところで”実行時のコスト”とは?メモリを食ってしまうというような意味?
>>898 が書いてるように、配列要素のコピーが発生するから、大きな配列では時間がかかる。
0909デフォルトの名無しさん
2013/10/11(金) 02:21:52.80ParlとかRubiみたいにね
0910デフォルトの名無しさん
2013/10/12(土) 06:38:28.65この本のタイトルはどうにかならんものか?
ダサい。
「センス」がなさすぎる。
0911デフォルトの名無しさん
2013/10/12(土) 08:16:04.46ま、まぁタイトルはともかく、問題は中身かな。
で、どうだった?ハイセンスな内容だった?
0912デフォルトの名無しさん
2013/10/12(土) 08:43:48.55で、それのどこがこのスレと関係ある話なの?
0913デフォルトの名無しさん
2013/10/12(土) 08:46:49.43ネタを受け流すことも少しは覚えろや912
0914デフォルトの名無しさん
2013/10/12(土) 09:36:55.54( ´,_ゝ`)プッ
0915デフォルトの名無しさん
2013/10/12(土) 17:30:47.74文字コード160の、見えない半角スペースは
ActiveCell.Replace ChrB(&HA0), " "
で置換出来たので、同じように、cをCODE関数で見ると63と出たので
ActiveCell.Replace ChrB(&H3F), "(C)"
としてみた所、セル中の文字が全部(C)になってしまいました。
決め打ちでcだけ置換するには、どう書けばいいでしょうか?
0916デフォルトの名無しさん
2013/10/12(土) 17:39:10.27有る有るw
0917デフォルトの名無しさん
2013/10/12(土) 18:11:48.03試してないけどこう?
ActiveCell.Replace "c","(C)"
0918917
2013/10/12(土) 18:13:55.700919デフォルトの名無しさん
2013/10/12(土) 18:18:18.32アホか。
クレクレ君対策と言わないと理解できないのか?
0920デフォルトの名無しさん
2013/10/12(土) 18:18:49.35http://www.ady.co.jp/song-chord/chorditiran.htm
http://www.finitojapan.com/cltable.html
http://www.jarl.or.jp/Japanese/7_Technical/lib1/teikou.htm
http://charset.7jp.net/sjis.html
0921デフォルトの名無しさん
2013/10/12(土) 18:29:46.17クレクレ君対策の他に★5キチガイの対策もしないといけないから大変だよね。
0922デフォルトの名無しさん
2013/10/12(土) 19:01:47.99コード以外で説明するのは面倒。
原因が判っても このスレでは返事出来ない。
次の規制が無いスレ toro.2ch.net/test/read.cgi/tech/1381151717/
になったら参加。
0923デフォルトの名無しさん
2013/10/12(土) 19:05:20.42はいはいコード作成依頼スレね。
0924915
2013/10/12(土) 19:30:16.51CODE関数で見ると63になって、他のUnicode文字?でも同じ63になったり
Ascで見ると99になって、小文字のcも同じ99だったりして、いい方法が分からないので
もう諦めます
0925デフォルトの名無しさん
2013/10/12(土) 19:58:56.73(cに○)はCOPYRIGHT SIGN。
COPYRIGHT SIGNに近い文字はc。
cの文字コードは63。
AscはCP932の文字コードを返す。
AscはCP932にない文字は近い文字のコードを返す。
COPYRIGHT SIGNはCP932にない。
ゆえにAscは63を返す。
という仮説を立ててみた。
0926デフォルトの名無しさん
2013/10/12(土) 20:03:36.15文字コードあたりは正確に言いだすとややこしいけど
Unicode見るのはAscW、逆はChrWと覚えておいて
ActiveCell.Replace ChrW(169), "(C)"
でいけるんじゃないかね
0927915
2013/10/12(土) 20:21:59.48で、出来ました!
昼間からいくらやっても出来なくて匙を投げてたんですが、無事置換できました
本当にありがとうございます
0928デフォルトの名無しさん
2013/10/12(土) 22:25:11.350929デフォルトの名無しさん
2013/10/12(土) 22:44:05.16コード作成依頼スレでどうぞ
http://toro.2ch.net/test/read.cgi/tech/1381151717/
0930デフォルトの名無しさん
2013/10/12(土) 22:56:34.47VBAがどちらに行くにせよ使える知識になったということで
まだまだ安泰にございます
0931デフォルトの名無しさん
2013/10/12(土) 23:39:50.52LibreOfficeにVBAが搭載されるってのはいつの話?
LibreOffice Basicと同じもの?
0932デフォルトの名無しさん
2013/10/13(日) 00:03:00.83・何年か前から
・全然違うもの
0933デフォルトの名無しさん
2013/10/13(日) 00:13:28.21Option VBASupport 1って書くと互換機能を利用できるけど
それとも違うもの?
0934デフォルトの名無しさん
2013/10/13(日) 00:17:53.0120年早かったら良い勝負してたかも。
0935デフォルトの名無しさん
2013/10/13(日) 07:24:49.46>>930-934 も誘導してあげてね^^
それともExcelVBAのコードだけに反応するの?
0936デフォルトの名無しさん
2013/10/13(日) 22:44:49.001,048,576 行 x 16,384 列
の100倍ぐらいの数値データーが発生する情報を集計計算したいのですが一体どうすれば良いのでしょうか?
0937デフォルトの名無しさん
2013/10/13(日) 23:09:24.35扱えるならOracleでもいい
0938デフォルトの名無しさん
2013/10/13(日) 23:13:04.51シートを分ければいい
0939デフォルトの名無しさん
2013/10/13(日) 23:17:04.36Excelはどう関係するの?
0940デフォルトの名無しさん
2013/10/13(日) 23:24:12.08全セル埋まった状態でシートをわけても快適に動く物でしょうか?
シートをわけてそれをつながっているかのようにVBAを書くのは大変そうですね。
0941デフォルトの名無しさん
2013/10/13(日) 23:31:37.86現在なら無料で使用できるフリーのデータベースいっくらでもあるんだからさ
俺も、そこまでの量じゃないけどMySQLを使ってる
ADOについて勉強しないといけなくなるけどね
0942デフォルトの名無しさん
2013/10/13(日) 23:50:33.97快適に動くかどうかはあなたの環境次第かと
なんでそんな大きなデータをExcelで扱いたいのか知らんけど
俺なら絶対他の手段をとる
0943デフォルトの名無しさん
2013/10/14(月) 00:34:44.98俺の予想では、全セル埋める前に動作が重くなって実用的じゃなくなる
うちのマシンはショボいから試したくない
大量のデータはデータベースソフトで管理すべき
0945デフォルトの名無しさん
2013/10/14(月) 02:16:45.49しかもその100倍とか言われると考える気もしないね
0946936
2013/10/14(月) 02:59:49.19最初は少しずつブックに分散して記録していましたが数ヶ月するとブックのファイル数がいくつあるかわからないぐらいになり数百ギガバイトに達し
最終的にはその他のデータも含めると1テラバイトオーバーし完全に収集がつかなくなりました
分散すると収集がつかなくなりますので1つのスーパー表をつくれないかと思った次第です・・無理っぽいですね。
皆さんがおっしゃるようにデーターベースをぼちぼち勉強してみます。
0947デフォルトの名無しさん
2013/10/14(月) 03:29:28.680948デフォルトの名無しさん
2013/10/14(月) 04:25:34.830949デフォルトの名無しさん
2013/10/14(月) 05:54:34.57数か月で数百ギガの時点で無理があると思うが。
動画ファイルでも集めてるならわかるが。
0950デフォルトの名無しさん
2013/10/14(月) 06:16:22.05技術系の仕事とかで測定器が吐きだすデータを収集するとかならあり得るかも。
0951デフォルトの名無しさん
2013/10/14(月) 06:27:47.70パディング捨ててバイナリに変換するだけで1/10になったりする
0952デフォルトの名無しさん
2013/10/14(月) 06:49:48.78ビックリの略かな?
0953デフォルトの名無しさん
2013/10/14(月) 07:07:16.77今現在、テラバイトのexcelファイル群を本当に全部管理して使用してるの?
0954デフォルトの名無しさん
2013/10/14(月) 07:13:40.840955デフォルトの名無しさん
2013/10/14(月) 07:32:39.62そもそもそのデータは現状どこから発生してて、
今どんな媒体にどんな形式で収まってるの?
テラを超える様な単位のデータを扱っててDBの知識が皆無ってのはちょっとあり得ないと思う。
0956デフォルトの名無しさん
2013/10/14(月) 08:06:31.410957デフォルトの名無しさん
2013/10/14(月) 08:14:03.19SendKeys "%{F4}"
SendKeys "{N}"
SendKeys "{ENTER}"
0958デフォルトの名無しさん
2013/10/14(月) 08:27:40.79ExcelVBAでやる作業として手詰まり感があるから根本的なところを聞いて
本当に手詰まりなのか確認しているだけだと思うが。
こういう根本的なところを確認することは問題を解決するときの基本だろ。
0959デフォルトの名無しさん
2013/10/14(月) 08:43:50.79わからないのなら黙ってればいいのになんででしゃばろうとするかねw
関係ないこと聞いてなにするんだよw
0960デフォルトの名無しさん
2013/10/14(月) 09:10:48.650961デフォルトの名無しさん
2013/10/14(月) 11:16:35.75ビッグデータのアドレスを参照して計算するだけを
Excelでやればいいだけなんじゃないの
0962デフォルトの名無しさん
2013/10/14(月) 13:30:41.09とりあえずそのデータ全てをEXCELに取り込むのは無理だから
それ以外の方法を検討してるわけだ
0963デフォルトの名無しさん
2013/10/14(月) 15:00:03.41方眼紙の網の目は無限に細かくできるし数値を増やせばいくらでも巨大にできる更にそれ自体の枚数を増やすと倍になる、こうすればすぐにビックデーターになるよ。
0964デフォルトの名無しさん
2013/10/14(月) 15:57:43.65テーブルに小計を挿入しようと色々調べてみたんですがどうもテーブル状態だと
小計が挿入できないみたいなんで
上のURLを参考に
「"シート2"を開いたときに"シート1"にある"テーブル1"を"シート2"に
テーブルじゃない状態で貼付け
貼り付けた表を項目1項目2の優先順位でソートし項目3の小計を入れる」
っていうのをマクロでやりたいんですが
Private Sub Worksheet_Activate()
Dim rngDat As Range
Dim pvtTbl As PivotTable
'データ範囲※
Set rngDat = ThisWorkbook.Sheets("シート1") _
.Range("テーブル1").CurrentRegion
このあと貼付けのとこからほとんどわからないんですがどう書いたらいいか誰かお願いします
ほとんど丸投げ状態の質問ですいません
0965デフォルトの名無しさん
2013/10/14(月) 16:03:32.50必ず最後に下のように書かないとダメなんですか?
Set objTest = Nothing
0966デフォルトの名無しさん
2013/10/14(月) 16:08:54.46大概スコープが切れた所で解放されるけど、
よく分からないなら付けとけばいい。
0967デフォルトの名無しさん
2013/10/14(月) 16:10:01.15うんにゃ、書く必要があるときもあるけど、たいていは必要ない。
0968965
2013/10/14(月) 16:24:14.98スコープが切れるとはどういうことでしょうか?
>>967
あれ、プログラムみたいなものは1か0。必ずどっちかになるんでは?「たいていは」とか「〜ときもあるけど」という言葉はコンピュータの世界には似合わない。
0969デフォルトの名無しさん
2013/10/14(月) 16:33:08.680970デフォルトの名無しさん
2013/10/14(月) 16:36:00.25>あれ、プログラムみたいなものは1か0。必ずどっちかになるんでは?
プログラムみたいなものは具体的になんでしょうか。2を返すプログラムもあるでしょうし、
一概に1か0なんてことは言えないと思いますよ。
>「たいていは」とか「〜ときもあるけど」という言葉はコンピュータの世界には似合わない。
似合わないというのはあなたの価値観ですね。プログラムの動作は個人の価値観で決まるものではないので、
この場合はご披露いただいてもあまり意味がないかと。ナンセンスですね。
0971デフォルトの名無しさん
2013/10/14(月) 16:57:37.53いや、横から変な事を突っ込んで済まんが、
ここで言ってる0か1と言うのは最終的に機械語レベルのコードになった時、
全てのコードは2進数で0と1の組み合わせから出来ているって事を言いたかったんだと思うぞ。
だから2だとしたら10な。
0972デフォルトの名無しさん
2013/10/14(月) 17:06:37.49>>968は2進数の話をしているのですか。そうですか。よくわかりませんね。
0973デフォルトの名無しさん
2013/10/14(月) 17:20:03.670974デフォルトの名無しさん
2013/10/14(月) 17:20:21.16何を言っているかもよく分からないけどプログラム言語は機械語と自然言語の中間に位置する為、ある程度の曖昧さを許容する。
のかもしれないししないかもしれない。
0975デフォルトの名無しさん
2013/10/14(月) 17:23:17.340976デフォルトの名無しさん
2013/10/14(月) 18:08:36.76必ず書く必要はないですよ
書く必要があるときに書けばいいんです
0977デフォルトの名無しさん
2013/10/14(月) 18:10:41.87次スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
0978デフォルトの名無しさん
2013/10/14(月) 18:13:11.90Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151995/
0979デフォルトの名無しさん
2013/10/14(月) 18:16:00.79紛らわしいからコード作成依頼スレと書いてほしいね。
0980デフォルトの名無しさん
2013/10/14(月) 18:32:23.79いや、>>977が本スレの様だが
勢いもこっちの方があるみたいだし、
★5厨もうるさいこと言わないだろうし。
0981デフォルトの名無しさん
2013/10/14(月) 18:37:32.71ま、過去ログやテンプレ、このスレの流れを見ればどっちが本スレかは分かると思うけど。
本スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151995/
コード作成依頼スレ
http://toro.2ch.net/test/read.cgi/tech/1381151717/
0982デフォルトの名無しさん
2013/10/14(月) 18:38:57.540983デフォルトの名無しさん
2013/10/14(月) 19:20:05.730984デフォルトの名無しさん
2013/10/15(火) 03:09:57.520985デフォルトの名無しさん
2013/10/15(火) 06:05:22.550986デフォルトの名無しさん
2013/10/15(火) 07:21:55.600987デフォルトの名無しさん
2013/10/15(火) 15:17:46.48マクロでシート名を入力するのは大変なので。
0988デフォルトの名無しさん
2013/10/15(火) 15:31:46.84可能です。
0989デフォルトの名無しさん
2013/10/15(火) 15:54:40.62range("シート1!E5").value = worksheets(range("シート1!A3").value).range("D4").value
0990デフォルトの名無しさん
2013/10/15(火) 16:00:19.57シートが存在しないケースを考慮してない糞コード乙。
0991デフォルトの名無しさん
2013/10/15(火) 16:29:15.72書式を考慮してない糞コード乙。
0992デフォルトの名無しさん
2013/10/15(火) 17:49:05.470993デフォルトの名無しさん
2013/10/15(火) 18:13:22.01責任持って荒らします
0994デフォルトの名無しさん
2013/10/15(火) 18:15:32.61可能かどうかしか聞かれてないのにコード書く必要がどこにある?
更にバグ有りのコード晒して質問者に失礼でしょ。
しかも動作確認もしてなさそうだし、オナニーもいいところ。
0995デフォルトの名無しさん
2013/10/15(火) 18:25:18.67な、言った通りだろ。
0996デフォルトの名無しさん
2013/10/15(火) 18:29:02.95次スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
>>1★5厨のオナニースレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151995/
0997デフォルトの名無しさん
2013/10/15(火) 18:29:40.780998デフォルトの名無しさん
2013/10/15(火) 18:30:34.310999デフォルトの名無しさん
2013/10/15(火) 18:30:51.81次スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151995/
コード作成依頼スレ
http://toro.2ch.net/test/read.cgi/tech/1381151717/
1000デフォルトの名無しさん
2013/10/15(火) 18:31:23.5410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。