Excel VBA 質問スレ Part33
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/17(木) 22:04:40.64___
___ /____ヽ ____
/____\ | |´・ω・`| | /___ヽ
.l |´・ω・`| ニX二 . ̄ ̄ ̄ 二X二 |´・ω・`| l 俺たちに任せろ
!、 ̄ ̄ ̄ ヽ | | /  ̄ ̄ ̄/
ヽ_/ヽ、 ヽ__) \__/\_/. /_/ ノヽ_/
 ̄  ̄ ̄
前スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/
このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。
コードが嫌な人はこちらのスレへ
http://toro.2ch.net/test/read.cgi/tech/1381151995/l50
0115桃白白 ◆9Jro6YFwm650
2013/12/07(土) 10:02:34.86なにもしないってことじゃない。ヌルオブジェクトみたいな。
0116デフォルトの名無しさん
2013/12/07(土) 13:00:27.72想像しろよ、気になるだろ、なんなら聞いてくれよ
ずらっと並ぶ程沢山あるならなおさら
0117デフォルトの名無しさん
2013/12/07(土) 14:03:31.00コード見てないから分からんけど、
それ、多分ちょっと前にレスがあった
インターフェースだと思うよ。
0118デフォルトの名無しさん
2013/12/07(土) 21:05:07.86アイアイエフ?
アイイフ?
2エフ?
0119デフォルトの名無しさん
2013/12/07(土) 22:14:16.32俺はアイイフと読んでいるけど、多分これには正しい答えはなく、
どれだけ多く世間に浸透しているかが正しいかどうかを決めていると思う。
そんな時はここを参考にするといいかも知れない。
http://shinh.skr.jp/yomikata/
0120デフォルトの名無しさん
2013/12/07(土) 22:26:52.300121デフォルトの名無しさん
2013/12/07(土) 23:34:34.88いやおかしいだろそのリンク先w
0122デフォルトの名無しさん
2013/12/08(日) 00:33:08.88>>117
インターフェースだね。
って言うか前スレで、テーブルの集計を出して欲しいって言われた時
実はそれ使ってコード書いたし。長くなるけど、その時のコードで
説明しようか。
0123デフォルトの名無しさん
2013/12/08(日) 00:37:17.54モジュール:Main
Option Explicit
Private mSheetParameterEntity As ISheetParameterEntity
'メイン処理
Public Sub Main(ByVal targetSheet As Worksheet)
Dim factory As New sheetParameterFactory
On Error GoTo Error_Handler
Application.ScreenUpdating = False
Set mSheetParameterEntity = factory.makeSheetParameter(targetSheet)
Call Initialize
Call TableControl.CopyTable
Call SheetControl.Sort
Call TableControl.ReleaseTable
Call SheetControl.MakeSummary
Call SheetControl.SelectCellTopLeft
GoTo Finaly
0124デフォルトの名無しさん
2013/12/08(日) 00:38:33.25Call MsgBox(Error)
Finaly:
Application.ScreenUpdating = True
End Sub
'初期化処理
Private Sub Initialize()
Call TableControl.SetSheetParameterEntity(mSheetParameterEntity)
Call SheetControl.SetSheetParameterEntity(mSheetParameterEntity)
Call TableControl.ClearOutLine
Call SheetControl.InitializeSheet
End Sub
0125デフォルトの名無しさん
2013/12/08(日) 00:42:50.80Option Explicit
Private Const COPY_CRITERIA_POSITION As String = "B2"
Private mSheetParameterEntity As ISheetParameterEntity
'テーブルパラメタエンティティ格納
Public Sub SetSheetParameterEntity(ByVal value As ISheetParameterEntity)
Set mSheetParameterEntity = value
End Sub
'シート初期化
Public Sub InitializeSheet()
mSheetParameterEntity.GetTargetSheet.Cells.Clear
End Sub
'ソート処理
Public Sub Sort()
Dim sortRange As range
'ソートキーのクリア
mSheetParameterEntity.GetTargetSheet.Sort.SortFields.Clear
'ソートキー追加
For Each sortRange In mSheetParameterEntity.GetTargetSortItem
mSheetParameterEntity.GetTargetSheet.Sort.SortFields.Add Key:=sortRange, _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Next
0126デフォルトの名無しさん
2013/12/08(日) 00:44:08.11With mSheetParameterEntity.GetTargetSheet.Sort
.SetRange mSheetParameterEntity.GetTargetRange
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
'集計行の表示
Public Sub MakeSummary()
mSheetParameterEntity.GetTargetRange.Subtotal _
GroupBy:=mSheetParameterEntity.GetGroupColumn, _
Function:=xlSum, _
TotalList:=Array(mSheetParameterEntity.GetTargetSummaryItem), _
Replace:=True, _
PageBreaks:=False, _
SummaryBelowData:=True
End Sub
0127デフォルトの名無しさん
2013/12/08(日) 00:45:26.07Public Function GetSortRange(ByVal targertSheet As Worksheet, _
ByVal originalRange As range, _
ByVal columnOffset As Long) As range
Set GetSortRange = targertSheet.range(Cells(originalRange.Row, _
originalRange.Column + columnOffset), _
Cells(originalRange.Row + originalRange.Rows.Count - 1, _
originalRange.Column + columnOffset))
End Function
'対象シートの左上セル選択
Public Sub SelectCellTopLeft()
mSheetParameterEntity.GetTargetSheet.Cells(1, 1).Select
End Sub
0128デフォルトの名無しさん
2013/12/08(日) 00:47:52.99Option Explicit
Private Const COPY_CRITERIA_POSITION As String = "B2"
Private mSheetParameterEntity As ISheetParameterEntity
'テーブルパラメタエンティティ格納
Public Sub SetSheetParameterEntity(ByVal value As ISheetParameterEntity)
Set mSheetParameterEntity = value
End Sub
'テーブルコピー処理
Public Sub CopyTable()
Sheet1.range(COPY_CRITERIA_POSITION).CurrentRegion.Copy
mSheetParameterEntity.GetTargetSheet.range(COPY_CRITERIA_POSITION).PasteSpecial
Application.CutCopyMode = False
'テーブル範囲格納
Call mSheetParameterEntity.SetTargetRange( _
mSheetParameterEntity.GetTargetSheet.range(COPY_CRITERIA_POSITION).CurrentRegion)
End Sub
'アウトラインの解除
Public Sub ClearOutLine()
mSheetParameterEntity.GetTargetSheet.Cells.ClearOutLine
End Sub
0129デフォルトの名無しさん
2013/12/08(日) 00:49:12.40Public Sub ReleaseTable()
Dim list As ListObject
With mSheetParameterEntity
For Each list In .GetTargetSheet.ListObjects
If list.range.Row = .GetTargetRange.Row And _
list.range.Column = .GetTargetRange.Row And _
list.range.Rows.Count = .GetTargetRange.Rows.Count And _
list.range.Columns.Count = .GetTargetRange.Columns.Count Then
list.Unlist
Exit For
End If
Next
End With
End Sub
0130デフォルトの名無しさん
2013/12/08(日) 00:58:17.49モジュール:ISheetParameterEntity
'対象シート取得
Public Function GetTargetSheet() As Worksheet
End Function
'対象範囲取得
Public Function GetTargetRange() As range
End Function
'対象範囲格納
Public Sub SetTargetRange(ByVal value As range)
End Sub
'対象ソート項目取得
Public Function GetTargetSortItem() As Collection
End Function
'グループ化列取得
Public Function GetGroupColumn() As Integer
End Function
'対象合計項目取得
Public Function GetTargetSummaryItem() As Integer
End Function
0131デフォルトの名無しさん
2013/12/08(日) 01:00:28.87Option Explicit
Implements ISheetParameterEntity
Dim mTargetRange As range
Const SORT_ITEM1 As Long = 0
Const SORT_ITEM2 As Long = 1
Const GROUP_COLUMN As Integer = 2
Const SUMMARY_ITEM As Integer = 3
'対象シート取得
Public Function ISheetParameterEntity_GetTargetSheet() As Worksheet
Set ISheetParameterEntity_GetTargetSheet = Sheet2
End Function
'対象範囲取得
Public Function ISheetParameterEntity_GetTargetRange() As range
Set ISheetParameterEntity_GetTargetRange = mTargetRange
End Function
'対象範囲格納
Public Sub ISheetParameterEntity_SetTargetRange(ByVal value As range)
Set mTargetRange = value
End Sub
0132デフォルトの名無しさん
2013/12/08(日) 01:01:16.16Public Function ISheetParameterEntity_GetTargetSortItem() As Collection
Dim sortItemCollecton As New Collection
Dim sortRange As range
Set sortRange = SheetControl.GetSortRange(Sheet2, mTargetRange, SORT_ITEM1)
Call sortItemCollecton.Add(sortRange)
Set sortRange = SheetControl.GetSortRange(Sheet2, mTargetRange, SORT_ITEM2)
Call sortItemCollecton.Add(sortRange)
Set ISheetParameterEntity_GetTargetSortItem = sortItemCollecton
End Function
'グループ化列取得
Public Function ISheetParameterEntity_GetGroupColumn() As Integer
ISheetParameterEntity_GetGroupColumn = GROUP_COLUMN
End Function
'対象合計項目取得
Public Function ISheetParameterEntity_GetTargetSummaryItem() As Integer
ISheetParameterEntity_GetTargetSummaryItem = SUMMARY_ITEM
End Function
0133デフォルトの名無しさん
2013/12/08(日) 01:03:07.08Option Explicit
Implements ISheetParameterEntity
Dim mTargetRange As range
Const SORT_ITEM1 As Long = 3
Const SORT_ITEM2 As Long = 0
Const GROUP_COLUMN As Integer = 4
Const SUMMARY_ITEM As Integer = 3
'対象シート取得
Public Function ISheetParameterEntity_GetTargetSheet() As Worksheet
Set ISheetParameterEntity_GetTargetSheet = Sheet3
End Function
'対象範囲取得
Public Function ISheetParameterEntity_GetTargetRange() As range
Set ISheetParameterEntity_GetTargetRange = mTargetRange
End Function
'対象範囲格納
Public Sub ISheetParameterEntity_SetTargetRange(ByVal value As range)
Set mTargetRange = value
End Sub
0134デフォルトの名無しさん
2013/12/08(日) 01:03:56.94Public Function ISheetParameterEntity_GetTargetSortItem() As Collection
Dim sortItemCollecton As New Collection
Dim sortRange As range
Set sortRange = SheetControl.GetSortRange(Sheet3, mTargetRange, SORT_ITEM1)
Call sortItemCollecton.Add(sortRange)
Set sortRange = SheetControl.GetSortRange(Sheet3, mTargetRange, SORT_ITEM2)
Call sortItemCollecton.Add(sortRange)
Set ISheetParameterEntity_GetTargetSortItem = sortItemCollecton
End Function
'グループ化列取得
Public Function ISheetParameterEntity_GetGroupColumn() As Integer
ISheetParameterEntity_GetGroupColumn = GROUP_COLUMN
End Function
'対象合計項目
Public Function ISheetParameterEntity_GetTargetSummaryItem() As Integer
ISheetParameterEntity_GetTargetSummaryItem = SUMMARY_ITEM
End Function
0135デフォルトの名無しさん
2013/12/08(日) 01:06:09.64'対象範囲格納
Public Sub ISheetParameterEntity_SetTargetRange(ByVal value As range)
Set mTargetRange = value
End Sub
'対象ソート項目取得
Public Function ISheetParameterEntity_GetTargetSortItem() As Collection
Dim sortItemCollecton As New Collection
Dim sortRange As range
Set sortRange = SheetControl.GetSortRange(Sheet3, mTargetRange, SORT_ITEM1)
Call sortItemCollecton.Add(sortRange)
Set sortRange = SheetControl.GetSortRange(Sheet3, mTargetRange, SORT_ITEM2)
Call sortItemCollecton.Add(sortRange)
Set ISheetParameterEntity_GetTargetSortItem = sortItemCollecton
End Function
'グループ化列取得
Public Function ISheetParameterEntity_GetGroupColumn() As Integer
ISheetParameterEntity_GetGroupColumn = GROUP_COLUMN
End Function
'対象合計項目
Public Function ISheetParameterEntity_GetTargetSummaryItem() As Integer
ISheetParameterEntity_GetTargetSummaryItem = SUMMARY_ITEM
End Function
0136デフォルトの名無しさん
2013/12/08(日) 01:15:14.00モジュール:SheetParameterFactory
'シートパラメタエンティティ作成クラス
Public Function makeSheetParameter(ByVal targetSheet As Worksheet) As ISheetParameterEntity
Dim instance As ISheetParameterEntity
Select Case targetSheet.Name
Case Sheet2.Name
Dim sht2Para As Sheet2ParameterEntity
Set sht2Para = New Sheet2ParameterEntity
Set instance = sht2Para
Case Sheet3.Name
Dim sht3Para As Sheet3ParameterEntity
Set sht3Para = New Sheet3ParameterEntity
Set instance = sht3Para
Case Else
Set instance = Nothing
End Select
Set makeSheetParameter = instance
End Function
0137デフォルトの名無しさん
2013/12/08(日) 01:36:17.38が、>>130の部分がインターフェースで
、
>>123でそのインターフェースの型を用意して、>>136でSheet2ParameterEntityか、Sheet3ParameterEntityの
どちらかを生成して>>123で用意した型に設定しています。
後は生成される二つのクラスの中以外は差異なくコードが走るため、
クラスの違いによる分岐は有りません。
この様に違うクラスで生成したものを同じクラスの型で扱えるようにする
仕組みが、中に何も書かれていない関数の正体です。
0138デフォルトの名無しさん
2013/12/08(日) 01:39:18.23ごめんなさいもう二度としません。
0139デフォルトの名無しさん
2013/12/08(日) 07:58:29.03へー、面白いな、これ。
「Width」って「うぃどぅす」って呼ぶのが一般的なんだ。
今までずーっと「ワイズ」だと思ってた。
0140デフォルトの名無しさん
2013/12/08(日) 08:27:53.85「Vba、インターフェース、ストラテジーパターン」あたりで
ググれと言えば一発で分かることだろ。
どうしても長いコード書きたかったら前
桃臼が晒してたコード書き場があったから
そこを使え。
どこだったかは忘れたけど。
0141デフォルトの名無しさん
2013/12/08(日) 09:52:33.48京都人「うぃどす」
0142デフォルトの名無しさん
2013/12/08(日) 10:19:44.06いばらきと
いばらぎで僅差なんだね。
本当はどっち?
0143デフォルトの名無しさん
2013/12/08(日) 11:10:35.20ちばらき
0144デフォルトの名無しさん
2013/12/08(日) 11:30:50.96なぜか合ってるのか不安になる音です
0145デフォルトの名無しさん
2013/12/08(日) 12:26:13.530146デフォルトの名無しさん
2013/12/08(日) 12:42:17.43キュートなお声ですよね
0147デフォルトの名無しさん
2013/12/08(日) 15:06:03.17最初のAAAからして読み方の
西恋ケ窪とかどこだよ。
IEnumerableって何なんだよ。
0148デフォルトの名無しさん
2013/12/08(日) 15:34:26.830149デフォルトの名無しさん
2013/12/08(日) 18:05:50.91Javaもやっている私の同僚はインデント階層切替わりの単位で変数宣言をします。
関数内のどこで変数宣言しても特に動きが変わらないのは知っていますが、
同僚に言わせるとその方が分かり易いし、いずれObject指向言語に手を付けるなら、
そっちの方に慣れておいた方がいいと言います。
そう言うものなんでしょうか?
0150デフォルトの名無しさん
2013/12/08(日) 19:32:44.84>関数内のどこで変数宣言しても特に動きが変わらない
VBAではそうでも、Javaではそうではない
言語に合わせて宣言するべきで、VBAではプロシジャの先頭での宣言が薦められてたはず
まあ、どこで宣言しても良いんだが、ルールを決めてそれを守る方が大事
先頭で宣言したり使う直前に宣言したり、混在させるのが最悪
0151デフォルトの名無しさん
2013/12/08(日) 20:55:04.75vbaはやっぱり頭で合わせるもんだと思う。
無理してjavaなんぞに合わせなくても
object指向ので作る時にそうすればいいじゃない。
0152デフォルトの名無しさん
2013/12/08(日) 21:01:29.51冗談で言ってるのかと思ったら
本当でビビったw
0153デフォルトの名無しさん
2013/12/08(日) 21:07:26.86DimとPrivateの違いって何なの?
0154デフォルトの名無しさん
2013/12/08(日) 21:37:29.33モジュールレベルで宣言したときのスコープ(参照できる範囲)が違う
と思ったけど、モジュールレベルで使うとDimと同じスコープか
プロシジャレベルで使えるかどうかの違いだけで同じだな
VBではPublicかPrivate書いたらDimを省略できる出来るだけだったと記憶してるが
VBAではそうじゃないっぽいな
0155デフォルトの名無しさん
2013/12/09(月) 20:52:31.18Dimは遠い昔の、それこそVBじゃない頃、
N-Basicとかで配列をDim(dimension)で
宣言してた頃の名残りで盲腸みたいなもんだから、
出来ればPrivateで宣言した方がいいと、個人的には思う。
コメントをアポストロフィで付けないで、REMで書く様なもん。
0156デフォルトの名無しさん
2013/12/10(火) 01:13:10.320157デフォルトの名無しさん
2013/12/10(火) 01:51:33.240158デフォルトの名無しさん
2013/12/10(火) 02:05:44.25引用符(コーテーションマーク、クォーテーションマーク)は、前と後の一対で使うもの
0159デフォルトの名無しさん
2013/12/10(火) 02:09:15.25日本語ではあまり使われない
(中国語や韓国語では普通に使われるらしい)
0160デフォルトの名無しさん
2013/12/10(火) 02:38:21.76もともともコメント記号としてどっちの意図で使われたのかはわからんしなぁ
俺もこの文脈なら'はアポストロフィって言うんだが、ヘルプみると
>コメントを入力するには、先頭にクォーテーション (') を入力するか、Rem ステートメントで指定します。
とか
>コメント行は、先頭にクォーテーション (') または Rem ステートメントのいずれかと、
とか書いてあるから、あれはクォーテーションと呼ぶのが正しいのかもしれん
0161デフォルトの名無しさん
2013/12/10(火) 03:14:25.20英語的な解釈をするなら、アポストロフィはコメント行の先頭に使っていい記号ではない
本来はクォーテーションで前後を囲ったであろう物を、8bit時代のMS-BASICのリソース的な制約から
後半を省略可能にしたと見るのが妥当
0162デフォルトの名無しさん
2013/12/10(火) 04:19:23.00そのJIS企画の当該ページのリンクが貼られたらこの話は終わりにしよう。
それまでは存分に語らい合いましょう!
ってExcel VBAスレじゃないですか。
おわり。
0163デフォルトの名無しさん
2013/12/10(火) 04:33:44.43お前のキーボードはjIS規格配列なのか?
VBAはいつからJIS規格になったんだ
違う規格の定義をあてはめて議論の余地がないとか笑わせる
0164デフォルトの名無しさん
2013/12/10(火) 04:42:38.53これは確かにと言わざるを得ない。
これで結論はもう出たということか。
VBAのオフィシャルドキュメントで、
コメントには何を使うと記載されているのか?
で、この話に執着する者達が終着できそうだ。
公式文書のリンクが貼られたらこの話は終わりにしよう。
それまでは存分に語らい合いましょう!
って略
0165桃白白 ◆9Jro6YFwm650
2013/12/10(火) 05:26:36.90語らうには語り合うという意味があるから合うを付ける必要ないんじゃないかな。
語らいましょう、または、語り合いましょうでいいと思うんだよね。
0166デフォルトの名無しさん
2013/12/10(火) 05:33:56.97うっせーばーか
いいと思うんだよねってなんだよ
いいんだよって言い切れないのかよ
もっと自信もてよボケカス
早くVBAの公式文書のリンク持ってこいや
0167桃白白 ◆9Jro6YFwm650
2013/12/10(火) 05:38:24.57/ つ⊂ \ 怖いー
0168デフォルトの名無しさん
2013/12/10(火) 05:57:51.45\ U /
/ ̄ ̄ ヽ,
/ ', / _/\/\/\/|_
\ ノ//, {0} /¨`ヽ {0} ,ミヽ / \ /
\ / く l ヽ._.ノ ', ゝ \ < バーカ! >
/ /⌒ リ `ー'′ ' ⌒\ \ / \
(  ̄ ̄⌒ ⌒ ̄ _)  ̄|/\/\/\/ ̄
` ̄ ̄`ヽ /´ ̄
| |
−−− ‐ ノ |
/ ノ −−−−
/ ∠_
−− | f\ ノ  ̄`丶.
| | ヽ__ノー─-- 、_ ) − _
. | | / /
| | ,' /
/ / ノ | ,' \
/ / | / \
/_ノ / ,ノ 〈 \
( 〈 ヽ.__ \ \
ヽ._> \__)
0169デフォルトの名無しさん
2013/12/10(火) 19:53:40.33「'」に変わりはないんだろうし。
0170デフォルトの名無しさん
2013/12/13(金) 00:23:21.08それに音程付けてボーカロイドみたいにすることってできますか?
0171デフォルトの名無しさん
2013/12/13(金) 05:55:28.560172デフォルトの名無しさん
2013/12/15(日) 07:52:32.98可能
0173デフォルトの名無しさん
2013/12/15(日) 20:26:43.18マクロが使用できないか、全てのマクロが無能になっている可能性があります、と出ます
どうすれば多変量解析を実行できるでしょうか?
0174デフォルトの名無しさん
2013/12/15(日) 20:39:43.00excel2007以降なら信頼できる場所に置いてあるのかいないのかなどなど情報を一切書かず
0175デフォルトの名無しさん
2013/12/15(日) 20:45:23.66他のブックのVBAでも同じ状態?
ググって見つかった下記などは試してみたのかな
http://answers.microsoft.com/ja-jp/office/forum/office_2007-excel/%E7%AA%81%E7%84%B6%E3%83%9E%E3%82%AF%E3%83%AD/b9379ad8-40f6-4415-b490-3090a900a8a0?msgId=122645e7-040b-400b-8f7e-77bddfa6e101
0176デフォルトの名無しさん
2013/12/17(火) 22:47:10.17同じ質問になると思いますが
日付で今日より1年前のデータで、最古のデータ行を拾いたいのです
WorksheetFunction.Matchで照合の型を-1で、降順に並び替えれば
うまくいきますが、データは昇順の状態で
一年前の最古のデータ行を拾う方法ありますか?
昇順のままで照合の型を-1だと当然失敗します
(最新のデータを拾ってしまいます)
いろいろ調べたのですが、いい方法がみつかりませんでした
どなたかいい方法ありませんか?
0177デフォルトの名無しさん
2013/12/17(火) 23:20:52.18マルチ
どちらかを質問終了するべし
0178176
2013/12/19(木) 01:49:09.750179デフォルトの名無しさん
2013/12/19(木) 18:30:09.13作りたいのですが、
たとえば1つ目のtextの1行目をA-1に 2行目の記述をB-1に …
と6行を6列のに読み込み、さらにファイル名(文字列)を7列目のG-1に読み込み、
2つ目のtextの1行目をA-2に、2行目の記述をB-2に …
と読み込ませることはできませんでしょうか?
0180デフォルトの名無しさん
2013/12/19(木) 19:30:34.700181デフォルトの名無しさん
2013/12/19(木) 19:40:28.240182デフォルトの名無しさん
2013/12/19(木) 19:52:46.930183デフォルトの名無しさん
2013/12/19(木) 21:54:28.52とりあえず書いてみたけど、やっつけなのでエラー処理とかは書いてません
以下のマクロを書いたブックと同じフォルダに"text"フォルダを作って
その中に読み込ませたいテキストファイルを入れてください。
マクロを実行すると、マクロと同じフォルダに"test.xlsx"というファイルが作成されます。
既に"test.xlsx"が存在する場合、上書きするか聞いてきます。
"text"フォルダ内には不要なファイルは入れないでください。
Option Explicit
Sub test()
Dim f As Object
Dim w As Workbook
Dim t As Workbook
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set w = Workbooks.Add
With w.Sheets(1)
For Each f In fso.GetFolder(ThisWorkbook.Path & "\text").Files
Set t = Workbooks.Open(f)
t.Sheets(1).UsedRange.Copy
If .Cells(1, 1) = "" Then
.Cells(1, 1).PasteSpecial Transpose:=True
Else
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial Transpose:=True
End If
t.Close
Next f
End With
w.Close SaveChanges:=True, Filename:=ThisWorkbook.Path & "\test.xlsx"
End Sub
0184183
2013/12/19(木) 22:08:35.180185183
2013/12/19(木) 22:22:52.58t.Close
の行の前に
.Cells(.Rows.Count, 1).End(xlUp).End(xlToRight).Offset(, 1) = t.Name
ってのを一行入れてください。
0186デフォルトの名無しさん
2013/12/20(金) 09:18:25.34あなたは救世主です!
本当にたすかりました。
0187デフォルトの名無しさん
2013/12/20(金) 16:20:17.72いつ切り捨てするのかよくわかりませんでした。
計算は1度計算したのをさらにかけたり割ったりします。
ここで、
最初にかけ算→小数点切り捨て→かけ算
なのか
かけ算→かけ算→割り算など全部した後いっきに切り捨てた方が良いのか
前者でやっていたんですがこの2つだと当然答えも違ってきますよね
普通どっちが正解なんですか?
0188デフォルトの名無しさん
2013/12/20(金) 18:55:18.13http://toro.2ch.net/test/read.cgi/tech/1381151995/236
0189デフォルトの名無しさん
2013/12/20(金) 22:31:06.750190デフォルトの名無しさん
2013/12/21(土) 23:30:15.40スレ立て自体がマルチなんだからしゃーない
0191デフォルトの名無しさん
2013/12/22(日) 06:22:28.690192デフォルトの名無しさん
2013/12/30(月) 19:22:49.48来年もお力をお借りするかもしれませんが宜しくお願いいたします
机周りの掃除が終りましたので帰ります
皆様良いお年を!@22歳OL
0193デフォルトの名無しさん
2013/12/31(火) 00:00:44.710194デフォルトの名無しさん
2014/01/01(水) 11:34:15.700195デフォルトの名無しさん
2014/01/03(金) 13:54:51.990196デフォルトの名無しさん
2014/01/03(金) 22:44:38.740197デフォルトの名無しさん
2014/01/04(土) 02:37:30.74ピラフ知らない?
0198デフォルトの名無しさん
2014/01/04(土) 05:04:21.8723歳OL
0199デフォルトの名無しさん
2014/01/14(火) 15:36:02.26適当に1〜100までとか1〜20までとかの数字から無作為に実数の数字を抽出
するのはどうしたらいいのでしょうか。
0200デフォルトの名無しさん
2014/01/14(火) 16:31:22.93VBA 乱数 とかでググるといいと思うよ
0201デフォルトの名無しさん
2014/01/14(火) 18:59:00.73Rnd でどう?
0202デフォルトの名無しさん
2014/01/16(木) 02:21:35.14らんだまいずもわすれずにね
0203デフォルトの名無しさん
2014/01/17(金) 15:26:54.710204デフォルトの名無しさん
2014/01/19(日) 02:44:28.45同じファイルにある他のマクロはちゃんと起動するのですが、
同じファイルにある、とあるマクロを実行しようと
ユーザーフォームの実行(▲を右90度傾けたボタン)を押しても
うんともすんともいいません。
エラーも出ません。
何が原因だと思いますか?
0205デフォルトの名無しさん
2014/01/19(日) 03:11:26.69一瞬で計算が終わって、動いてるのに気付いてないだけの可能性
0206デフォルトの名無しさん
2014/01/19(日) 09:29:19.72具体的なコードを貼らないと、なんとも言えん。
具体的なコードを晒すのが嫌なら、自力でなんとかするか諦めよう。
というか、コード全部は晒さないにしても、ステップ実行とかして
どの関数やステートメントで想定外の動作が起きてるか調べて
もうちょっと詳しい状況書けば、憶測も少しは煮詰まるかもだけどな。
そもそもデバッグ出来ないってのはVBA使えないのと同義だからね。
不都合が起こったところでお手上げでいいなら、コード書くだけは
パソコンで文字入力できる全ての人に可能な行為だからな。
0207204
2014/01/19(日) 19:45:55.40すみません。正解です。
最初のfornextの、終了回の変数名の打ち間違いで、
どうやら0回ループになっていたようです。
>>206
すみませんでした。
0208デフォルトの名無しさん
2014/01/19(日) 22:34:06.31「プログラムは決して思った通りには動かない。書いた通りに動くだけだ。」
0209デフォルトの名無しさん
2014/01/21(火) 10:55:48.330210デフォルトの名無しさん
2014/01/23(木) 04:13:29.39この場合どのようにPDFファイルのmediaboxを参照すれば良いか教えてください。
0211デフォルトの名無しさん
2014/01/23(木) 04:17:34.570212デフォルトの名無しさん
2014/01/23(木) 19:06:40.970213デフォルトの名無しさん
2014/01/23(木) 20:00:12.850214デフォルトの名無しさん
2014/01/23(木) 21:15:12.64なんて言うと、例のキチガイがまたうるさそうだけど
■ このスレッドは過去ログ倉庫に格納されています