Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3 / 3840 ページ ←次へ | 前へ→

【82412】Re:範囲内のセルをダブルクリックでカウ...
発言  マナ  - 24/12/7(土) 10:44 -

引用なし
パスワード
   ▼mmmm さん:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  
  If Intersect(Target, Range("A2:B4")) Is Nothing Then Exit Sub
  If Not IsNumeric(Target.Value) Then Exit Sub
  Cancel = True
  Target.Value = Target.Value + 1
  
End Sub
・ツリー全体表示

【82411】Re:範囲内のセルをダブルクリックでカウ...
質問  mmmm E-MAIL  - 24/12/6(金) 16:57 -

引用なし
パスワード
   ▼ふぇふぇ さん:

上記の式をSheetに入力し試してみたのですが、範囲外でも内でもポップアップが出た後にカウントが始まってしまいます。解決するにはどのようにしたらよいのでしょうか。
マクロを勉強し始めたばかりでお手数おかけしますが、ご教授頂けますと幸いです。
・ツリー全体表示

【82410】Re:範囲内のセルをダブルクリックでカウ...
発言  ふぇふぇ  - 24/12/6(金) 16:42 -

引用なし
パスワード
   Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rng As Range
Cancel = True
Set rng = Application.Intersect(Target, Range("B2:D10"))
If rng Is Nothing Then
  MsgBox "B2:D10範囲外です"
Else
  MsgBox "B2:D10範囲内です"
End If
End Sub
・ツリー全体表示

【82409】範囲内のセルをダブルクリックでカウント...
質問  mmmm E-MAIL  - 24/12/6(金) 12:35 -

引用なし
パスワード
   下記の式でセルをダブルクリックでカウントアップできるようになったのですが、
指定した範囲内のセルにのみ適応するにはどのように変更すれば良いのかご教授頂けますと幸いです。


Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
On Error Resume Next
Dim c As Long
c = Cells(Target.Row, Target.Column).Value
c = c + 1
Cells(Target.Row, Target.Column) = c
End Sub
・ツリー全体表示

【82408】Re:飛び飛びのセル範囲指定に一次元配列...
お礼  モモ  - 24/11/28(木) 12:53 -

引用なし
パスワード
   ▼マナ さん:
>▼モモ さん:
>
>>やり方がありますでしょうか?
>
>
>できません。書き込みを繰り返してください。

承知しました。
ありがとうございました。
・ツリー全体表示

【82407】Re:飛び飛びのセル範囲指定に一次元配列...
発言  マナ  - 24/11/28(木) 9:45 -

引用なし
パスワード
   ▼モモ さん:

>やり方がありますでしょうか?


できません。書き込みを繰り返してください。
・ツリー全体表示

【82406】飛び飛びのセル範囲指定に一次元配列から...
質問  モモ  - 24/11/27(水) 22:52 -

引用なし
パスワード
   Dim str(2) As Variant
str(0) = "りんご"
str(1) = "みかん"
str(2) = "ぶどう"
Range("C5,C8,C9").Value = str

※質問用の仮コードなので間違いがあるかもしれません。

のようなコードで、
C5セル=りんご
C8セル=みかん
C9セル=ぶどう
をセットしたいです。

ところが実行すると3セルともりんごがセットされてしまいます。
やり方がありますでしょうか?

ご教授よろしくお願いいたします。
・ツリー全体表示

【82405】Re:on error goto の2回目の処理
お礼  ぽぽぽん  - 24/11/19(火) 23:32 -

引用なし
パスワード
   マナさん

返事遅くなってしまい申し訳ございません。
ちょうだいしたコードを参考に修正したところうまくいきました!
ありがとうございます!
どうやらerror goto labelのlabelでの処理をexit subの外にだしていないのが
原因だったようです。

重ね重ねアドバイスありがとうございました!
・ツリー全体表示

【82404】Re:on error goto の2回目の処理
発言  マナ  - 24/11/7(木) 23:34 -

引用なし
パスワード
   ▼ぽぽぽん さん:

動作確認していませんが

Sub test()
  Dim i As Long, 保管場所 As String, ファイル名 As String
  
  保管場所 = ThisWorkbook.Path
  For i = 1 To 4
    If Cells(i, "C") = 2 Then 保管場所 = "C:\Users\kojin\Downloads"
    ファイル名 = 保管場所 & "\" & Cells(i, "A") & Cells(i, "B")
    On Error GoTo label
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ファイル名
    On Error GoTo 0
  Next
  Exit Sub

label:
  Cells(i, "D") = "保存名エラー"
  Resume Next

End Sub
・ツリー全体表示

【82403】on error goto の2回目の処理
質問  ぽぽぽん  - 24/11/7(木) 19:45 -

引用なし
パスワード
   セルの名前を保存名にしてPDFを保存したいと思っています。
A,B列には保存名に使う名前を、C列は保管場所の指定、D列には
エラーになった場合に保存名エラーと書き出ししたいです。

     A  B  C
1行目 保管 a  1
2行目 保管 ** 1
3行目 保管 o  2
4行目 保管 // 2

下記のコードを実行すると2行目のエラーはD列2行目にエラーの旨が書き出される
のですが、4行目でエラーで止まってしまいます。

どなたかいい方法ありましたら教えてください。
よろしくお願いします。

---------------------------------------------------
Sub test()

Dim i, 保管場所1, 保管場所2, ファイル名

保管場所1 = ThisWorkbook.Path
保管場所2 = "C:\Users\kojin\Downloads"

For i = 1 To 4

  ファイル名 = Cells(i, "A") & Cells(i, "B")

On Error GoTo label

  Select Case Cells(i, "C")
  
  Case 1
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=保管場所1 & "\" & ファイル名
  GoTo label1
  
  Case 2
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=保管場所2 & "\" & ファイル名
  GoTo label1
  
  End Select


label:
Cells(i, "D") = "保存名エラー"


label1:
Next


End Sub
・ツリー全体表示

【82402】Re:PDFの保存を行う際当該セルを保存名と...
お礼  ぺろ  - 24/10/26(土) 21:22 -

引用なし
パスワード
   ▼マナ さん

修正部分のご教示ありがとうございました。
教えて頂いたもので行いたい処理が無事行えました。
併せてWordのコードもありがとうございました。
・ツリー全体表示

【82401】Re:PDFの保存を行う際当該セルを保存名と...
発言  マナ  - 24/10/23(水) 20:20 -

引用なし
パスワード
   ▼ぺろ さん:

Format(Cells(3, 8), "mmdd")
・ツリー全体表示

【82400】Re:PDFの保存を行う際当該セルを保存名と...
回答  ぺろ  - 24/10/23(水) 19:12 -

引用なし
パスワード
   ▼マナ さん:

>H3にはどのような値を入力するのか
>具体例を挙げてください

H3に入力を行う数字は日付の入力をしております。
10/23で入力、セル上の表示は2024/10/23と表示させており、最終的なファイル名として取得を行いたい物は「1023_B3セル_C15セル.PDF」としたいです。
・ツリー全体表示

【82399】Re:PDFの保存を行う際当該セルを保存名と...
発言  マナ  - 24/10/23(水) 8:49 -

引用なし
パスワード
   ▼ぺろ さん:

>下記のコードにてH3セルをTODAY()関数にて動作させた場合は問題なく動作するのですが、任意の日時を入力した場合にその日時を取得する場合はどのようにすればよいかご教示頂きたく質問させていただきました。
>

H3にはどのような値を入力するのか
具体例を挙げてください
・ツリー全体表示

【82398】PDFの保存を行う際当該セルを保存名とし...
質問  ぺろ  - 24/10/22(火) 16:53 -

引用なし
パスワード
   行いたい事
H3に入力した日にち、B3セルに入力した文字、C15セルに入力した文字,pdfとして保存したい。

下記のコードにてH3セルをTODAY()関数にて動作させた場合は問題なく動作するのですが、任意の日時を入力した場合にその日時を取得する場合はどのようにすればよいかご教示頂きたく質問させていただきました。


Sub PDF発行()

  '実行確認
  If MsgBox("PDF形式で出力します。よろしいですか?", vbQuestion + vbYesNo) = vbNo Then
    MsgBox "中止しました。"
    Exit Sub
  End If
 
  '出力処理
  Dim TargetName As String
  
  'ファイル名にするセルを変数にして格納
  TargetName1 = Cells(3, 2)
  TargetName2 = Cells(15, 3)
  
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
  Filename:="保存先" & "\" & Format(Now, "mmdd") & "_" & TargetName1 & "_" & TargetName2 & "_" & ActiveSheet.Name & ".pdf"

End Sub
・ツリー全体表示

【82397】Re:1フォルダ複数ブックExcelを指定した...
発言  いい E-MAIL  - 24/10/18(金) 16:52 -

引用なし
パスワード
   ▼マナ さん:

希望通りの動作できる事確認出来ました
非常に助かります!
ありがとうございました!


>▼いい さん:
>
>
>Sub test()
>    Dim fdg As FileDialog, p As String
>    Dim wsCons As Worksheet, c As Range
>  Dim fn As String, ws As Worksheet, r As Range
>  Dim n As Long, fx As String
>  Const d As Long = 10
>
>  Set fdg = Application.FileDialog(msoFileDialogFolderPicker)
>  If Not fdg.Show Then Exit Sub
>  
>  
>  Set wsCons = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
>  Set c = wsCons.Cells(1)
>  
>  p = fdg.SelectedItems(1) & "\"
>  fn = Dir(p & "リスト*.xlsx")
>  Do While fn <> ""
>    Set ws = Workbooks.Open(p & fn).Worksheets(1)
>    ws.Columns(1).Insert
>    Set r = ws.Cells(1).CurrentRegion
>    n = r.Rows.Count
>    fx = "roundup(row(1:" & n & ")/" & d & ",0)+" & Val(Mid(fn, 4)) / 1000
>    r.Columns(1).Value = Evaluate(fx)
>    c.Resize(n, r.Columns.Count).Value = r.Value
>    Set c = c.Offset(n)
>    ws.Parent.Close False
>    fn = Dir()
>  Loop
>  
>  Set r = wsCons.Cells(1).CurrentRegion
>  r.Sort r.Columns(1)
>  r.Columns(1).Delete xlToLeft
>
>End Sub
・ツリー全体表示

【82396】Re:1フォルダ複数ブックExcelを指定した...
発言  マナ  - 24/10/18(金) 10:19 -

引用なし
パスワード
   ▼いい さん:


Sub test()
    Dim fdg As FileDialog, p As String
    Dim wsCons As Worksheet, c As Range
  Dim fn As String, ws As Worksheet, r As Range
  Dim n As Long, fx As String
  Const d As Long = 10

  Set fdg = Application.FileDialog(msoFileDialogFolderPicker)
  If Not fdg.Show Then Exit Sub
  
  
  Set wsCons = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
  Set c = wsCons.Cells(1)
  
  p = fdg.SelectedItems(1) & "\"
  fn = Dir(p & "リスト*.xlsx")
  Do While fn <> ""
    Set ws = Workbooks.Open(p & fn).Worksheets(1)
    ws.Columns(1).Insert
    Set r = ws.Cells(1).CurrentRegion
    n = r.Rows.Count
    fx = "roundup(row(1:" & n & ")/" & d & ",0)+" & Val(Mid(fn, 4)) / 1000
    r.Columns(1).Value = Evaluate(fx)
    c.Resize(n, r.Columns.Count).Value = r.Value
    Set c = c.Offset(n)
    ws.Parent.Close False
    fn = Dir()
  Loop
  
  Set r = wsCons.Cells(1).CurrentRegion
  r.Sort r.Columns(1)
  r.Columns(1).Delete xlToLeft

End Sub
・ツリー全体表示

【82395】Re:1フォルダ複数ブックExcelを指定した...
発言  いい E-MAIL  - 24/10/18(金) 9:30 -

引用なし
パスワード
   ▼マナ さん:

コメントありがとうございます
情報が足りておらず申訳ありません
インラインにて回答失礼いたします

>▼いい さん:
>・データを並べる順番は、ファイル名の番号順なのか。
→そうです

>・実際のファイル名は、リスト1、2・・・なのか。
→実際は異なりますが、リスト1、2・・・とすることも可能です

>各ファイルのシート数は?シート名は?
→シートは1シートのみ、シート名はデフォルトの「Sheet1」です

>・データの列数は決まっているのか。
→決まっております、
 2列(A、B)のみとなります

>・使用エクセルのバージョンは?
→以下となrます
 2019
 バージョン 2409
・ツリー全体表示

【82394】Re:1フォルダ複数ブックExcelを指定した...
回答  いい E-MAIL  - 24/10/18(金) 9:29 -

引用なし
パスワード
   ▼マナ さん:

コメントありがとうございます
情報が足りておらず申訳ありません
インラインにて回答失礼いたします

>▼いい さん:
>・データを並べる順番は、ファイル名の番号順なのか。
→そうです

>・実際のファイル名は、リスト1、2・・・なのか。
→実際は異なりますが、リスト1、2・・・とすることも可能です

>各ファイルのシート数は?シート名は?
→シートは1シートのみ、シート名はデフォルトの「Sheet1」です

>・データの列数は決まっているのか。
→決まっております、
 2列(A、B)のみとなります

>・使用エクセルのバージョンは?
→以下となrます
 2019
 バージョン 2409
>> 
>> 
>>
・ツリー全体表示

【82393】Re:1フォルダ複数ブックExcelを指定した...
発言  マナ  - 24/10/17(木) 19:45 -

引用なし
パスワード
   ▼いい さん:


・データを並べる順番は、ファイル名の番号順なのか。
・実際のファイル名は、リスト1、2・・・なのか。
各ファイルのシート数は?シート名は?
・データの列数は決まっているのか。
・使用エクセルのバージョンは?
> 
> 
>
・ツリー全体表示

3 / 3840 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free