トップページtech
1002コメント374KB

Excel VBA 質問スレ Part45 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2017/01/03(火) 02:51:16.56ID:9Y8iTik6
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part44
http://echo.2ch.net/test/read.cgi/tech/1479421482/


※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 125
http://echo.2ch.net/test/read.cgi/bsoft/1481369538/
0508デフォルトの名無しさん2017/02/04(土) 20:55:01.33ID:O5nNdZ1M
>>507
いいと思うけどなぜか嫌う人もいる
0509デフォルトの名無しさん2017/02/04(土) 20:57:38.63ID:TSeQ29q+
宣言と代入を分けたいタイプ
0510デフォルトの名無しさん2017/02/04(土) 21:02:39.21ID:O5nNdZ1M
ああこれだ
https://msdn.microsoft.com/ja-jp/library/dd297716.aspx
0511デフォルトの名無しさん2017/02/04(土) 21:17:54.19ID:O5nNdZ1M
>>509
宣言と同時に初期化(≠代入)したい、ってことでしょ
0512デフォルトの名無しさん2017/02/04(土) 21:49:00.67ID:pJMir97a
>>510
ほえー、これは知らんかったわ
なんでこんな凝ったことするかねぇ...
0513デフォルトの名無しさん2017/02/04(土) 22:12:26.08ID:R/BCzGYY
>>507
もう出てるけどコンストラクタが働かない
0514デフォルトの名無しさん2017/02/05(日) 10:29:00.78ID:7v2W1cWr
>>499
多分この仕様のせいかと
https://msdn.microsoft.com/ja-jp/library/office/ff838027.aspx
>トリミングは、元の図の大きさを基に計算されます。
>たとえば、元の図が高さ 100 ポイントの場合に、それを 200 ポイントに変更して、
>CropBottom プロパティに 50 を設定すると、
>図の下端からトリミングされるのは 50 ポイントではなく 100 ポイントとなります。

だから↓のような処理にすればよくね?
現在のサイズを保存 → オリジナルサイズに戻す → Crop → Cropしてない方のサイズに戻す
0515デフォルトの名無しさん2017/02/05(日) 18:56:44.11ID:qj78kXRn
>>514
ありがとうございます 一発で解決しました
変な仕様だとおもったけど拡大縮小を考えたら
こっちのほうが誤差がでなくて使いまわしがいいのかも
0516デフォルトの名無しさん2017/02/06(月) 12:18:45.75ID:Xnyr5yqp
>>493
ありがとうございます!
無事想定通りに動きました!
0517デフォルトの名無しさん2017/02/06(月) 15:58:56.02ID:6lEgfPNZ
これできるとどんないいことあるん?
0518デフォルトの名無しさん2017/02/07(火) 21:15:01.23ID:0h02j8pV
エクセルでお聞きしたいのですが
簡易CTIをエクセルで作りたいと思ってます
パソコンに繋いでいるfomaの着信を拾って相手の発信番号を取得するにはどうすれば良いでしょうか?

com3ポートに認識されていたのでterateamで接続しATコマンドでの発着信はできました

vbaでの操作ではCOMポートにATコマンドを入力して発信はできました

なんとか自力でココまで調べましたが、肝心の着信を拾う方法が一向に分かりません•••

何方か教えて頂けませんでしょうか
0519デフォルトの名無しさん2017/02/07(火) 21:26:24.63ID:obnTOw8Y
PCで起こったイベントをVBAで受けとるの無理じゃね?
できるなら俺も教えてほしい
煽りとかじゃなくて
0520デフォルトの名無しさん2017/02/07(火) 21:33:09.15ID:71skcbUj
仕様をオープンにしてる機器じゃないとデータ取れなかった記憶があるが
232Cアナライザーでどんな通信してるかバイパスして見るとかいう手もある
http://www.fullfree.jp/i/cti/%E6%90%BA%E5%B8%AF%E9%9B%BB%E8%A9%B1/
対象機器なら ↑ こういう手もあるかも
0521デフォルトの名無しさん2017/02/07(火) 21:45:01.70ID:K6SNK3fF
また馬鹿が来た
0522デフォルトの名無しさん2017/02/07(火) 22:41:07.72ID:4GsqGq1T
ファイルが関数で重いため、入力用のシートと関数用のシートに分けてます。計算したいときだけシートを計算するようにしてます。
しかし起動時に勝手に計算してしまうことがあります。(計算されないこともある)原因がわかる方がいたら教えてくださいm(__)m
マクロ勉強中なので変なこと描いてるかもしれませんが、お手柔らかにお願いします。


Private Sub Workbook_Open()
Worksheets(計算シート1).EnableCalculation = False
Worksheets(計算シート2).EnableCalculation = False
End Sub

Sub 再計算()
Worksheets(計算シート1).EnableCalculation = True
Worksheets(計算シート2).EnableCalculation = True
Calculate
Worksheets(計算シート1).EnableCalculation = False
Worksheets(計算シート2).EnableCalculation = False
End Sub
0523デフォルトの名無しさん2017/02/07(火) 22:42:44.62ID:4GsqGq1T
>>522
EXCEL2007 windows7です。
0524デフォルトの名無しさん2017/02/07(火) 22:47:36.56ID:vzZ8DTGh
>>522


数式再計算を止める
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic

「.Calculation」と「.EnableCalculation」のどちらが効果的か
http://stabucky.com/wp/archives/6840


.EnableCalculationってのは初めて知ったw
0525デフォルトの名無しさん2017/02/07(火) 22:49:15.03ID:0h02j8pV
>>520
fullfreeは試しに使って見ました
通知も上手く動くので大変良いのですが、本格的に使うには有料版を買わなきゃいけないのです•••
VB.netで似たようなものなら作れるのかな
0526デフォルトの名無しさん2017/02/07(火) 22:56:00.49ID:kg1BFKbj
msの文章まんまだけれど

ファイル名 ドキュメントの種類 計算方法
------------------------------------------------------
Auto1.xls Workbook 自動
Manual1.xls Workbook 手動
Auto2.xls Workbook 自動

Excel の計算方法は、次の各条件を適用して決定されます。

最初に開かれるドキュメントでは、そのドキュメントで最後に保存された計算方法が使用されます。以降に開かれるドキュメントでは、同じ計算方法が使用されます。

たとえば、Auto1.xls を開いてから Manual1.xls を開く場合は、両方のドキュメントで自動の計算方法 (Auto1.xls で使用されていた計算方法) が使用されます。Manual1.xls を開いてから Auto1.xls を開く場合は、両方のドキュメントで手動の計算方法が使用されます。

事前に何かのブックを開いている…ってのはないのかな
0527デフォルトの名無しさん2017/02/07(火) 22:57:33.27ID:4GsqGq1T
>>524
回答ありがとうございます。
前はそっちでやってたんですけど、結果は同じでした。
それにexcel自体を全て手動計算にしている状態で別のexcelファイルを開くと、後から開いたEXCELファイルも手動になってしまうので、それは辞めました。
アクティブ状態のとき手動計算。非アクティブのとき自動計算にするっていう感じでごまかしていたんてすけど、それでも他のファイルがアクティブのときは重くなってしまうのでエクセル全体の手動計算化は諦めたんです。
0528デフォルトの名無しさん2017/02/07(火) 23:13:44.54ID:4GsqGq1T
>>526
それもあり得ると思ってそのファイル以外は開かないようにしていろいろ試しているんですけど、たまに起動時に自動計算してしまいます。

上記の再計算マクロを実行したときに、次回起動時に再計算されることが多い気がします。

あと変わったことといえば、保存時にバックアップファイルを作成すると、読み取り専用で開くを推奨するにチェックを入れてます。
0529デフォルトの名無しさん2017/02/07(火) 23:22:48.13ID:diTiDCUQ
>>518
どう繋いでるのか知らんけど
AT+CMR=3,0,0,1,0
で非請求リザルトコードを送出するようにして
AT+CLIP=1
で相手先の番号通知をするようにしておけば電話がかかってきたらリザルトコードと電話番号が送られてくるはず
https://www.nttdocomo.co.jp/binary/pdf/corporate/technology/document/foma/foma8.pdf
0530デフォルトの名無しさん2017/02/08(水) 00:37:33.33ID:ZVPHpwbP
どう考えても、セルよりソルかゾルの方がカッコいいよな。
Zolls(4,2).Value= "あ"
みたいな。

何でかというと、サム(SUM)も、ザム(ZAM)にしたほうがカッコイイからです。
なので、LEN→ZEN、LEFT→LEVT、IF→IVEに直ることを望みます。
0531デフォルトの名無しさん2017/02/08(水) 00:44:56.28ID:JHaqns+X
どう考えても意味が通じなくなるよな

何でかというと、SUM(和)も、動きと意味を同じにしているからです。
0532デフォルトの名無しさん2017/02/08(水) 01:23:44.42ID:gxc/oAA1
サムって書くとアメリカ人の名前みてーだなや
0533デフォルトの名無しさん2017/02/08(水) 12:32:13.51ID:YRaicT0y
>>530
前向きに善処します
0534デフォルトの名無しさん2017/02/08(水) 15:05:50.71ID:jpNr2q1t
サムプロダクトって毎回?????
だからやめて欲しい
何度説明読んでも覚えられない
0535デフォルトの名無しさん2017/02/08(水) 16:01:16.01ID:GSna8Pfo
>>534
SUMPRODUCT っていう名前の事? 機能の事? どっちを言ってる?

機能の事なら覚えるしかないけど
名前の事なら
VBEのインテリジェンス や 数式オートコンプリートで候補表示されるがな
0536デフォルトの名無しさん2017/02/08(水) 17:02:26.93ID:jpNr2q1t
サムプロダクトって名前からどういう機能だったかって連想ができない
0537デフォルトの名無しさん2017/02/08(水) 17:26:17.93ID:G5M1Oque
積の和ってそのままじゃないかな?
0538デフォルトの名無しさん2017/02/08(水) 20:23:45.21ID:PsLw780Z
>>535
インテリセンスな
0539デフォルトの名無しさん2017/02/08(水) 20:28:50.62ID:xdFvHyj9
>>538
そういう英単語はないのですが。
0540デフォルトの名無しさん2017/02/08(水) 20:31:43.60ID:ahyxJIg+
なかったら作ればいいじゃない
インゲマルセンス
0541デフォルトの名無しさん2017/02/08(水) 20:35:58.20ID:YRaicT0y
>>536
そんなに馬鹿をご披露しなくても。
見ててしんどすぎるw
0542デフォルトの名無しさん2017/02/08(水) 20:36:09.45ID:KwXJn1Y4
>>539
辞典に載ってる
http://www.weblio.jp/content/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AA%E3%82%BB%E3%83%B3%E3%82%B9
http://e-words.jp/w/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AA%E3%82%BB%E3%83%B3%E3%82%B9.html
0543デフォルトの名無しさん2017/02/08(水) 21:17:52.74ID:J3ugy/jR
>>535
そうだな。INNERPRODUCTって名前にすべきではあるな。
0544デフォルトの名無しさん2017/02/08(水) 21:18:25.45ID:J3ugy/jR
間違えた
>>534
0545デフォルトの名無しさん2017/02/08(水) 22:10:27.54ID:ycePkqqk
関数も漢字表示にすれば良いんだよ
LEN→文字数
LEFT→左
SUM→和
SUMPRODUCT→積の和
0546デフォルトの名無しさん2017/02/08(水) 22:42:52.80ID:2zqqayOY
秘密 関数 殺(参照 相手) 的 真偽値
0547デフォルトの名無しさん2017/02/08(水) 22:47:04.89ID:DZJYY/gu
B列のセルの値の取り得るデータは
・空白
・日付    例:2017/01/0
・A701-01  英字&3桁数字&ハイフン&2桁数字

B列の複数行をピンポントで選択して、マクロを実行
・空白、日付の場合は、なにもしない
・A701-01 → A701-01+1 「+1」の部分を追加
「+1」部分についてはマクロボタンを区別して「+0」〜「+5」をそれぞれ選べるようにする

作ってみたのが↓

 Sub Plus1()
 '
 ' セルの文字列に”+1”を追加する
 '
 Dim cell As Range
 For Each cell In Selection
  cell.Formula = Left(cell, 7) & "+1"
 Next

これだと、選択したセルの値に強制的に「+1」を付加することができるけど
まずB列以外を誤って選択した場合、実行をキャンセルする
空白もしくは日付データのセルを誤って選択した場合スキップする
という条件が未設定なわけですが

初心者のため、やり方が解りません
何卒ご教授お願いします
0548デフォルトの名無しさん2017/02/08(水) 22:55:24.84ID:PsLw780Z
>>547
Sub test1()
  If Selection.Columns.Count = 1 And Selection.Column = 2 Then
    For Each cell In Selection
      If Len(cell.Text) = 7 Then
        cell.Value = cell.Text & "+1"
      End If
    Next
  End If
End Sub
0549デフォルトの名無しさん2017/02/08(水) 23:32:27.61ID:DZJYY/gu
ヒントを頂き有り難うございました

日付チェックは難しそうなのでパスしました

列チェック、ブランクチェックはOK
0550デフォルトの名無しさん2017/02/08(水) 23:43:38.04ID:G5M1Oque
>>549
データ左端の文字が英文字の場合のみ処理すればよい
0551デフォルトの名無しさん2017/02/08(水) 23:56:03.18ID:ZVPHpwbP
For 〜 Next の中に、
クラスモジュールでプロパティゲトォした値を入れると、遅くなりますか?
(1ループ毎にゲトォしやがりますか?)
普通の変数の方がいい?
0552デフォルトの名無しさん2017/02/08(水) 23:57:41.36ID:2zqqayOY
>>549
A1に 2017/2/8 (日付)
A2に '2017/2/8 (日付に似た文字列)
を入れた場合、

TypeName([A1].Value) は Date
TypeName([A2].Value) は String

VarType([A1].Value) は  7
VarType([A2].Value) は 8

IsDate([A1].Value) は True
IsDate([A2].Value) は True

目的に応じて。
0553デフォルトの名無しさん2017/02/09(木) 08:11:20.26ID:qBnVMklj
>>551
それぐらい自分で試せるでしょ
0554デフォルトの名無しさん2017/02/09(木) 09:20:05.90ID:kHCI6X3g
>>551
速いは遅いは
そりゃ偉い騒ぎよ
0555デフォルトの名無しさん2017/02/09(木) 12:46:25.09ID:vKLMa/HO
タイトル行ともう一行を別シートに書き出していくマクロを作りたいのですが、タイトル行が書き出せなくて困ってます
ご教授願えませんでしょうか...

Sub Macro2()
Dim orgWs As Worksheet
Dim idx As Long
  Set orgWs = ActiveSheet
  Application.ScreenUpdating = False
  For idx = 1 To Range("A65536").End(xlUp).Row
    Worksheets.Add after:=Sheets(Worksheets.Count)
    orgWs.Rows(idx).Copy
    Range("A1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
'    ActiveSheet.Name = orgWs.Cells(idx, "A").Value
  Next idx
  orgWs.Activate
  Application.CutCopyMode = False
  Application.ScreenUpdating = True
End Sub
0556デフォルトの名無しさん2017/02/09(木) 12:48:49.77ID:hH4J/ks8
×ご教授
○ご教示
0557デフォルトの名無しさん2017/02/09(木) 12:54:24.78ID:f2wLu3Eu
ご教授願いたいも日本語として間違いとまでは言えないがあまり使われない表現だしご教示願いたいを間違ってるんだなと丸わかり
0558デフォルトの名無しさん2017/02/09(木) 12:54:36.06ID:vKLMa/HO
ご教示お願いいたします...!
0559デフォルトの名無しさん2017/02/09(木) 13:03:15.06ID:0S6dEfQx
>>555
本来のやりたい事がようわからんが ありがちな事として
Row(行) と Column(列)を 勘違いしてるとか

ActiveSheetの内容と欲しい結果を具体例で上げてみて
0560デフォルトの名無しさん2017/02/09(木) 13:25:47.81ID:WkR93Ch5
>タイトル行ともう一行
なら2回コピペ
0561デフォルトの名無しさん2017/02/09(木) 13:43:10.76ID:vKLMa/HO
一行一お客さんのリスト(一行目がタイトル行で二行目以降にお客さんの情報が載ったリスト)から、別シートにお客さん毎に情報を書き出したくて行数分だけシートを作りたい形です。出力先はタイトル列とお客さん列の2列だけにしたいのです

一件2回コピペで終わるんですが、数があるのと、元のリストを整備しておけば簡単に作り直せるようにしたいので。
0562デフォルトの名無しさん2017/02/09(木) 14:01:19.23ID:0S6dEfQx
>>561
これだと どうかな? (2回コピペでもいいけどUnionで一回でいいようにしてる)

Sub Macro2b()
Dim orgWs As Worksheet
Dim idx As Long
  Set orgWs = ActiveSheet
  Application.ScreenUpdating = False
  For idx = 2 To Cells(Rows.Count, "A").End(xlUp).Row
    Worksheets.Add after:=Sheets(Worksheets.Count)
    Union(orgWs.Rows(1), orgWs.Rows(idx)).Copy
    Range("A1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
    ActiveSheet.Name = orgWs.Cells(idx, "A").Value
  Next idx
  orgWs.Activate
  Application.CutCopyMode = False
  Application.ScreenUpdating = True
End Sub
0563デフォルトの名無しさん2017/02/09(木) 14:01:32.78ID:e5heueGc
>>561
Sub Macro2()
Dim orgWs As Worksheet
Dim idx As Long
Set orgWs = ActiveSheet
Application.ScreenUpdating = False
For idx = 2 To Range("A65536").End(xlUp).Row
Worksheets.Add after:=Sheets(Worksheets.Count)
orgWs.Rows(1).Copy
Range("A1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
orgWs.Rows(idx).Copy
Range("B1").PasteSpecial Paste:=xlPasteAll, Transpose:=True
'    ActiveSheet.Name = orgWs.Cells(idx, "A").Value
Next idx
orgWs.Activate
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

こんなんでいいの?
0564デフォルトの名無しさん2017/02/10(金) 06:41:47.39ID:C/dUqapt
>>561
書式必要じゃないなら
Dim v as variant
v = range(範囲)
貼り付け先 = v
ってした方が早いんじゃないかな
書式必要だとしても、形式が決まってるならあとから直接指定した方がコピペするより早いと思う
クリップボード経由する分コピペだと遅いはず
0565デフォルトの名無しさん2017/02/10(金) 07:18:27.18ID:C/dUqapt
こんな感じね
細かいこと言うとActivesheetを変数に入れてるのに最大行求めるときに指定してなかったりとか個人的には気になる
あと、コピペするにしても行まるごとコピーするよりちゃんと範囲指定してあげたほうが速いんじゃね、試してないけど
後、増やした後のシートもちゃんと指定してあげないと
「アクティブになってる前提」でコード書くと怖いよ

Sub test()
Dim orgWs As Worksheet, dstWs As Worksheet
Dim idx As Long, maxRow As Long, maxCol As Long
Dim postValue As Variant
Set orgWs = ActiveSheet
maxRow = orgWs.Cells(Rows.Count, 1).End(xlUp).Row
maxCol = orgWs.Cells(1, Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
For idx = 1 To maxRow
postValue = orgWs.Range(orgWs.Cells(idx, 1), orgWs.Cells(idx, maxCol))
Set dstWs = Worksheets.Add(after:=Sheets(Worksheets.Count))
dstWs.Range(dstWs.Cells(1, 1), dstWs.Cells(maxCol, 1)) = WorksheetFunction.Transpose(postValue)
Next idx
orgWs.Activate
Application.ScreenUpdating = True
End Sub
0566デフォルトの名無しさん2017/02/10(金) 07:23:40.57ID:C/dUqapt
あ、タイトル列やり忘れた
まあ、同じ要領で
05675602017/02/10(金) 08:45:56.33ID:ykEk/iF/
>>561
もちろん手作業じゃないよ
元のコードは1回(1行)しかしてないでしょ
0568デフォルトの名無しさん2017/02/10(金) 18:30:23.86ID:n+qIsj3Q
皆様ご教示ありがとうございました!
VBAの勉強がんばります・・・
0569デフォルトの名無しさん2017/02/10(金) 18:45:27.09ID:iQHACvfg
>>568
ちゃんと速度は計れよ
0570デフォルトの名無しさん2017/02/10(金) 20:51:56.75ID:FEKvr519
2つエクセルブックがあって、仮にそれぞれを「BookA」「BookB」というブック名にする。
BookBに「仮シート」という名前のシートがあり、
そこにAのsheet1のA1〜B2のデータをコピーして、
仮シートのC1にコピーするにはどういうコードを書けば良いでしょうか?

Workbook("BookA").Activate
Worksheet("Sheet1").Activate
Range("A1:B2").copy(Workbooks("BookB").Range(C1))

これでは動かなかったです。
基本的なことですが、教えてくれると助かります。
0571デフォルトの名無しさん2017/02/10(金) 20:57:35.59ID:FEKvr519
訂正

Workbook("BookA").Activate
Worksheet("Sheet1").Activate
Range("A1:B2").copy(Workbooks("BookB").Worksheets("仮シート").Range(C1))

これでは動かなかったです・・。
0572デフォルトの名無しさん2017/02/10(金) 20:57:57.50ID:uU6WR+pH
>>570
Windows("BookA.xlsx").Activate
Sheets("Sheet1").Select
Range("A1:B2").Select
Selection.Copy
Windows("BookB.xlsx").Activate
Sheets("仮シート").Select
Range("C1").Select
ActiveSheet.Paste
0573デフォルトの名無しさん2017/02/10(金) 20:59:28.26ID:FEKvr519
>>572
おぉ、こんな早いレスありがとうございます!
さっそく試してみます!
0574デフォルトの名無しさん2017/02/10(金) 21:08:21.59ID:FEKvr519
>>572
一行目のxlsxって入れると、インデックスが有効でありませんって出ます。
このxlsxを抜くと動くんですけど、これは抜いてもいいんですか?
0575デフォルトの名無しさん2017/02/10(金) 21:30:28.00ID:FEKvr519
追記:最初にブックをアクティブにする時にです。
xlsxがなければアクティブになるのですが・。
0576デフォルトの名無しさん2017/02/10(金) 21:59:49.57ID:0WSFnPb1
マクロの記録使え
0577デフォルトの名無しさん2017/02/10(金) 22:33:27.68ID:O1yyuw9v
>>575
ファイルが存在してない(bookAを保存してない)
xlsで保存してる
そもそも開いてない

どれか
0578デフォルトの名無しさん2017/02/10(金) 22:43:44.52ID:Tmi1uInj
使ったら負けだと思ってる
0579デフォルトの名無しさん2017/02/10(金) 22:52:11.64ID:O1yyuw9v
>>578
今はおとなしく負けてろ
次に勝てばいい
0580デフォルトの名無しさん2017/02/10(金) 22:55:49.26ID:Tmi1uInj
>>579
ふ、いつでも次があると思うなよ
0581デフォルトの名無しさん2017/02/10(金) 22:59:43.13ID:O1yyuw9v
>>580
いつまでも、な

俺は常に次を作り出せるので気にしない
いつまでも誰かから機会をもらえると思うなよ
0582デフォルトの名無しさん2017/02/10(金) 23:06:57.39ID:Tmi1uInj
>>581
だから無いって言ってるだろ
ややこしい奴だなお前w
0583デフォルトの名無しさん2017/02/10(金) 23:12:17.61ID:XPfR8Ri8
>>574
駄目です❗
0584デフォルトの名無しさん2017/02/10(金) 23:22:18.55ID:eMOKhTfC
Excelが本気を出すと、
どの辺までいけますか?
バーチャファイター2は作れる?
0585デフォルトの名無しさん2017/02/10(金) 23:32:35.61ID:X8zCTp9W
>>584
絵が描ける
0586デフォルトの名無しさん2017/02/10(金) 23:40:27.15ID:eMOKhTfC
それはPowersPointでも出来ると思うんですよ。
0587デフォルトの名無しさん2017/02/10(金) 23:41:38.00ID:XPfR8Ri8
>>584
4まで行ける
0588デフォルトの名無しさん2017/02/10(金) 23:45:26.17ID:Y+gj7rLy
計算できる
0589デフォルトの名無しさん2017/02/10(金) 23:56:37.09ID:6UihQBZT
ExcelでDirectX使えばそこそこのバーチャファイターぶりにはなりそう
0590デフォルトの名無しさん2017/02/11(土) 01:21:11.41ID:DxY/TAwg
WindowsAPIを使ったBad Appleは動画?
0591デフォルトの名無しさん2017/02/11(土) 02:17:03.74ID:WAY5pSrp
「29歳既婚、2年前に会社を辞めた。ボードゲーム作りを始めて3700万円を
売り上げたけど何か聞きたいことはある?」回答いろいろ
http://labaq.com/archives/51880196.html
自作ゲーム即売会「ゲームマーケット」に1万人超
http://www.nikkansports.com/general/nikkan/news/1750500.html
ボードゲームの展示イベント「ゲームマーケット」の成長記録からこれからの
市場に必要なことを妄想してみた。6年間の来場者数推移(2016年4月時点調べ)
https://bodoge.hoobby.net/columns/00001
カードゲームを自作する1 【自宅でカード印刷】
http://tanishi.org/?p=801
100円ショップでボードゲームを自作しよう
https://sites.google.com/site/jun1sboardgames/blog/makeyourbg
ノーアイデアでボードゲームを作ろう第1回「100円ショップで物を買う」
http://boardgamelove.com/archives/boardgame-make-1/
ボードゲーム市場がクラウドファンディングの出現で急成長を遂げ市場規模を拡大中
http://gigazine.net/news/20150820-board-game-crowdfunding/
実際のところ、自作ボードゲームってどれぐらい売れるもんなの?
http://roy.hatenablog.com/entry/2016/12/20/220102
ゲームマーケット2016春にて初参加サークルさんに作成数アンケートをとってきました
http://hidarigray.blog35.fc2.com/blog-entry-614.html
カフェも急増 ボードゲームにアラサーがハマる理由
http://style.nikkei.com/article/DGXMZO10921930R21C16A2000000?channel=DF260120166491
ボードゲームのオリジナルオーダー制作
http://www.logygames.com/logy/ordermade.html
0592デフォルトの名無しさん2017/02/11(土) 08:56:45.70ID:81NKiA7R
>>584
週刊誌に載ってるような程度の詰将棋が解ける
0593デフォルトの名無しさん2017/02/11(土) 13:44:07.84ID:WeBIHJYm
>570
>572
ActivateとSelectを使うのはやめた方がいいんじゃね?
copyで実装する必要もあるんかい?

Windows("BookA").Worksheets("Sheet1").Range("A1:B2").Copy Windows("BookB").Worksheets("仮シート").Range("C1")

とか

Windows("BookB").Worksheets("仮シート").Range("C1:D2").Value=
Windows("BookA").Worksheets("Sheet1").Range("A1:B2").Value

xlsxについて言えば、実際のブック名(ファイル名)はどうなってるの?
タイトルに書かれてる奴は?
ファイルに保存したことが無ければ当然拡張子は付いてない。
0594デフォルトの名無しさん2017/02/11(土) 17:37:07.32ID:y7jIVWYW
BookBがBooBsに見えた
0595デフォルトの名無しさん2017/02/11(土) 17:51:11.27ID:QMyG+xER
任意の結合されたセルをコピーして、別のセルに貼り付け後
コピー元のセルの結合を解除し、データを削除できますか?
(要はカットペースト)

任意のセルをコピーをして
Sub paste()
Selection.PasteSpecial paste:=xlPasteValues
Selection.PasteSpecial paste:=xlPasteFormats
End Sub
で、別のセルに貼り付けまではできるのですが
コピー元のセルの削除ができません。
0596デフォルトの名無しさん2017/02/11(土) 17:58:36.30ID:2rQZT4wf
貼り付け先はどこ?
05975952017/02/11(土) 18:06:37.00ID:QMyG+xER
>>596

例えばA1からA3までが結合されていてそれをコピー
それをA5に貼り付けて
A1からA3は結合は解除されデータも削除したいのです。
0598デフォルトの名無しさん2017/02/11(土) 18:21:40.18ID:2rQZT4wf
普通にマクロ記録でできません?
カットして、貼り付け先決めてペースト
05995952017/02/11(土) 18:28:54.29ID:QMyG+xER
>>598検討していただいてありがとうございます。

カットだと数式崩れてしまったり弊害も多くて…
0600デフォルトの名無しさん2017/02/11(土) 18:33:55.38ID:DSeAMe3p
>>599
普通に
コピー元.MergeCells = False
コピー元.ClearContents
ではないの?
06015952017/02/11(土) 19:36:29.77ID:QMyG+xER
>>600
コピー元はA1:A3だったりA5:A8だったりと想定していまして
コピー元をRange("A1:A3")と指定できないです。
0602デフォルトの名無しさん2017/02/11(土) 19:38:42.10ID:DVczqHH+
この言語って文系でも理解できますか?
変数宣言とメッセージボックスはなんとなくわかったのですが、IF文とかFor文とかわけわかりません
0603デフォルトの名無しさん2017/02/11(土) 19:44:43.18ID:j9jl8H+0
数学があまり得意でないバリバリの文系出ですが職業プログラマです
0604デフォルトの名無しさん2017/02/11(土) 19:52:41.68ID:P1k0UnFV
>>601
こうゆうのどう?
コピー元を選択してから

Sub XCopy()
Dim Source As Range
Dim Dest As Range
Set Source = Selection
On Error Resume Next
Set Dest = Application.InputBox(Type:=8, Prompt:="コピー先を選択してください。")
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0

Source.Copy
Dest.PasteSpecial Paste:=xlPasteValues
Dest.PasteSpecial Paste:=xlPasteFormats
Source.MergeCells = False
Source.ClearContents
End Sub
0605デフォルトの名無しさん2017/02/11(土) 19:59:15.77ID:3aCh2hRF
>>602
文系のおっさんだけどやってますよ
VBA始めたのも仕事ってことはあるけどExcel2000の頃からだしww
0606デフォルトの名無しさん2017/02/11(土) 20:10:03.75ID:Yn1WOs8Z
>>602
じゃ無理です
0607デフォルトの名無しさん2017/02/11(土) 20:12:18.13ID:eIU/UKQL
>>601
VBAでやる場合Range(Cells(fromRow,fromCol),Cells(toRow,toColl))みたいに書く方が好き
■ このスレッドは過去ログ倉庫に格納されています