
vbaの書き方について
Dim i As・・・・のⅰとAsの間って開けるとださいですか
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Intersect(Target, Range("Z34, R51")) Is Nothing Then
Application.EnableEvents = True
Exit Sub
Else
Call テスト
End If
Application.EnableEvents = True
End Sub
_______________________________________
Sub テスト()
'検索値があるシート
Dim targetSheet As Worksheet
'対象データがあるシート
Dim seathSheet As Worksheet
Set targetSheet = Worksheets("検索")
Set seathSheet = Worksheets("表")
'検索地の日付
Dim hiduke As String
targetSheet.Activate
'過去のデータ削除
targetSheet.Range("R52:X54").ClearContents
hiduke = Format(Cells(34, 26), "yyyy") & "." & Format(Cells(34, 26), "MM")
Dim i As Long
Dim n As Long
Dim lastRow As Long
Dim lastCol As Long
lastRow = seathSheet.Cells(Rows.Count, 2).End(xlUp).Row
For i = 10 To lastRow
If seathSheet.Cells(i, 2) = targetSheet.Range("R51") Then
Exit For
End If
Next i
'対象の支払先会社名がない場合
If i = lastRow + 1 Then
MsgBox "一致する支払先会社名はありません"
Application.EnableEvents = True
Exit Sub
End If
lastCol = seathSheet.Cells(8, Columns.Count).End(xlToLeft).Column
For n = 7 To lastCol
If seathSheet.Cells(8, n) = hiduke Then
Exit For
End If
Next n
'対象の日付がない場合
If n = lastCol + 1 Then
MsgBox "一致する日付はありません"
Application.EnableEvents = True
Exit Sub
End If
targetSheet.Range("R52") = seathSheet.Cells(i, 3).Value
targetSheet.Range("R53") = "\" & Format(seathSheet.Cells(i, n).Value, "#,###") & ".-"
targetSheet.Range("R54") = "\" & Format(seathSheet.Cells(i + 1, n).Value, "#,###") & ".-"
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#2です
>Dim aa As Long
Dim aaa As Long
Dim bbb As Long
Dim strA As String
Dim strAA As String
この様な感じで記す場合があります
何の事か分かりませんでしたね 画像にします
別にダサくは無いかと・・・

No.2
- 回答日時:
>Dim i As・・・・のⅰとAsの間って開けるとださいですか
意味を理解していなかったらごめんね
(私的には)
自分だけが書いたり、使用する場合
Dim i As Long, j As Long, ii As Long
Dim strA As String, strAA As String
こんな感じに記す事が多いですが、
構造体を作成したり、定数宣言を絡めたり、配布や複数人数で扱う場合は
Dim aa As Long
Dim aaa As Long
Dim bbb As Long
Dim strA As String
Dim strAA As String
この様な感じで記す場合があります
前者の書き方で 半角スペースを不要に入れるのは意図が分かりませんが
後者のような書き方の場合は、良いのでは無いかと思います
No.1
- 回答日時:
こんにちは
>ⅰとAsの間って開けるとださいですか
スペースを空けるってことですよね?
空けないと「iAs ~~」になるので、一つの変数名として解釈されますけれど・・?
(Asは予約語のAsとは解釈されません)
※ 意味が違っていたならスルーしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複するIDのデータを1行にま...
-
Accessの数値から時間に変換す...
-
SQL ブレーク処理について
-
SQLで部分的にGROUP BYしたいとき
-
エクセル 日付による並べ替え...
-
Excelグラフの日付軸の日付がず...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
今日の日付が入った行のデータ...
-
テーブルの主キーをdate型...
-
日付書式に変換でこまっています!
-
エクセルVBA 今日の日付行...
-
wordの差し込み印刷での日付表示
-
oracle 文字列 01:45 を時間に...
-
Exel関数で誕生日がきたら...
-
excel 日付のみ置換したいのです
-
OSのシステム日付を変更して...
-
日付時刻+連番の主キーをSQLだ...
-
SQLサーバで和暦から西暦に変換...
-
一秒ごとに更新をかける方法
-
23時59分59秒までのデータを抽...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
今日の日付が入った行のデータ...
-
SQLで部分的にGROUP BYしたいとき
-
重複するIDのデータを1行にま...
-
Accessの数値から時間に変換す...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
SQLサーバで和暦から西暦に変換...
-
テーブルの主キーをdate型...
-
エクセル 日付による並べ替え...
-
日付書式に変換でこまっています!
-
日数算出SQL
-
日付の切り出し方法について
-
指定した年月までのデータを取...
-
wordの差し込み印刷での日付表示
-
OSのシステム日付を変更して...
-
Excelグラフの日付軸の日付がず...
-
日付の最大値レコードを取得す...
-
特定の日付が第何週目にあるか...
-
OSのシステム日付を変更して...
-
excel 日付のみ置換したいのです
-
WHERE句にて「30日前から今日ま...
おすすめ情報