!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part61
http://mevius.5ch.net/test/read.cgi/tech/1556203263/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
Excel VBA 質問スレ Part62
レス数が1000を超えています。これ以上書き込みはできません。
1
2019/06/24(月) 00:21:37.48952デフォルトの名無しさん (ワッチョイ 9f8e-J3NS)
2019/09/12(木) 12:18:23.71ID:a4qCwAO70 馬鹿ばっかになった
953デフォルトの名無しさん (スプッッ Sd1f-+NYQ)
2019/09/12(木) 12:24:16.91ID:0Zw0A2zsd >>948
ちょっと何言ってるか分からない。
ちょっと何言ってるか分からない。
954デフォルトの名無しさん (ブーイモ MMe3-rDRx)
2019/09/12(木) 12:32:48.27ID:6dn1OjZbM955デフォルトの名無しさん (スププ Sd9f-Nx9I)
2019/09/12(木) 18:27:47.01ID:KEDDsLSod956デフォルトの名無しさん (スププ Sd9f-CFUL)
2019/09/12(木) 19:26:34.35ID:ylyw11Lkd ググって出来なかったら諦めろ
957デフォルトの名無しさん (ワッチョイ 9f94-htbz)
2019/09/12(木) 19:55:19.21ID:fv2PaJmE0 >>948
隣の席の事務のオバさんに聞けば?
隣の席の事務のオバさんに聞けば?
958デフォルトの名無しさん (ワッチョイ 1f7c-0qT7)
2019/09/12(木) 20:27:05.99ID:TkpnXyYX0 >>948
VBAはセルではななくコードエディターに入力して動かすもの
VBAはセルではななくコードエディターに入力して動かすもの
959デフォルトの名無しさん (スフッ Sd9f-yzII)
2019/09/12(木) 20:33:53.75ID:o6km/VuId csvを列幅自動調整してxlsxに一括変換するやつなら作ったことあるけど
960デフォルトの名無しさん (ワッチョイ 7f79-j7/x)
2019/09/12(木) 20:44:23.48ID:igJ/H+nC0 CSVそのままだと数字しかない列を数字と読んじゃうからイマイチなんだけど
0001とか1になってまうやつね
そういうのうまく文字列として読む方法ないですかVBAで
0001とか1になってまうやつね
そういうのうまく文字列として読む方法ないですかVBAで
961デフォルトの名無しさん (スフッ Sd9f-yzII)
2019/09/12(木) 20:54:02.93ID:o6km/VuId >>960
Excelで開いて上書き保存するとセルの値がそう書き換えられる仕様だったような。
Excelで開いて上書き保存するとセルの値がそう書き換えられる仕様だったような。
962デフォルトの名無しさん (ワッチョイ 1f7c-0qT7)
2019/09/12(木) 21:07:54.40ID:TkpnXyYX0 >>960
読み込むセルの書式設定を文字列にする
読み込むセルの書式設定を文字列にする
963デフォルトの名無しさん (スプッッ Sd1f-VNsZ)
2019/09/12(木) 21:37:35.27ID:rycUg+BFd964デフォルトの名無しさん (ワッチョイ 7fca-tiNa)
2019/09/12(木) 21:44:44.92ID:kXsXiEi10 >>960
エクセルCSVデータが勝手に変わるのを防ぐ 文字列読み込み法
https://www.excelspeedup.com/csvmojiretsu/
『1 csvファイルをそのままの形で取り込む3つの方法
1.1 「外部データの取り込み」を使って取り込む
1.2 拡張子を「.txt」に変更して開く
1.3 テキストエディタで開きエクセルにコピー貼り付け』
エクセルCSVデータが勝手に変わるのを防ぐ 文字列読み込み法
https://www.excelspeedup.com/csvmojiretsu/
『1 csvファイルをそのままの形で取り込む3つの方法
1.1 「外部データの取り込み」を使って取り込む
1.2 拡張子を「.txt」に変更して開く
1.3 テキストエディタで開きエクセルにコピー貼り付け』
965デフォルトの名無しさん (ワッチョイ 1f7c-0qT7)
2019/09/12(木) 21:52:57.62ID:TkpnXyYX0 どんな形で開いても書式設定を文字列にするか頭に ' 付けなきゃ0消えた気がするが
966デフォルトの名無しさん (スプッッ Sd1f-VNsZ)
2019/09/12(木) 23:20:39.35ID:rycUg+BFd いや、VBAでテキストファイルならOpen、Line Input使うとかFileSystemObject使うとかでしょ。
967デフォルトの名無しさん (ワッチョイ 1fce-Nl8y)
2019/09/13(金) 00:48:49.27ID:VS8vqVEc0 文字列として読み込めば0は消えない
あとLineInputよりクエリのがずっと速い
サンプル
Sub CSVread()
With Worksheets("Sheet1") '読み込むシート
With .QueryTables.Add(Connection:="TEXT;C:\tmp\test.csv", Destination:=.Range("A1")) 'ファイル名とセル位置
.TextFilePlatform = 932 '文字コード指定
.TextFileCommaDelimiter = True 'カンマ区切り指定
.RefreshStyle = xlOverwriteCells 'セルに上書き
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat) '各列を文字列に指定
.Refresh 'シートに読み込んで表示
.Delete 'クエリを切断
End With
End With
End Sub
あとLineInputよりクエリのがずっと速い
サンプル
Sub CSVread()
With Worksheets("Sheet1") '読み込むシート
With .QueryTables.Add(Connection:="TEXT;C:\tmp\test.csv", Destination:=.Range("A1")) 'ファイル名とセル位置
.TextFilePlatform = 932 '文字コード指定
.TextFileCommaDelimiter = True 'カンマ区切り指定
.RefreshStyle = xlOverwriteCells 'セルに上書き
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat) '各列を文字列に指定
.Refresh 'シートに読み込んで表示
.Delete 'クエリを切断
End With
End With
End Sub
968デフォルトの名無しさん (アークセー Sx73-CIVR)
2019/09/13(金) 06:06:06.50ID:bJM+5H/mx csvやjsonのような構造化されたデータの読み書きならLineInputよりクエリかな
969デフォルトの名無しさん (ワッチョイ 1f7c-0qT7)
2019/09/13(金) 19:00:24.08ID:gGtj+LYf0 >>967
LineInputもクエリも表示形式設定しなきゃ文字列として扱ってくれないと思うんだが、そうでない読み込み方があるなら教えてほしい
LineInputもクエリも表示形式設定しなきゃ文字列として扱ってくれないと思うんだが、そうでない読み込み方があるなら教えてほしい
970デフォルトの名無しさん (ワッチョイ 7fda-Nl8y)
2019/09/13(金) 19:12:23.50ID:i6SGvTvD0 schema.ini書いてADOでいいよ、そんなもん。
971デフォルトの名無しさん (ワッチョイ 7f79-j7/x)
2019/09/13(金) 22:45:51.27ID:GHg/1R3A0972デフォルトの名無しさん (ササクッテロル Sp73-gxlg)
2019/09/14(土) 21:23:34.27ID:ub8L35bYp VBA出来る人はSQLも普通に使える人が多いのでしょうか?
973デフォルトの名無しさん (スフッ Sd9f-yzII)
2019/09/14(土) 21:32:42.15ID:2mX8de3Gd Sの字もわかりません
974デフォルトの名無しさん (ワッチョイ 1f7c-0qT7)
2019/09/14(土) 22:28:34.89ID:WDFySUcl0 >>972
ACCESS VBAを使ってる人なら多いと思うがExcelはそれほどでもない
ACCESS VBAを使ってる人なら多いと思うがExcelはそれほどでもない
975デフォルトの名無しさん (アウアウウー Sa63-4C4c)
2019/09/15(日) 00:02:54.14ID:3V8F+GIVa >>977
使える人もいるが、VBAerはSQLや他のプログラミング言語の知識がなく他の選択肢を持たない極めて低スキルな層が大多数を占める
使える人もいるが、VBAerはSQLや他のプログラミング言語の知識がなく他の選択肢を持たない極めて低スキルな層が大多数を占める
976デフォルトの名無しさん (ワッチョイ 7f95-6eqr)
2019/09/15(日) 00:04:51.24ID:tCz5SmrL0977デフォルトの名無しさん (ドコグロ MM13-hFMq)
2019/09/15(日) 06:56:48.00ID:VKeDSGtjM 低スキルで悪かったな(怒
978デフォルトの名無しさん (アウアウウー Sa63-VJtK)
2019/09/15(日) 07:04:00.27ID:lD21pqlQa 勉強すればいいのに
979デフォルトの名無しさん (スプッッ Sd9f-htbz)
2019/09/15(日) 07:09:56.72ID:bJ3fW1U+d >>972
全く違うので関連性はありません
全く違うので関連性はありません
980デフォルトの名無しさん (ドコグロ MMb3-4C4c)
2019/09/15(日) 08:30:42.63ID:7adf6vSwM 世の中にはSQLが書ければコマンド一発でできることをVBAで猿のようにループ回してる糞コードが山ほどあることを考えると決して無関係ではない
無関係と思いこむことで自らの無能を正当化するのはやめなさい
無関係と思いこむことで自らの無能を正当化するのはやめなさい
981デフォルトの名無しさん (ドコグロ MM13-hFMq)
2019/09/15(日) 09:42:56.34ID:VKeDSGtjM だれもSQLとVBAが無関係とか言ってないのに何を言ってるんだよ…
VBAが使える人とSQLが使える人の話な
VBAが使える人とSQLが使える人の話な
982デフォルトの名無しさん (ワッチョイ 7f95-6eqr)
2019/09/15(日) 09:57:44.01ID:tCz5SmrL0 イメージは975
excel から逃れられないひとが使うイメージ
excel から逃れられないひとが使うイメージ
983デフォルトの名無しさん (アークセー Sx73-CIVR)
2019/09/15(日) 10:12:56.75ID:IaPtpEN9x スレチで申し訳ないがM言語を使える人ってどれくらいいるんかね
上司の謎采配でDB導入に待ったがかかってるからExcelでPowerQueryを組んでるんだが誰にも引き継ぎ出来なくなりそうで怖い
上司の謎采配でDB導入に待ったがかかってるからExcelでPowerQueryを組んでるんだが誰にも引き継ぎ出来なくなりそうで怖い
984デフォルトの名無しさん (ワッチョイ 7f59-yzII)
2019/09/15(日) 10:19:11.53ID:5uhhTsGd0 PowerQueryは謎な挙動が多すぎる
985デフォルトの名無しさん (スプッッ Sd1f-VNsZ)
2019/09/15(日) 15:08:13.09ID:M+l28bS0d VBAよりSQLの方が簡単だからSQL覚えておくと良いと思う。
SQLはどう使うかで難しくなるけど。
SQLはどう使うかで難しくなるけど。
986デフォルトの名無しさん (スプッッ Sd1f-VNsZ)
2019/09/15(日) 15:09:44.24ID:M+l28bS0d987デフォルトの名無しさん (ワッチョイ ff8c-gAGy)
2019/09/15(日) 15:30:29.07ID:vKevM/ZS0 ExcelのM言語ってMUIMPSのことなの? それとも全くの別物?
988デフォルトの名無しさん (ワッチョイ 7f59-yzII)
2019/09/15(日) 16:59:17.31ID:5uhhTsGd0989デフォルトの名無しさん (ササクッテロ Sp73-KBBU)
2019/09/15(日) 17:58:13.89ID:k9jPpUfmp どうしても今すぐ仕事で使いたく、無知なまま質問することをお許し下さい。
ワンクリックでセルに色が付き(塗りつぶし)、色を付けたところを再度クリック(こちらはダブルクリックが理想)すると元に戻る(白くなる)ようにしたいです。
知恵袋で近い回答を見つけたのですが範囲の指定方法が分からず。ただ、こちらは白に戻すのをワンクリックで行うため理想とは若干異なります。一応載せておきます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub '※1
Select Case Target.Interior.ColorIndex
Case Is = xlNone
Target.Interior.ColorIndex = 3 '※2
Case Else
Target.Interior.ColorIndex = xlNone
End Select
End Sub
※1:数字の 1 はA列を意味します。C列なら 3 です。
※2:数字の 3 は赤で、4=緑、5=青、6=黄、7=ピンク、8=水色、です。
難しくなってしまうようでしたら元に戻す動作もワンクリックで大丈夫です。ご教示頂けると嬉しいです。
ワンクリックでセルに色が付き(塗りつぶし)、色を付けたところを再度クリック(こちらはダブルクリックが理想)すると元に戻る(白くなる)ようにしたいです。
知恵袋で近い回答を見つけたのですが範囲の指定方法が分からず。ただ、こちらは白に戻すのをワンクリックで行うため理想とは若干異なります。一応載せておきます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub '※1
Select Case Target.Interior.ColorIndex
Case Is = xlNone
Target.Interior.ColorIndex = 3 '※2
Case Else
Target.Interior.ColorIndex = xlNone
End Select
End Sub
※1:数字の 1 はA列を意味します。C列なら 3 です。
※2:数字の 3 は赤で、4=緑、5=青、6=黄、7=ピンク、8=水色、です。
難しくなってしまうようでしたら元に戻す動作もワンクリックで大丈夫です。ご教示頂けると嬉しいです。
990デフォルトの名無しさん (ワッチョイ 7fda-Nl8y)
2019/09/15(日) 18:10:30.21ID:ttkdv6CO0991デフォルトの名無しさん (ワッチョイ fff7-uS//)
2019/09/15(日) 18:16:17.99ID:gmNpe+SH0992デフォルトの名無しさん (スプッッ Sd9f-htbz)
2019/09/15(日) 18:22:27.35ID:SlyZta/Pd アクセスをDBと思ってる人は少数だろう
993デフォルトの名無しさん (ササクッテロ Sp73-KBBU)
2019/09/15(日) 18:27:50.10ID:k9jPpUfmp >>991
ありがとうございます。beforedoubleclickに変更すると範囲指定できるようになるのでしょうか?このコードだと 1 と入力されているところが範囲指定の部分だと理解しているのですが、例えば("A1:C5")と入れてもエラーになってしまって、、
ありがとうございます。beforedoubleclickに変更すると範囲指定できるようになるのでしょうか?このコードだと 1 と入力されているところが範囲指定の部分だと理解しているのですが、例えば("A1:C5")と入れてもエラーになってしまって、、
994デフォルトの名無しさん (ワッチョイ fff7-+dKN)
2019/09/15(日) 18:34:44.00ID:gmNpe+SH0 >>993
ならこれだ。
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call changeCellColor(0, Target) '0は空白色を指します。
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call changeCellColor(3, Target) 'ColorIndexに対応。3=赤、4=緑、5=青, 6=黄など。
End Sub
Private Sub changeCellColor(IndexCode As Long, Target As Excel.Range)
Dim LimitedRange As Excel.Range
Set LimitedRange = Target.Worksheet.Range("A1:E10") 'A1:E10のセル範囲み動作するが、変更を。
If Not Excel.Application.Intersect(Target, LimitedRange) Is Nothing Then
Target.Interior.ColorIndex = IndexCode
End If
End Sub
ならこれだ。
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call changeCellColor(0, Target) '0は空白色を指します。
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call changeCellColor(3, Target) 'ColorIndexに対応。3=赤、4=緑、5=青, 6=黄など。
End Sub
Private Sub changeCellColor(IndexCode As Long, Target As Excel.Range)
Dim LimitedRange As Excel.Range
Set LimitedRange = Target.Worksheet.Range("A1:E10") 'A1:E10のセル範囲み動作するが、変更を。
If Not Excel.Application.Intersect(Target, LimitedRange) Is Nothing Then
Target.Interior.ColorIndex = IndexCode
End If
End Sub
995デフォルトの名無しさん (ワッチョイ fff7-+dKN)
2019/09/15(日) 18:37:38.41ID:gmNpe+SH0996デフォルトの名無しさん (ワッチョイ 9f01-KBBU)
2019/09/15(日) 18:42:08.05ID:VJ7AKcnf0997デフォルトの名無しさん (ワッチョイ 9f01-KBBU)
2019/09/15(日) 18:45:30.40ID:VJ7AKcnf0 >>995
なるほど…そういう意味だったのですね!ご親切にありがとうございます!
なるほど…そういう意味だったのですね!ご親切にありがとうございます!
998デフォルトの名無しさん (ワッチョイ fff7-+dKN)
2019/09/15(日) 18:45:54.98ID:gmNpe+SH0 間違えた。元のコードは選択セルが1「列」目でなければ変更。
あとこれ、ドラッグ選択すると制限外セルの色まで変わっちゃうな。問題あれば
Target.Interior.ColorIndex = IndexCode を
Excel.Application.Intersect(Target, LimitedRange).Interior.ColorIndex = IndexCode に変えといて
あとこれ、ドラッグ選択すると制限外セルの色まで変わっちゃうな。問題あれば
Target.Interior.ColorIndex = IndexCode を
Excel.Application.Intersect(Target, LimitedRange).Interior.ColorIndex = IndexCode に変えといて
999デフォルトの名無しさん (ワッチョイ 9f01-KBBU)
2019/09/15(日) 18:49:06.25ID:VJ7AKcnf0 >>998
了解しました!どうもありがとうございます♪
了解しました!どうもありがとうございます♪
1000デフォルトの名無しさん (ワッチョイ 9f8e-J3NS)
2019/09/15(日) 20:32:37.28ID:60BoiHy40 意味もわからずネットで見つけたコードを使う馬鹿の作ったVBA
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 20時間 11分 0秒
新しいスレッドを立ててください。
life time: 83日 20時間 11分 0秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 ★2 [蚤の市★]
- SNSで米が高いと投稿すると高市ソルジャーに攻撃される模様 [931948549]
- 【画像】セクシー女優・天沢りんさん「お休み頂いてた半年間でこんな体になりました🪽🤍」👉予想通りの展開に [242521385]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 【悲報】なんで「アジア主義」を唱える右翼が居ないの🤔 [616817505]
