[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:31 / Filesize : 282 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part75



1 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:24:32.62 ID:I0u44nFvd.net]
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けるナリ

ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ

※前スレ
Excel VBA 質問スレ Part74
https://mevius.5ch.net/test/read.cgi/tech/1639932059/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

51 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 13:53:01.79 ID:XTh2f6qa0.net]
>>46
すげぇな!ここまでのは見たことないぞ
行数が同じなら、
C6:C11を文字列で結合すれば良いかと思ったけど
行数も違うのか

セル内改行したり、セルをわけたりで行数がバラバラなのね

やるなら、
C6 11111-11
c7 11111-12
C8 11111-21
C9 11111-22
・・・
みたいにすれば、まぁなんとか行けるかなと思う
今のままじゃ無理だ

52 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 13:58:47.62 ID:XTh2f6qa0.net]
と思ったら罫線を基準にすればいいのか

53 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:07:53.31 ID:deGbjwUIa.net]
CSVで吐き出して
それを加工したほうが早くね?

54 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:16:38.09 ID:XTh2f6qa0.net]
csvにしたら大惨事だろう

55 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:28:40.98 ID:wZ5OVHUFd.net]
いくつも返信ありがとうございます。
サンプルは後程公開しようと思います。

セル結合解除したらこうなります。
罫線範囲の左上に値があればまだマシなのですが、途中だったり分割されてたりがネックです。また、空白のセルも多々存在します。

VBA初心者の為、合理的な処理かは分かりませんが、今はこの矢印の順でセルを移動しながら、罫線の判定と値の取得する流れで考えています。
https://i.imgur.com/raK9Xyw.png

56 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:44:13.39 ID:AWvjJcV30.net]
https://atmarkit.itmedia.co.jp/ait/articles/2002/27/news011.html
 ↑ ここでは一旦Word経由で取り込めと勧めているが、果たして

にしても、 > ※元々がPDFでしか入力できないデータ  とは?
PDFの原稿があって、その枠の中にテキスト貼り付ける方式なのか?

57 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:53:57.21 ID:33Tyeh9C0.net]
>>50
この画像の範囲にはセル内改行はないぞ
よく見ると背景と同じ色の白い罫線が隠れてる

58 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:55:08.92 ID:33Tyeh9C0.net]
>>55
最新のPDFには入力フォームを重ねる機能があるんよ

59 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 14:59:16.98 ID:33Tyeh9C0.net]
>>54
基本それでいいと思うよ
いちいち判定せずとも空白セルも含めてどんどん文字列を足してくだけで目的のデータが自動的に残る



60 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 15:02:51.71 ID:XTh2f6qa0.net]
>>56
J21セル

61 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 15:14:55.89 ID:O4GcyUrK0.net]
>>51
罫線を検知するVBAは、このあたり使うのかしら?

例えば「実線の下線縛り」だと

If Range("A5").Borders(xlEdgeBottom).LineStyle = xlContinuous Then
 MsgBox "下線あり"
 Else
MsgBox "下線なし"
 End If

セルの上下左右も調べることになる?

chaichan.lolipop.jp/vbtips/VBMemo2009-01-072.htm

62 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 15:21:11.73 ID:33Tyeh9C0.net]
>>59
見落としてたごめん

63 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 15:47:34.87 ID:nf+c+LFy0.net]
PDFからExel変換がまともに出来てないから元のPDFからテキストデータ抜き出して処理した方が早い気がするなぁ

64 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 15:52:40.41 ID:XTh2f6qa0.net]
>>60
下だけでいい
ってかはよサンプルくれ。サンプルなしでコード書くのあんまり好きやないんや
とりあえず下線の判定部分だけ置いとくぞ

Function 下線あり(target)
If target.Borders(xlEdgeBottom).LineStyle <> xlLineStyleNone Then
下線あり = True
Else
下線あり = False
End If
End Function

65 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 16:25:13.19 ID:O4GcyUrK0.net]
>>63
>>>>60
>>下だけでいい

2個分入っている「例 参考3・4」と
1個分だけの「例 参考5」を
どう見分けるか、嫌らしいなぁ・・・
と思って。

66 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 16:50:56.63 ID:wZ5OVHUFd.net]
>>55
word経由だったり、何種類かの変換ソフトを試したけど出来はほぼ変わりませんでした。

PDFの経緯ですが、他社のWEB上でのサービスにて個人情報等を登録管理しており、選択して出力する際にはPDF形式でしか出力できず、今回の悩みになっています。

67 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 16:52:00.24 ID:wZ5OVHUFd.net]
サンプルです。
よろしくお願いします。
https://docs.google.com/spreadsheets/d/1KXHOGpa6GFBfFflosWycM_IsNS5P9gnk9m2eGG0uXLs/edit?usp=drivesdk

共有の仕方合ってるか不安ですが。。

68 名前:デフォルトの名無しさん [2022/02/14(月) 17:08:51.74 ID:xN/gSLrN0.net]
>>65
そのサービスを提供している会社に相談しろよ
馬鹿なの?

69 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 17:56:38.45 ID:qxU338Vtd.net]
画像見た感じだとそうめんどくさい話ではないかね
住所欄と連絡先欄の住所と電話番号をどういうルールで分解するかがわかれば変換は余裕かと
ただこの手の内容までこのスレで答えるのはいいように使われている感があっていやだなぁw



70 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 18:16:24.84 ID:XTh2f6qa0.net]
住所の下に下線ない事に気づき、無事死亡

71 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 18:16:43.53 ID:O4GcyUrK0.net]
>>66
DL出来たよ。
Power Queryでどこまで出来るか
やってみる。

72 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 18:19:08.21 ID:XTh2f6qa0.net]
更にこれ氏名でセルわかれてるんかーい

73 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 18:55:37.73 ID:wZ5OVHUFd.net]
>>55
混乱させてすみません、PDFでしか「入手」できないデータの誤りでした。
サービス元からは、それ以外の形式での出力はできないとの回答の為、このExcelファイルをなんとか処理して使わざるを得ない状態です。

74 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 18:58:42.50 ID:/RDvxF8W0.net]
指定した日付から、その日付が1年間の第何週かを求めそれを引数にして、その週の月曜日と金曜日の日付を返す式を教えてください。

i = WeekNum(指定日)
date1 = 開始日(月曜日)
date2 = 終了日(金曜日)

75 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:33:13.83 ID:qxU338Vtd.net]
>>73
・週の初めは何曜日基準?日曜日?月曜日?別の曜日?
・それを引数のそれって何?開始日(月曜日)の関数にiは使ってないのでは?指定日ではだめなの?
・仮に日曜日基準とした場合、2022年1月1日(土)の月曜日は2021年12月26日?それとも別の日?

76 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:34:32.34 ID:qxU338Vtd.net]
>>73
そもそもVBAの回答が知りたいの?それとも関数使ってなの?関数ならスレチですよ

77 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:35:02.10 ID:XTh2f6qa0.net]
>>46
2時間半、思ったより早くできたけど、まぁキツイな
変数名も終わってる

https://jsfiddle.net/5vuatdrq/1/

78 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:36:56.50 ID:XTh2f6qa0.net]
別に関数でもいいんじゃないの?
俺もコードの中にworksheetfunction使ってるし、気にしたらキリないわ

79 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:41:40.69 ID:XTh2f6qa0.net]
>>76に追記

「シート1」というシートに元データ
「転記先」というシートを作っておいて下さい



80 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:45:27.38 ID:O4GcyUrK0.net]
>>66
ひとまず
元ファイルのセル結合を解除しないまま、
別ファイルからPower Queryでsheetをそのまま読込んで、
不要な行/列、空白、改行コードを削除したり
列を合体したりして、ある程度整理してみた。

https://i.imgur.com/8wCdbbJ.png
https://i.imgur.com/LvCak5M.png

やっぱ、どの行までが1個体のデータなのか判別がつかないので、
ここから先は難しい。
それが特定できればsheet上のテーブルの右側に列足して
M言語でなく、使い慣れたExcelのIF関数や文字列関数使って
拾っていくことも出来そうなんだけど・・・

先にVBAで罫線判別して各行にフラグでも立てることが必要っぽい。

>>63 氏に期待

81 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:46:56.80 ID:O4GcyUrK0.net]
あ、
>>63 氏、出来たのね。

82 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:47:44.47 ID:TbpPq1WHM.net]
pdfからの変換で毎回セル位置が変わるのか?
変わらないなら一回参照シート作るだけじゃね?

83 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:53:08.06 ID:XTh2f6qa0.net]
>>73
関数の方が早い
https://i.imgur.com/gJTY8OT.png

vbaに落とし込むなら、worksheetfunctionを使ってくれ

84 名前:デフォルトの名無しさん mailto:sage [2022/02/14(月) 19:54:22.25 ID:/oecZUEba.net]
>>73
DatePart("ww", Date, vbMonday, vbFirstFullWeek)

あとはその日が何曜日が調べて
プラスマイナスすれば月金も出るよ

85 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 02:26:45.53 ID:yR4VR0Kt0.net]
Excel板の住人が発狂して荒らしてくるから関数はダメかも

86 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 03:38:15.06 ID:6BbZ47hN0.net]
Fomuraでvbaでセルに
関数放り込んでやれば

87 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 08:44:43.33 ID:H1nNFxJWd.net]
>>79
powerqueryである程度処理は可能なんですね。ありがとうございます。
実際は1000件以上のデータで項目も更に多く、行も列もバラバラなので手作業はやはり限界がありそうです。

88 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 08:49:44.20 ID:H1nNFxJWd.net]
>>76
本当にありがとうございます。
サンプルの方では問題なく処理されるのを確認できました。
自身が書いたらもっと長々しくぐちゃぐちゃになっていたと思うので、すっきりまとまっていて素晴らしいと思います。

For Each 個人列 In Array(3, 4, 9, 10, 11, 15)
ここは列は固定の指定になっていたのですが、ファイルによっては列もバラバラなので、最初に文字列検索で列を調べてから処理に入るように変えていきたいと思います。

皆さん本当にありがとうございました。

89 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 13:36:45.93 ID:mFkQACiCd.net]
レセコンのデータだろ



90 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 16:04:21.44 ID:aiSHqaBU0.net]
A〜K列にデータを入力しているシートで、C列にデータがある場合のみその行をコピーする、という動作をさせるには
どう記述すればいいでしょうか?

91 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 17:39:01.90 ID:6Pf72uqdM.net]
if文でC列に入力があるかを判定すれば良い
コピーする行はC列に入力がある全ての行か?それとも一番最初のものだけか?またはカーソルがある位置だけを対象にするのか?
もう少し細かく仕様を書いてくれた方が導きやすいぞ

92 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 17:39:49.61 ID:zxh7HcNj0.net]
>>89
If Range("C1").Text <> "" Then Range("A1:K1").Copy

93 名前:デフォルトの名無しさん mailto:sage [2022/02/15(火) 18:55:31.55 ID:MJaSxl0D0.net]
>>89
オートフィルタで空白以外にして、コピーペースト

Sub Macro1()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
'オートフィルタの後にコピー
Range(Cells(1, 1), Cells(最終行, 11)).AutoFilter
ActiveSheet.Range("$A$1:$K$6").AutoFilter Field:=3, Criteria1:="<>"
Columns("A:K").Select
Selection.Copy

'mに貼り付けてフィルタ解除
Range("M1").PasteSpecial
Application.CutCopyMode = False
Selection.AutoFilter
End Sub

94 名前:デフォルトの名無しさん mailto:sage [2022/02/16(水) 09:01:55.23 ID:r3Bj6a+b0.net]
>>90
確かにそうですね 別ファイルにC列にデータがある行のみをエクスポートするようなものを作ろうとしていたので
C列にデータがあるかの判断→あればコピー→エクスポート先との差分のみを貼り付け
としようとしています
差分の貼り付けは参考になりそうなコードがあったのでそれと組み合わせて考えようと思っていました

>>91
ありがとうございます、シンプルで応用が利きそうで助かります

>>92
その発想はありませんでした、ありがとうございます

95 名前:デフォルトの名無しさん mailto:sage [2022/02/16(水) 21:42:26.46 ID:jzL/oN3O0.net]
選択した範囲のセルから、「セルの色」と「文字」で絞った数を調べたいのですが、どのように書けば宜しいでしょうか?
(色に関しては、指定したセルの色を参照したいです。)

例:A1〜D10の中で、E1と同じ色で、「テスト」と書かれているセルの数
みたいなことです。

出来ればグーグルのスプレッドシートでも使いたいです…

96 名前:デフォルトの名無しさん mailto:sage [2022/02/16(水) 22:02:32.25 ID:tqdkY3B80.net]
>>94
GASは全然書けないんだよなぁ

Sub foo()
Set 検索範囲 = Range("a1:d10")
Set 検索 = Range("e1")
カウント = 0
For Each test In 検索範囲
If test.Interior.Color = 検索.Interior.Color And _
test.Value = 検索.Value Then
カウント = カウント + 1
End If
Next
MsgBox カウント
End Sub

97 名前:デフォルトの名無しさん mailto:sage [2022/02/16(水) 22:17:26.65 ID:VM6eHjoj0.net]
>>94
べたに指定範囲のセルをループ回して比較すればいいんじゃね
Sub test()
MsgBox CountX(Range("A1:D10"), Range("E1"), "テスト")
End Sub

Function CountX(target As Range, colorCell As Range, str As String)
Dim count As Integer
Dim c As Range
For Each c In target
Debug.Print c.Interior.color
If c.Text = str And c.Interior.color = colorCell.Interior.color Then
count = count + 1
End If
Next
CountX = count
End Function
こんな感じか

98 名前:デフォルトの名無しさん mailto:sage [2022/02/16(水) 22:19:34.63 ID:VM6eHjoj0.net]
ああ、ほぼ被った上にDebug消し忘れてる

99 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 15:22:29.06 ID:BBg74W1Zd.net]
fileSystemObjetを使うときに下のコードのようにインスタンスを格納する変数を省略できるのはなぜですか?
ひょっとしてwithでくくるときに一時的に作られる変数にでもいれているのでしょうか?

with New fileSystemObject
ステートメント
End With



100 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 15:49:10.52 ID:Lj9EVaDX0.net]
>>98
> ひょっとしてwithでくくるときに一時的に作られる変数にでもいれているのでしょうか?
まあそう言うこと
RegExp とかでも使える

101 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 16:14:35.03 ID:8LWMZH0T0.net]
>>98
どんなオブジェクトもwithの一時変数に入れられるよ
ほかによく使われるのはブラウザコントロールとか

102 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 16:21:30.38 ID:lbVsnXnA0.net]
このwithが参照してるオブジェクトって確認する方法ありますか

103 名前:

Sub foo()
With Cells(1, 1)
Debug.Print .Value
End With
End Sub

とりあえずウォッチ式に「.value」入れてみてもエラーで見れなかった
with と入れてもエラー
どこに格納されているんだろう
[]
[ここ壊れてます]

104 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 17:02:27.81 ID:8LWMZH0T0.net]
>>101
VBだとGetTypeで取得できるんだけど、VBAにはないね

105 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 19:16:24.68 ID:uTvXTdo20.net]
>>101
内部的に一時変数に保存されているが、ユーザからは直接参照できない
ウォッチ式はどうもWithのスコープ外の扱いっぽいな

>>102
暗黙的に参照されているものが自分自身を返すようなメンバを持ってないかぎり
Withで暗黙的に参照してる変数そのものを確認する方法はなかったはず
おそらくVBにもなかったはずだけど

個人的には参照できないWithはつかわないのが作法じゃないかと
俺はWith New否定派だ

106 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 20:01:56.20 ID:lbVsnXnA0.net]
>>102>>103
ありがとう
with、どうにもモヤッとした感じが取れないな

Meかparentでメモリ追っかけられそうな気もしたけど、うーん難しそう

107 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 20:37:40.67 ID:oZh0IyxXd.net]
配列に値を保存しておいて、別シートの特定セル範囲に値を入れたいんだけど、
Worksheets("シート名").Range("A1:A10").Value =配列
だとエラーが出ます。

仕方なく、シート移動してから
Range("A1:A10").Value =配列
で値を入れてから元シートに戻る処理をしてるんですが、他にいい方法ありませんか?

108 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 20:39:35.05 ID:rEGDS72/0.net]
何てエラーが出る?

109 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 20:43:06.54 ID:od7uaDdG0.net]
なんのエラーか分からんから手っ取り早いのは
先にWorksheets("シート名").activateしておけば



110 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 20:52:49.10 ID:oZh0IyxXd.net]
曖昧な情報ですみませんでした。

WorkSheets(”シート名”).Range(cell(変数,1),cell(変数,20)).Value =配列
だと

実行時エラー'1004':
アプリケーション定義またはオブジェクト定義のエラーです。

となります。

Worksheets("シート名").activate
Range以下同じ

だと正常に動作します。
数百のデータ取得転記なので、可能であればシート移動は減らしたいと考えています。

111 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 20:56:15.04 ID:4vzfA+8GM.net]
Rangeの後のCellsにもシート指定が必要

112 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 21:03:41.49 ID:lNAQUSmM0.net]
それ案外忘れやすいよな

113 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 21:06:37.67 ID:Lj9EVaDX0.net]
>>108
>>109 の言う通りで
With WorkSheets(”シート名”)
.Range(.Cells(変数, 1), .Cells(変数, 20)).Value =配列
End With
が定番

114 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 21:19:48.40 ID:lbVsnXnA0.net]
>>111
setの方が好きだわ

set ws = WorkSheets(”シート名”)
ws.Range(ws.Cells(変数, 1), ws.Cells(変数, 20)).Value =配列

115 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 21:56:36.84 ID:bEhlAQ9Hd.net]
>>109-112
正しくそれが原因でした。
ありがとうございました。

先日>>46で質問させて頂いた者ですが、教えていただいたものをベースにかなり形になってきました。
数値を1個ずつ転記するのと、配列に入れて転記するのって処理時間にかなり差があるんですね。

116 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 22:14:24.38 ID:Lj9EVaDX0.net]
>>113
シートへの読み書きはかなり遅いからデータが大量にある時は配列に一気に読出して配列上で処理して一気にシートに書出すのは定番の高速化手法

117 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 22:24:21.56 ID:bEhlAQ9Hd.net]
1人30項目×数百人だったので、まずは1人分を配列に入れて転記するようにしただけで数倍早くなりました。
このようなケースだと、さらに30×人数全てまとめて配列に入れて転記するものなんでしょうか?

118 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 22:29:04.03 ID:Lj9EVaDX0.net]
ケースバイケースだけど30列×数百行程度なら全体を一気に読み書きしてもいいと思う

119 名前:デフォルトの名無しさん mailto:sage [2022/02/17(木) 23:14:43.35 ID:lbVsnXnA0.net]
>>115
数倍といっても、1秒が0.1秒になっても、実質何も変わってないのと同じ
そのためになれない配列を使ってコードを書く時間が5分長くなるようなら、そんな最適化はせんでいいってことになる
30分が3分になるなら、やったほうが良いだろう

要は総合的に見て、全体的な時間が減るなら最適化したほうが良い
死ぬほど暇なら、暇なときにどんどんやっておけば、忙しくなったときに余裕が出る



120 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 00:01:31.11 ID:kIxJDUOP0.net]
1秒と0.1秒の体感時間の差は意外とでかいぞ
短くできるならしたほうがいいわ

121 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 03:42:39.82 ID:E/I/ujWM0.net]
>>115
プログラムを大幅に書き換えなくても、再描画と再計算とイベントを止めるだけで速くなることもあるんでいっぺん試してみ

122 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 06:33:19.64 ID:uvosISh90.net]
>>104
Withはそういうもんだと割り切るしかない。
VB系以外で見たことないからVB系特有なもんだと思う。


123 名前:、旧VB6のスレでWith NewってやるとC#のUsingみたいにEnd Withで勝手にObjectの開放してくれるので、
そういう使い方をするコードが書かれたとき賛否両論だったのを覚えてる。

Withも、もしVB系の言語が将来生き続けることになっていたら負の遺産みたいに言われていたかも知れないけど、
Visual Studio CoreでマイクロソフトもVB.Netはもう発展させないことを明言しているから
そっちの開発している人は適当なところで別言語やるようになるだろうね。
[]
[ここ壊れてます]

124 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 08:19:03.35 ID:v2iRKHri0.net]
>>120
>そういう使い方をするコードが書かれたとき賛否両論
そうなるだろうね
割り切って使う人には便利かもしれないけど、捉えきれない部分があるのはかなり気持ち悪い

ありがとう、スッキリした

125 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 09:18:41.84 ID:k4bZDTy80.net]
>>120
> VB系以外で見たことないからVB系特有なもんだと思う。
Pascal からの輸入だろ

126 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 15:45:36.50 ID:Sc8nOBZDd.net]
>>99>>100
すっきりしました。ありがとうございました

127 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 16:04:07.81 ID:+5TWcNgJM.net]
C++系でクラスメンバーに _ 付けたりするよりは . 強制のVB のがわかりやすい

128 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 16:12:26.42 ID:mnS8isni0.net]
VBとVBAを混同してしまう

129 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 17:12:34.16 ID:9dJRbxWs0.net]
VB更新止めるならビジュべー7作ったらVBAからの乗り換えで大人気になるかも
本職の人は発狂しそうだけど



130 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 17:40:13.70 ID:v2iRKHri0.net]
ならんよ

131 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 18:34:46.08 ID:9dJRbxWs0.net]
>>127
4文字で撃破 笑

132 名前:デフォルトの名無しさん mailto:sage [2022/02/18(金) 21:31:15.96 ID:/GJYcSex0.net]
イベントでメッセージボックス起動するだけじゃ
進む戻るの履歴は消えないんだな
良かった良かった

133 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 00:17:14.09 ID:mx39evoXM.net]
RelaxTools AddinからTortoiseSVNに繋げる方法が
バージョン管理の手法としての最善策ですか?

134 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 01:15:29.08 ID:1GYJVttN0.net]
そういやvbaでバージョン管理っていい方法あるのかな
ドロップボックスに丸投げしてるからよく知らないや

135 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 02:51:28.34 ID:evvGZLor0.net]
昔はOFFICE DEVELOPERとかいうのがあって、たしかVSSだったと思うがバージョン管理できた
ACCESSとか2007ぐらいまではTFSにつなぐアドインもあった

この辺の仕組みって、基本的にはソース管理プロパイダで差し替えできるようになってたはずなんだがなぁ
あんまり情報もないんだよな

136 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 05:57:33.40 ID:GK0tMJPG0.net]
Microsoft製バージョン管理システム
VSS(ソース管理はVSS)

TFS(ソース管理はTFSまたはVSS)

AzureDevOps(ソース管理はGitまたはTFS)

137 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 07:12:39.37 ID:sDFYuIo+M.net]
TFS(TeamFoundationServer)は製品名
ソース管理はTFVC(TeamFoundationVersionControl)

138 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 07:37:52.31 ID:GK0tMJPG0.net]
>>134
間違った理解で適当なこと書き込んですまなかった
確かにTFVCと呼ぶ方が正しいな
https://i.imgur.com/m6FXGvC.png

https://docs.microsoft.com/ja-jp/azure/devops/repos/tfvc/comparison-git-tfvc?view=azure-devops-2020

139 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 09:03:14.67 ID:5qKPM2PV0.net]
SVNで間に合ってる



140 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 09:23:14.09 ID:VKF1jqEnM.net]
時々のマクロファイル保存で間に合ってる

141 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 10:11:08.00 ID:1GYJVttN0.net]
vbaでそんな巨大プロジェクト作らないから、ドロップボックスでいいかな・・・

142 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 10:47:12.21 ID:1AFURcFW0.net]
マイクロソフト製品なんだから
One Driveでいいだろ

143 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 11:07:16.61 ID:gdvHyp150.net]
ちゃんとやるのは最初だけ

144 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 11:11:58.36 ID:1GYJVttN0.net]
One Driveはバグが多すぎるから絶対に無理w

145 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 11:33:30.74 ID:7kiLsofr0.net]
バージョン管理なんてエクセルファイル名にver1.0とか含めておけばいいんじゃないの?

146 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 11:37:15.90 ID:1GYJVttN0.net]
売上報告_最新_最終版コピー(2)_old決定版.xlsm

147 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 11:54:53.81 ID:x/upE6G90.net]
>>141
どんなバグがあるの?

148 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 12:05:18.04 ID:1GYJVttN0.net]
>>144
復元できないという致命傷
onedrive バグ などで検索すると出てくるよ
先週ぐらいもあった

149 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 14:20:31.32 ID:4xnJtOkW0.net]
回答を待たずに見切り発車でTortoiseSVNを導入しようとして
サーバーエラーの解決ができずに数時間のたうち回っている

バージョン管理なんておいらには高等技術過ぎたかもしれねぇ…



150 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 14:35:17.05 ID:x/upE6G90.net]
>>145
同期関連か、まあそれを信用するのは時期尚早やな

151 名前:デフォルトの名無しさん mailto:sage [2022/02/19(土) 15:26:08.63 ID:1GYJVttN0.net]
>>146
TortoiseSVNは割とガチ環境。導入のハードル高いからマジでやめたほうがいいぞ
ドロップボックスか、googleドライブに同期させておくぐらいがちょうど良い

バージョン管理って大層なものを導入しなくても、
コードの中に「xxまで実装した。残りyy」みたいに書いておけば
それなりに使いやすいバックアップになる

どうせVBAなんてブランチ切るとかそんなことしないから一本道でヘーキヘーキ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<282KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef