X



Excel VBA 質問スレ Part62
レス数が1000を超えています。これ以上書き込みはできません。
0001
垢版 |
2019/06/24(月) 00:21:37.48
!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
0952デフォルトの名無しさん (ワッチョイ 9f8e-J3NS)
垢版 |
2019/09/12(木) 12:18:23.71ID:a4qCwAO70
馬鹿ばっかになった
0957デフォルトの名無しさん (ワッチョイ 9f94-htbz)
垢版 |
2019/09/12(木) 19:55:19.21ID:fv2PaJmE0
>>948
隣の席の事務のオバさんに聞けば?
0960デフォルトの名無しさん (ワッチョイ 7f79-j7/x)
垢版 |
2019/09/12(木) 20:44:23.48ID:igJ/H+nC0
CSVそのままだと数字しかない列を数字と読んじゃうからイマイチなんだけど
0001とか1になってまうやつね
そういうのうまく文字列として読む方法ないですかVBAで
0964デフォルトの名無しさん (ワッチョイ 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 テキストエディタで開きエクセルにコピー貼り付け』
0967デフォルトの名無しさん (ワッチョイ 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
0972デフォルトの名無しさん (ササクッテロル Sp73-gxlg)
垢版 |
2019/09/14(土) 21:23:34.27ID:ub8L35bYp
VBA出来る人はSQLも普通に使える人が多いのでしょうか?
0979デフォルトの名無しさん (スプッッ Sd9f-htbz)
垢版 |
2019/09/15(日) 07:09:56.72ID:bJ3fW1U+d
>>972
全く違うので関連性はありません
0980デフォルトの名無しさん (ドコグロ MMb3-4C4c)
垢版 |
2019/09/15(日) 08:30:42.63ID:7adf6vSwM
世の中にはSQLが書ければコマンド一発でできることをVBAで猿のようにループ回してる糞コードが山ほどあることを考えると決して無関係ではない
無関係と思いこむことで自らの無能を正当化するのはやめなさい
0983デフォルトの名無しさん (アークセー Sx73-CIVR)
垢版 |
2019/09/15(日) 10:12:56.75ID:IaPtpEN9x
スレチで申し訳ないがM言語を使える人ってどれくらいいるんかね
上司の謎采配でDB導入に待ったがかかってるからExcelでPowerQueryを組んでるんだが誰にも引き継ぎ出来なくなりそうで怖い
0987デフォルトの名無しさん (ワッチョイ ff8c-gAGy)
垢版 |
2019/09/15(日) 15:30:29.07ID:vKevM/ZS0
ExcelのM言語ってMUIMPSのことなの? それとも全くの別物?
0989デフォルトの名無しさん (ササクッテロ 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=水色、です。

難しくなってしまうようでしたら元に戻す動作もワンクリックで大丈夫です。ご教示頂けると嬉しいです。
0992デフォルトの名無しさん (スプッッ Sd9f-htbz)
垢版 |
2019/09/15(日) 18:22:27.35ID:SlyZta/Pd
アクセスをDBと思ってる人は少数だろう
0993デフォルトの名無しさん (ササクッテロ Sp73-KBBU)
垢版 |
2019/09/15(日) 18:27:50.10ID:k9jPpUfmp
>>991
ありがとうございます。beforedoubleclickに変更すると範囲指定できるようになるのでしょうか?このコードだと 1 と入力されているところが範囲指定の部分だと理解しているのですが、例えば("A1:C5")と入れてもエラーになってしまって、、
0994デフォルトの名無しさん (ワッチョイ 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
0998デフォルトの名無しさん (ワッチョイ fff7-+dKN)
垢版 |
2019/09/15(日) 18:45:54.98ID:gmNpe+SH0
間違えた。元のコードは選択セルが1「列」目でなければ変更。
あとこれ、ドラッグ選択すると制限外セルの色まで変わっちゃうな。問題あれば
Target.Interior.ColorIndex = IndexCode を
Excel.Application.Intersect(Target, LimitedRange).Interior.ColorIndex = IndexCode に変えといて
1000デフォルトの名無しさん (ワッチョイ 9f8e-J3NS)
垢版 |
2019/09/15(日) 20:32:37.28ID:60BoiHy40
意味もわからずネットで見つけたコードを使う馬鹿の作ったVBA
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 20時間 11分 0秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況