!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part66
https://mevius.5ch.net/test/read.cgi/tech/1589085825/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part67
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 33da-3+hg)
2020/06/26(金) 02:01:29.56ID:uDfmpksE02デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/26(金) 07:58:40.55ID:PIx3bjtD0 >>1
おちゅ
おちゅ
3デフォルトの名無しさん (ワッチョイ 8fba-x+MM)
2020/06/26(金) 19:07:55.93ID:ZjxMZdyJ0 VBAでgrep検索を使いたいんだが教えてくれ。
https://website-note.net/vba/excel-grep-macro/
上のサイトのコードをコピペして動くまではいいんだけど、もう一つ条件を加えて
'キーワードを含むセルの情報をアウトプット時にキーワードの右のセルをアウトプットさせるようにしたい。
そこでOptionButtonを2つ作ってOpB1がtrueのときに普通に動いて、falseのときに
キーワードの右をアウトプットさせるコードを書いたんだがうまくいかない。
ifもselectcaseも試したんだけどだれか教えてくれ、VBA初心者で頭かかえてる。
つくったもの↓
'キーワードを含むセルの内容
If OptionButton1.value =then
省略 .Cells(lcnt, 7).Value = rFoundCell.Value
else
省略 .Cells(lcnt, 7).Value = rFoundCell.offset(0,1).Value
https://website-note.net/vba/excel-grep-macro/
上のサイトのコードをコピペして動くまではいいんだけど、もう一つ条件を加えて
'キーワードを含むセルの情報をアウトプット時にキーワードの右のセルをアウトプットさせるようにしたい。
そこでOptionButtonを2つ作ってOpB1がtrueのときに普通に動いて、falseのときに
キーワードの右をアウトプットさせるコードを書いたんだがうまくいかない。
ifもselectcaseも試したんだけどだれか教えてくれ、VBA初心者で頭かかえてる。
つくったもの↓
'キーワードを含むセルの内容
If OptionButton1.value =then
省略 .Cells(lcnt, 7).Value = rFoundCell.Value
else
省略 .Cells(lcnt, 7).Value = rFoundCell.offset(0,1).Value
4デフォルトの名無しさん (ワッチョイ 8f01-Zl/h)
2020/06/26(金) 20:08:11.16ID:SBXE4EMs0 ・OpB1って何ですか?丁寧に書いて
・せめてoutputCellInfoのソースは全部書いて
・=thenがガチなのかタイポなのか分からんから直打ちじゃなくてコピペして
・せめてoutputCellInfoのソースは全部書いて
・=thenがガチなのかタイポなのか分からんから直打ちじゃなくてコピペして
5デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/26(金) 20:20:30.07ID:PIx3bjtD0 日本語訳:
上のサイトのコードだと
キーワードを含むセルの値が、G列に出力されます。
これを以下のように変更したいです
キーワードを含むセルを検索したあと、このセルの値だけでなく、このセルのすぐ右側のセルの値をH列に出力したいです。
できたら、オプションボタンを新設して、右側セルの値を出力するかしないかを選択できるようにしたいです
面倒だから後はお前らにまかせた
上のサイトのコードだと
キーワードを含むセルの値が、G列に出力されます。
これを以下のように変更したいです
キーワードを含むセルを検索したあと、このセルの値だけでなく、このセルのすぐ右側のセルの値をH列に出力したいです。
できたら、オプションボタンを新設して、右側セルの値を出力するかしないかを選択できるようにしたいです
面倒だから後はお前らにまかせた
6デフォルトの名無しさん (ワッチョイ 8fba-x+MM)
2020/06/26(金) 20:26:55.66ID:ZjxMZdyJ0 >>4すみません、コードはります
Private Sub outputCellInfo(ByVal sTmpPath As String, ByVal sFilePath As String, ByVal sTmpSheetName As String, _
ByVal rFoundCell As Range)
Dim OptionButton1 As Boolean
If OptionButton1 = True Then
With ThisWorkbook.Sheets(STR_GREP_SHEET_NAME)
.Cells(lcnt, 2).Value = lcnt - 7
.Cells(lcnt, 3).Value = sFilePath
.Cells(lcnt, 4).Value = sTmpPath
.Cells(lcnt, 5).Value = sTmpSheetName
.Cells(lcnt, 6).Value = convertRange(rFoundCell.Column) & rFoundCell.Row
.Cells(lcnt, 7).Value = rFoundCell.Value
End With
lcnt = lcnt + 1
Else:
With ThisWorkbook.Sheets(STR_GREP_SHEET_NAME)
.Cells(lcnt, 2).Value = lcnt - 7
.Cells(lcnt, 3).Value = sFilePath
.Cells(lcnt, 4).Value = sTmpPath
.Cells(lcnt, 5).Value = sTmpSheetName
.Cells(lcnt, 6).Value = convertRange(rFoundCell.Column) & rFoundCell.Row
.Cells(lcnt, 7).Value = rFoundCell.Offset(0, 1).Value
End With
lcnt = lcnt + 1
End If
End Sub
Private Sub outputCellInfo(ByVal sTmpPath As String, ByVal sFilePath As String, ByVal sTmpSheetName As String, _
ByVal rFoundCell As Range)
Dim OptionButton1 As Boolean
If OptionButton1 = True Then
With ThisWorkbook.Sheets(STR_GREP_SHEET_NAME)
.Cells(lcnt, 2).Value = lcnt - 7
.Cells(lcnt, 3).Value = sFilePath
.Cells(lcnt, 4).Value = sTmpPath
.Cells(lcnt, 5).Value = sTmpSheetName
.Cells(lcnt, 6).Value = convertRange(rFoundCell.Column) & rFoundCell.Row
.Cells(lcnt, 7).Value = rFoundCell.Value
End With
lcnt = lcnt + 1
Else:
With ThisWorkbook.Sheets(STR_GREP_SHEET_NAME)
.Cells(lcnt, 2).Value = lcnt - 7
.Cells(lcnt, 3).Value = sFilePath
.Cells(lcnt, 4).Value = sTmpPath
.Cells(lcnt, 5).Value = sTmpSheetName
.Cells(lcnt, 6).Value = convertRange(rFoundCell.Column) & rFoundCell.Row
.Cells(lcnt, 7).Value = rFoundCell.Offset(0, 1).Value
End With
lcnt = lcnt + 1
End If
End Sub
7デフォルトの名無しさん (アウアウウー Sad3-fXbV)
2020/06/26(金) 20:40:26.18ID:nEhmFRZ4a なんでElseに:ついてんだ?
8デフォルトの名無しさん (アウアウウー Sad3-d3ZO)
2020/06/26(金) 20:40:29.37ID:1oZqQJala 張り付けたオプションボタンと定義したのは別物じゃね
9デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/26(金) 20:50:43.26ID:PIx3bjtD0 つか、そもそもそのサイトのコードって正確に動く?
キーワードを含むセルを網羅しないんだけど
nothingになるRangeを比較対象に置いてるあたりがあれだ
キーワードを含むセルを網羅しないんだけど
nothingになるRangeを比較対象に置いてるあたりがあれだ
10デフォルトの名無しさん (ワッチョイ 8fba-x+MM)
2020/06/26(金) 21:05:20.01ID:ZjxMZdyJ011デフォルトの名無しさん (ワッチョイ 8f01-Zl/h)
2020/06/26(金) 23:24:58.46ID:SBXE4EMs0 >>6
ぱっと見で分かるのは、OptionButton1が再定義されてて目的の値を参照してない事
Dim OptionButton1 を消して、>>3で自分で書いたようにOptionButton1.valueを評価してみて
あと、オブジェクト名にButtonって入ってるからコントロールだと思うけど、
もしコマンドボタンならこの用途でValueプロパティは使えないから、チェックボックスにしよう
解説サイトのソースも修正
grepExcelSheetメソッド
Loop While rTmpFoundCell <> rFoundFirstCell
↓
Loop While rTmpFoundCell.Address <> rFoundFirstCell.Address
openExcelFilesメソッド
sTmpPath = Dir(sFilePath & "*.xls")
↓
sTmpPath = Dir(sFilePath & "*.xls?")
それに伴って Do While sTmpPath <> "" 内の文を
If Not sTmpPath Like "*." & ThisWorkbook.Name Then 〜 End If
で括る
細かいこと言うと、Blean型を判定するときにリテラルと比較(= True や = False)はカッコ悪いから止めた方がいい
解説サイトではやってるけどね
ぱっと見で分かるのは、OptionButton1が再定義されてて目的の値を参照してない事
Dim OptionButton1 を消して、>>3で自分で書いたようにOptionButton1.valueを評価してみて
あと、オブジェクト名にButtonって入ってるからコントロールだと思うけど、
もしコマンドボタンならこの用途でValueプロパティは使えないから、チェックボックスにしよう
解説サイトのソースも修正
grepExcelSheetメソッド
Loop While rTmpFoundCell <> rFoundFirstCell
↓
Loop While rTmpFoundCell.Address <> rFoundFirstCell.Address
openExcelFilesメソッド
sTmpPath = Dir(sFilePath & "*.xls")
↓
sTmpPath = Dir(sFilePath & "*.xls?")
それに伴って Do While sTmpPath <> "" 内の文を
If Not sTmpPath Like "*." & ThisWorkbook.Name Then 〜 End If
で括る
細かいこと言うと、Blean型を判定するときにリテラルと比較(= True や = False)はカッコ悪いから止めた方がいい
解説サイトではやってるけどね
12デフォルトの名無しさん (ワッチョイ 8fba-U8IO)
2020/06/26(金) 23:25:32.05ID:ZjxMZdyJ0 >>3です
無理やりですが自己解決しました
標準モジュール2にアウトプットのコードをさわったものをコピペして
コマンドボタンクリックしたときの動作をIfでCallするようにしたら出来ました
でもやっぱりこのコード重いですね。どうにか軽くする方法無いものですかね。
無理やりですが自己解決しました
標準モジュール2にアウトプットのコードをさわったものをコピペして
コマンドボタンクリックしたときの動作をIfでCallするようにしたら出来ました
でもやっぱりこのコード重いですね。どうにか軽くする方法無いものですかね。
13デフォルトの名無しさん (ワッチョイ 8fba-U8IO)
2020/06/26(金) 23:28:15.39ID:ZjxMZdyJ0 >>11修正ありがとうございます、提案されたやり方も試してみます!
14デフォルトの名無しさん (ワッチョイ 4f5f-fXbV)
2020/06/26(金) 23:49:56.02ID:kQH1YyZn0 配列にすれば
あとやってるかとは思うけど自動計算と画面更新オフ
あとやってるかとは思うけど自動計算と画面更新オフ
15デフォルトの名無しさん (ワッチョイ 8fba-U8IO)
2020/06/26(金) 23:53:39.92ID:ZjxMZdyJ0 すみません、配列にするとはどういうことをすることですか?
16デフォルトの名無しさん (ワッチョイ 7fda-NJGG)
2020/06/27(土) 00:17:07.69ID:KqbSykww0 Cells(1, 1).Value = "あ"
Cells(1, 2).Value = "い"
Cells(1, 3).Value = "う"
↓ ↓ ↓
Range("A1:C1").Value = Array("あ", "い", "う")
1個ずつじゃなくて、一気に放り込めってことでしょう。>>15
Cells(1, 2).Value = "い"
Cells(1, 3).Value = "う"
↓ ↓ ↓
Range("A1:C1").Value = Array("あ", "い", "う")
1個ずつじゃなくて、一気に放り込めってことでしょう。>>15
17デフォルトの名無しさん (ワッチョイ 8f01-Zl/h)
2020/06/27(土) 02:29:31.12ID:gCUCp3Nd0 そこを高速化してもしかたないのでは・・・
18デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/27(土) 05:22:36.02ID:J5vHObt/0 他人にコード書かせて動かしたら遅いと文句言うのって人としてどうなの?
19デフォルトの名無しさん (ワッチョイ 8fba-8HP2)
2020/06/27(土) 08:53:12.31ID:9qJBLgyD0 >>
20デフォルトの名無しさん (ワッチョイ 8ff1-of6p)
2020/06/27(土) 09:24:13.86ID:YKskLwzM0 <<
21デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/27(土) 09:43:15.25ID:wwwZDyDia ビットシフトとは各桁を 1 桁左や右にずらすことです。
https://www.tipsfound.com/vba/02018
VBA にはそのような演算子はありませんが次のようにしてできます。
\ (2 ^ 1) ' 1 桁右へシフト
* (2 ^ 1) ' 1 桁左へシフト
https://www.tipsfound.com/vba/02018
VBA にはそのような演算子はありませんが次のようにしてできます。
\ (2 ^ 1) ' 1 桁右へシフト
* (2 ^ 1) ' 1 桁左へシフト
22デフォルトの名無しさん (ワッチョイ cfce-htoQ)
2020/06/27(土) 10:06:21.20ID:lV2RRwzl0 実行時エラー '6':
オーバーフローしました。
オーバーフローしました。
23デフォルトの名無しさん (ワッチョイ cf46-pKDl)
2020/06/27(土) 10:49:37.32ID:gKvpRzl30 今日は、タイマー作ってます。
IeTimerに
Private Sub IeTimer1_Timer()
Me.Label1 = Now
Me.IeTimer1.Interval = 1000 - (Timer Mod 1000)
End Sub
とかいて見たのですが、何か一秒の長さが変に感じます。
気のせいなんでしょうか?。
Excel 97
OS;Windows 98
機種;NEC VersaPro NX VP13C
IeTimerに
Private Sub IeTimer1_Timer()
Me.Label1 = Now
Me.IeTimer1.Interval = 1000 - (Timer Mod 1000)
End Sub
とかいて見たのですが、何か一秒の長さが変に感じます。
気のせいなんでしょうか?。
Excel 97
OS;Windows 98
機種;NEC VersaPro NX VP13C
24デフォルトの名無しさん (ワッチョイ cf46-pKDl)
2020/06/27(土) 10:55:33.95ID:gKvpRzl30 今日は、タイマー作ってます。
MsgBox 36000*24
はエラーにならないが
MsgBox 24*3600
は実行時エラーオーバーフローしました。
となります。
どうしてなんでしょうか?。
MsgBox 36000*24
はエラーにならないが
MsgBox 24*3600
は実行時エラーオーバーフローしました。
となります。
どうしてなんでしょうか?。
25デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/27(土) 11:02:47.04ID:aTkq7ke+a >>23
教えてキャン>>98<<ビー
https://oshiete.goo.ne.jp/qa/597623.html
>Win98系のOSの場合ですが、処理中に、
頻繁にDoEventsを実行する必要があります。
これは、OSの特性です。
教えてキャン>>98<<ビー
https://oshiete.goo.ne.jp/qa/597623.html
>Win98系のOSの場合ですが、処理中に、
頻繁にDoEventsを実行する必要があります。
これは、OSの特性です。
26デフォルトの名無しさん (ワッチョイ cfce-htoQ)
2020/06/27(土) 11:13:07.90ID:lV2RRwzl0 釣りなのか本気なのか判断に困る質問だな
27デフォルトの名無しさん (ワッチョイ 3f7f-pPSV)
2020/06/27(土) 11:48:36.47ID:P+1UXm0n0 ヤベーイ
28デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/27(土) 23:20:44.51ID:J5vHObt/0 動作がおかしいのは古いからじゃないかな
29デフォルトの名無しさん (ワッチョイ cfce-htoQ)
2020/06/28(日) 00:22:47.53ID:/mLredfO0 VBAで宣言せずに数式を書くと、式の中で最初に出てきた数字によって型が勝手に決められる仕様
小数点があったら、小数点以下が0でもDouble型
32767以下の整数はInteger型
32768以上の整数はLong型
になる
だから「24*3600」という式を書くと、最初に出てくる数字は24だからInteger型とみなされて、24*3600はInteger型の制限範囲を超えてるからエラーになる
変数を使わずに数値の型を指定したい時は型文字を使うか実数型にしてしまう
この場合は
24& * 3600 (Double型)
24.0 * 3600 (Double型)
24# * 3600 (Long型)
と書けばエラーにならない
ちなみにVBA(Excel)のバージョンは関係ない
最新でも仕様は変わってないから同じ所でエラーになる
小数点があったら、小数点以下が0でもDouble型
32767以下の整数はInteger型
32768以上の整数はLong型
になる
だから「24*3600」という式を書くと、最初に出てくる数字は24だからInteger型とみなされて、24*3600はInteger型の制限範囲を超えてるからエラーになる
変数を使わずに数値の型を指定したい時は型文字を使うか実数型にしてしまう
この場合は
24& * 3600 (Double型)
24.0 * 3600 (Double型)
24# * 3600 (Long型)
と書けばエラーにならない
ちなみにVBA(Excel)のバージョンは関係ない
最新でも仕様は変わってないから同じ所でエラーになる
30デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/28(日) 07:42:30.13ID:sqW+tWgm0 >>29
へー面白いね
へー面白いね
31デフォルトの名無しさん (ワッチョイ 3f7f-nmuj)
2020/06/28(日) 07:45:50.98ID:/E8O58u/0 プロジェクトウィンドウが何かの表紙に名前順にソートされてしまったんですが、標準モジュール、クラスモジュール等の階層表示ってどうやって戻すのでしょうか
32デフォルトの名無しさん (ワッチョイ 3fef-NJGG)
2020/06/28(日) 08:01:52.55ID:8pre44tM0 フォルダーの切り替え(黄色いフォルダの絵のアイコン) をクリック
33デフォルトの名無しさん (スップ Sddf-uLB2)
2020/06/28(日) 11:43:32.56ID:VHBre49Bd34デフォルトの名無しさん (ワッチョイ 8f40-Zl/h)
2020/06/28(日) 12:14:58.87ID:dFUOn9oJ0 適当なこと言っててワロタ
35デフォルトの名無しさん (ワッチョイ 7f8e-hynA)
2020/06/28(日) 13:50:31.47ID:Gnbk8j2I036デフォルトの名無しさん (ワッチョイ 7f8e-hynA)
2020/06/28(日) 13:50:52.16ID:Gnbk8j2I0 俺ではなくお礼
37デフォルトの名無しさん (ワッチョイ 0fac-G+5W)
2020/06/28(日) 14:21:14.54ID:t+bqi6uL0 俺
38デフォルトの名無しさん (ワッチョイ 8ff1-of6p)
2020/06/28(日) 14:41:16.58ID:O22xrl4H0 >>33
俺
俺
39デフォルトの名無しさん (アウアウエー Sabf-9ZHA)
2020/06/28(日) 15:17:28.32ID:IDO0V0ZPa dim 俺 as string
40デフォルトの名無しさん (アウウィフ FFd3-d3ZO)
2020/06/28(日) 16:12:05.93ID:WMjrpZfvF 俺 = "童貞"
41デフォルトの名無しさん (ブーイモ MM0f-tZ42)
2020/06/28(日) 16:56:51.40ID:69pcuKP2M Const 俺 As String = "童貞"
42デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/28(日) 17:02:14.70ID:YhC9oGcZa Do While 俺
俺 = 1
If 俺 > 1 Then
Exit Do
End If
Loop
MsgBox "happy"
俺 = 1
If 俺 > 1 Then
Exit Do
End If
Loop
MsgBox "happy"
43デフォルトの名無しさん (ワッチョイ 8f40-Zl/h)
2020/06/28(日) 17:20:31.84ID:dFUOn9oJ0 >>35
式の中で最初に出てきた数字によって型が勝手に決められる → 嘘
32767以下の整数はInteger型 → 嘘
24& * 3600 (Double型) → 嘘
24# * 3600 (Long型) → 嘘
これで適当以外の何なんだよ
式の中で最初に出てきた数字によって型が勝手に決められる → 嘘
32767以下の整数はInteger型 → 嘘
24& * 3600 (Double型) → 嘘
24# * 3600 (Long型) → 嘘
これで適当以外の何なんだよ
4423 (ファミワイ FFb3-pKDl)
2020/06/28(日) 17:53:16.30ID:n2mRaag0F Timerに1000を掛けて見ても何か変だと思ったら
想定より早くIeTimerが実行される時があるみたいだ。
マシンの性能が良すぎるんですかね。
取り敢えず+200にして解決としときます。
MsgBoxの方は型とか考えたくないので
兎に角勉強になりました。 ありがとうございました。
想定より早くIeTimerが実行される時があるみたいだ。
マシンの性能が良すぎるんですかね。
取り敢えず+200にして解決としときます。
MsgBoxの方は型とか考えたくないので
兎に角勉強になりました。 ありがとうございました。
45デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/28(日) 19:11:04.99ID:LbQBFJ/O0 >>24
MsgBox 24 * 3600
MsgBox 24 * 36000
1行目はオーバーフローがでる
2行目はエラーが出ないで普通に計算されます
MsgBox 24 * 3600
MsgBox 24 * 36000
1行目はオーバーフローがでる
2行目はエラーが出ないで普通に計算されます
46デフォルトの名無しさん (ワッチョイ 0f43-3pn7)
2020/06/28(日) 19:21:56.72ID:nTfCGwDP0 特定のフォルダ内のファイルのファイル名を変えて、ついでにプロパティのコメントにも文字を入力したいです
for each f in fol.files
f.name=ファイル名
f.comment=コメント
next
みたいな感じでやりたいんですが、f.commentではだめなようです
どう書けばいいか教えてください
for each f in fol.files
f.name=ファイル名
f.comment=コメント
next
みたいな感じでやりたいんですが、f.commentではだめなようです
どう書けばいいか教えてください
47デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/28(日) 19:23:35.13ID:LbQBFJ/O0 Integer型 * Integer型 の計算結果が 32767を超えるとオーバーフローエラーがでる
Integer型 * Long型 の計算結果が 32767を超えてもエラーにならない
ってことじゃね
Integer型 * Long型 の計算結果が 32767を超えてもエラーにならない
ってことじゃね
48デフォルトの名無しさん (ワッチョイ 0fda-H7K1)
2020/06/28(日) 19:28:31.58ID:Vk36drdU0 win10でRS-232C使うとかなりの確率で
Set MSComm1 = New MSComm
のところでエラーになります
どうにかなりませんか
Set MSComm1 = New MSComm
のところでエラーになります
どうにかなりませんか
49デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/28(日) 19:52:40.03ID:LbQBFJ/O0 >>48
EasyComm ってのに変えたほうがいいかも
EasyComm ってのに変えたほうがいいかも
50デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/28(日) 20:30:15.72ID:LbQBFJ/O0 >>46
変更後のファイル名が重複するんじゃね
変更後のファイル名が重複するんじゃね
51デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/28(日) 20:32:56.52ID:LbQBFJ/O0 >>46
あとファイルの種類によってはコメントが無いのもある
あとファイルの種類によってはコメントが無いのもある
52デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/28(日) 20:35:06.31ID:+IGHtKO4a イジカミジゴー
53デフォルトの名無しさん (ブーイモ MM0f-nmuj)
2020/06/28(日) 20:39:46.50ID:yfJkjLDvM54デフォルトの名無しさん (アウアウエー Sabf-9ZHA)
2020/06/28(日) 21:16:46.93ID:yxdrwHPGa >>52
B'z乙
B'z乙
55デフォルトの名無しさん (アウアウウー Sad3-d3ZO)
2020/06/29(月) 10:38:25.17ID:2N59jCILa excel標準でmscommの開発用のライセンス無いよね?
56デフォルトの名無しさん (アウアウカー Sac3-jwjG)
2020/06/29(月) 13:58:37.89ID:T8IL5X90a B1の値に応じて、C1からC100の値が変動します
A1からA100までの文字列をB1に順番に入れていって、1回ごとにC1からC100を別シートのD列に上から順にコピーしていきたいです
A1からA100とC1からC100は、必ずしも100まで値が埋まっているわけではなく、途中までしか埋まっていないこともあります
別シートにコピーするときに、C列の空白分はコピーしないでD列に空白行を作らないようにしたいです
Array = Range(A1:A100)で配列になるらしいんですが、Forでループさせるときに1個ずつB1に入れていくところでつまずいてます
ここからどうやってA1からA100までを順番に取り出していけばいいのでしょうか?
それと、C列をコピーするときに空白のところまでで選択を止めて必要分だけコピーするにはどうすればいいですか?
A1からA100までの文字列をB1に順番に入れていって、1回ごとにC1からC100を別シートのD列に上から順にコピーしていきたいです
A1からA100とC1からC100は、必ずしも100まで値が埋まっているわけではなく、途中までしか埋まっていないこともあります
別シートにコピーするときに、C列の空白分はコピーしないでD列に空白行を作らないようにしたいです
Array = Range(A1:A100)で配列になるらしいんですが、Forでループさせるときに1個ずつB1に入れていくところでつまずいてます
ここからどうやってA1からA100までを順番に取り出していけばいいのでしょうか?
それと、C列をコピーするときに空白のところまでで選択を止めて必要分だけコピーするにはどうすればいいですか?
57デフォルトの名無しさん (ドコグロ MMbf-AMYG)
2020/06/29(月) 14:21:14.85ID:81b3XCdqM 二次元配列を一つずつ取り出すときはArray(上からの番号,1)
空白行までのコピーは
with worksheets(1)
.Range(.Cells(1,3) ,.Cells(1,3).End(xldown)).copy
end with
空白行までのコピーは
with worksheets(1)
.Range(.Cells(1,3) ,.Cells(1,3).End(xldown)).copy
end with
58デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 15:29:59.45ID:TB+oeC/70 どういう配列が作られたのかがそもそもわかんないって話でしょ?
デバッグの仕方覚えて、Arrayに何が入るかを確認できるようになったほうがいいわ
どういう配列が入ってるのかも確認できずに中身取り出すとかそもそも間違ってる
一行ずつ実行しながらローカルウィンドウで確認すれば
例えばこんな感じで配列が作られるのが確認できる
https://i.imgur.com/wDjGPTf.png
デバッグの仕方覚えて、Arrayに何が入るかを確認できるようになったほうがいいわ
どういう配列が入ってるのかも確認できずに中身取り出すとかそもそも間違ってる
一行ずつ実行しながらローカルウィンドウで確認すれば
例えばこんな感じで配列が作られるのが確認できる
https://i.imgur.com/wDjGPTf.png
59デフォルトの名無しさん (アウアウカー Sac3-jwjG)
2020/06/29(月) 15:49:01.80ID:T8IL5X90a60デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 15:52:32.50ID:TB+oeC/70 仮想COM使ってるバーコードリーダーからEasycomm使ってデータ読み取ろうとしたけどわからんかった
その辺の知識身につけたいんだけどとっかかりが分からない
知識ある人がうらやましい
その辺の知識身につけたいんだけどとっかかりが分からない
知識ある人がうらやましい
61デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 16:45:10.65ID:6d9dL1u1a62デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 17:04:47.20ID:TB+oeC/70 >>61
いわゆるキーボードモード(USB HID)になってるようなバーコードリーダーならそうなんだけどね
今使ってるのは仮想COM(USB COM)の設定になってて、HIDに切り替えようとするとPC再起動
しないといけなかったり、何かと面倒なんだわ
COMモードじゃないとシステムに入力出来なかったりするものもあるしね
勝手にやっちゃうと職場の他の人に迷惑かけるし
そこでなんとかCOMモードのままでHID的にエクセルに出力できないかなって。
NW7のバーコード読取り結果を出力させたいってだけなんだけど、うまくいかなかった
いわゆるキーボードモード(USB HID)になってるようなバーコードリーダーならそうなんだけどね
今使ってるのは仮想COM(USB COM)の設定になってて、HIDに切り替えようとするとPC再起動
しないといけなかったり、何かと面倒なんだわ
COMモードじゃないとシステムに入力出来なかったりするものもあるしね
勝手にやっちゃうと職場の他の人に迷惑かけるし
そこでなんとかCOMモードのままでHID的にエクセルに出力できないかなって。
NW7のバーコード読取り結果を出力させたいってだけなんだけど、うまくいかなかった
63デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 17:16:51.22ID:6d9dL1u1a 基幹システムとExcelが分離してるなら
キーボードを別のキーボードにするだけの事だから
数千円でUSBバーコードリーダー買ってきてぶっ刺した方が早そう
キーボードを別のキーボードにするだけの事だから
数千円でUSBバーコードリーダー買ってきてぶっ刺した方が早そう
64デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 17:27:14.16ID:TB+oeC/70 おっしゃる通りなんだけど
そこに立ちはだかる「セキュリティ?」の壁なんだわ
特にハードは目に見える分、よく分かってないお偉いさんでも口挟んでくる
おれ超末端だからハード新規導入は無理だ
ソフトは誤魔化せるんでこっちから攻めたかった
そこに立ちはだかる「セキュリティ?」の壁なんだわ
特にハードは目に見える分、よく分かってないお偉いさんでも口挟んでくる
おれ超末端だからハード新規導入は無理だ
ソフトは誤魔化せるんでこっちから攻めたかった
65デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 17:37:54.02ID:6d9dL1u1a それ、どっちがセキュアなんだかw
SD120(バーコードリーダー)を仮想シリアル通信で利用する
https://kagamikarasu.net/sd120_barcodereader_serial/
>これでプログラムに組み込むのが容易になるかと思います。
その先は知らん!
SD120(バーコードリーダー)を仮想シリアル通信で利用する
https://kagamikarasu.net/sd120_barcodereader_serial/
>これでプログラムに組み込むのが容易になるかと思います。
その先は知らん!
66デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/29(月) 17:47:36.41ID:pfpn6QaF0 >>64
上司に黙ってソフト変更とかするほうがセキュリティー的にNGだろ
上司に黙ってソフト変更とかするほうがセキュリティー的にNGだろ
67デフォルトの名無しさん (オッペケ Sra3-G+5W)
2020/06/29(月) 17:50:11.99ID:j9Yq0PlQr 業務時間も資産も使うんだし相談なり申請なりはしとけよ
68デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 17:50:20.02ID:TB+oeC/70 ちょ、そこで終わられても
69デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/29(月) 18:01:00.81ID:pfpn6QaF0 うまくいかないって具体的なエラーや表示もないし
どこまでできて何ができないか書いてないよね
どこまでできて何ができないか書いてないよね
70デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 18:11:42.18ID:TB+oeC/70 セキュリティー的にはな、
でもうちのは「セキュリティ?」だから
>>69
一応何らかのデータは取得できてて、不正確な数字やらスペースやらは羅列される
まぁそもそも仕組み分からず動かしてる段階で自分としては納得出来てないんで
その辺を学習できるとっかかりが見つかればと思って書いてみただけ
心当たりなければいいよ
いそぐものでもないし課題の1つとして気長に取り組んでみるわ
でもうちのは「セキュリティ?」だから
>>69
一応何らかのデータは取得できてて、不正確な数字やらスペースやらは羅列される
まぁそもそも仕組み分からず動かしてる段階で自分としては納得出来てないんで
その辺を学習できるとっかかりが見つかればと思って書いてみただけ
心当たりなければいいよ
いそぐものでもないし課題の1つとして気長に取り組んでみるわ
71デフォルトの名無しさん (ラクッペペ MM4f-TKJB)
2020/06/29(月) 18:19:31.08ID:6uUvaw7SM 関係ないけどcomってコミュニケーションのCOMでいいんだっけ?
昔 .com をカンパニーだと思ってたワシ
昔 .com をカンパニーだと思ってたワシ
72デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 18:42:30.00ID:6d9dL1u1a >>70
データ変換はこのスレの範疇なようなスレチの様な
1次元のいわゆる白黒バーコードはバイナリだから
https://ja.m.wikipedia.org/wiki/シリアルポート
とキーエンスのバーコード講座NW7
https://www.keyence.co.jp/ss/products/autoid/codereader/basic-nw7.jsp
でもお勉強しないとわかりません。
データ変換はこのスレの範疇なようなスレチの様な
1次元のいわゆる白黒バーコードはバイナリだから
https://ja.m.wikipedia.org/wiki/シリアルポート
とキーエンスのバーコード講座NW7
https://www.keyence.co.jp/ss/products/autoid/codereader/basic-nw7.jsp
でもお勉強しないとわかりません。
73デフォルトの名無しさん (オッペケ Sra3-5+Fh)
2020/06/29(月) 18:57:10.02ID:2GVfwDQBr74デフォルトの名無しさん (ワッチョイ 3f01-bXJj)
2020/06/29(月) 19:27:50.46ID:TB+oeC/7075デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 19:33:50.23ID:6d9dL1u1a >>74
同じ品番のバーコードリーダーを買いましょうw
同じ品番のバーコードリーダーを買いましょうw
76デフォルトの名無しさん (ワッチョイ cfda-NJGG)
2020/06/29(月) 19:40:44.57ID:pfpn6QaF0 なんでわざわざコンプライアンスを破ろうとするのかわからん
77デフォルトの名無しさん (スップ Sddf-uLB2)
2020/06/29(月) 20:58:53.82ID:p0BvfhePd >>70
昔、そういうハードのサポートしてた。
POS関連でバーコ―ドリーダー、レシートプリンタ、何とかディスプレイ(金額表示)、キャッシュドロワーとか。
シリアルならフロー制御がどうなってるかとか含めて、ちゃんと設定しないとダメだぞ。
昔、そういうハードのサポートしてた。
POS関連でバーコ―ドリーダー、レシートプリンタ、何とかディスプレイ(金額表示)、キャッシュドロワーとか。
シリアルならフロー制御がどうなってるかとか含めて、ちゃんと設定しないとダメだぞ。
78デフォルトの名無しさん (ワッチョイ 3fb5-jCQM)
2020/06/29(月) 22:23:41.83ID:R8I/2vyw0 ユーザーフォームに元に戻すボタンを作ろうと
奮闘中
・ブックやシート、列行の削除や挿入などはやらない
・セル内の数値同士の計算などをやらせる
基本的に無理だから*2のに対しては/2のボタン
とか逆を割り当てていこうかと思ったら四捨五入で座礁しますた
記録して元に復元させるってやり方かぁ
ムズそうすぎてちょっとあきらめてる
使用者には間違えるなと言うしかないか…
奮闘中
・ブックやシート、列行の削除や挿入などはやらない
・セル内の数値同士の計算などをやらせる
基本的に無理だから*2のに対しては/2のボタン
とか逆を割り当てていこうかと思ったら四捨五入で座礁しますた
記録して元に復元させるってやり方かぁ
ムズそうすぎてちょっとあきらめてる
使用者には間違えるなと言うしかないか…
79デフォルトの名無しさん (アウアウエー Sabf-PKxn)
2020/06/29(月) 22:35:48.51ID:6d9dL1u1a■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
