Excel VBA質問箱 IV

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

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


153 / 3841 ページ ←次へ | 前へ→

【79419】Re:ユーザー定義関数の中でセルの値を参...
発言  マナ  - 17/10/13(金) 20:25 -

引用なし
パスワード
   ▼りった さん:

>何かうまい回避策有りますでしょうか?

application.volatile を使うとできますが、
無関係のセルが変更されても再計算されてしまいますので
うまいとは言えないです。
・ツリー全体表示

【79418】ユーザー定義関数の中でセルの値を参照す...
質問  りった  - 17/10/13(金) 12:18 -

引用なし
パスワード
   ユーザー定義関数の中でセルの値を参照すると(引数にしないと)、セルの値が変わっても再計算されないようです。
多数のセルを参照して値が決まる情報が有り、その情報を各所で使うため引数なしで使いたいのですが、再計算されないのでは困ります。
何かうまい回避策有りますでしょうか?

イメージ:
下記、1.ではなく2.の形で書きたいが、2.にすると販売員役職CD等が変わっても再計算されない。
1.最高値引き率(販売員役職CD,定価,商品カテゴリー,顧客ID)*定価*数量
2.最高値引き率()*定価*数量

(販売員役職CD,定価,・・・は、名前定義したセル)
・ツリー全体表示

【79417】回答がつかないのでaccessの掲示板に移動...
お礼  りった  - 17/10/12(木) 9:55 -

引用なし
パスワード
   回答がつかないのでaccessの掲示板に移動します。
・ツリー全体表示

【79416】Re:最終行が変動する際のコピー方法につ...
発言  りった  - 17/10/11(水) 12:56 -

引用なし
パスワード
   いまいちやりたいことがわからないのですが、こういうことですか?

式の例(B1):="03-1234-" & A1

(マクロ実行前)
 A  B
1 2363 03-1234-2363
2 3432 03-1234-3432
3 5323
4 8325
5 2593

(マクロ実行後)
 A  B
1 2363 03-1234-2363
2 3432 03-1234-3432
3 5323 03-1234-5323
4 8325 03-1234-8325
5 2593 03-1234-2593
・ツリー全体表示

【79415】access連携 列名追加を簡単にするには?
質問  りった  - 17/10/11(水) 12:40 -

引用なし
パスワード
   縦にも横にもでっかいEXCELの表(以下、DB.xls)をAccess化しようとしています。
1件ずつの処理をするためのファイル(以下、FORM.xls)のB列のvalueは、
tableの列名と一致しています。
尚、上記、tableの列名を入力した範囲(FORM.xlsのB列)に、名前定義がされています。
指定したIDの情報を読む処理を考えているのですが、動的(※)に記述することは可能でしょうか?

※ 下記だけで、新規属性(DBの列)追加が出来る状態。
  FORM.xlsに行を挿入してB列にtableの列名を追加、DBのtableに列を追加

尚、守秘義務の都合で、実際のマクロよりかなり簡略化しています。

Sub sample()
  Dim DBpath As String
  Dim adoCn As ADODB.Connection ' ADOコネクションオブジェクト
  Dim adoRs As ADODB.Recordset ' ADOレコードセットオブジェクト
  Dim strSQL As String
  Dim ws As Worksheet
  
  Set ws = Sheet1
  ws.Cells.ClearContents
  
  DBpath = "C:\sample.accdb"
  Set adoCn = CreateObject("ADODB.Connection") 'ADOコネクションオブジェクトを作成
  Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクトを作成
  adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBpath & ";"
  strSQL = "SELECT * FROM TSUKANIRAI WHERE ID = " & ws.Range("ID")
  adoRs.Open strSQL, adoCn
  
  ws.Range("C3").Value = adoRs!NO  ' ← この「NO」等が文字列であれば、やりようがあるのですが...
  ws.Range("C4").Value = adoRs!HANBAIBI
  ws.Range("C5").Value = adoRs!CUSTOMER_NAME
  ws.Range("C6").Value = adoRs!CUSTOMER_ADD
  
  adoRs.Close
  adoCn.Close
  
  Set adoRs = Nothing
  Set adoCn = Nothing
  
End Sub
・ツリー全体表示

【79414】Re:ワイルドカードの使い方
発言  マナ  - 17/10/7(土) 13:50 -

引用なし
パスワード
   あぁ、コードはいただきものでしたか。
・ツリー全体表示

【79413】Re:ワイルドカードの使い方
お礼  インザーギ  - 17/10/7(土) 11:58 -

引用なし
パスワード
   説明不足が多々あり申し訳ありません。
問題解決でき、参考になりました。
・ツリー全体表示

【79412】Re:ワイルドカードの使い方
発言  γ  - 17/10/7(土) 11:39 -

引用なし
パスワード
   >ワイルドカードを使用して、取得できるように試みましたが上手く取得できません。

・ワイルドカードをどのように使用したのですか?
・上手くできないとは、どのようなことですか?
 エラーが発生しているのですか?
 それとも想定と異なる結果なんですか?
 どんな結果を想定して、どんな結果になってしまっているのですか?
説明をしてください。
・ツリー全体表示

【79411】Re:ワイルドカードの使い方
発言  マナ  - 17/10/7(土) 11:19 -

引用なし
パスワード
   ▼インザーギ さん:

"264.*.jpg"

で、あってると思いますが?


B16セルに、264.*.jpg と入力
または、
If k = 16 Then sfile = "264.*.jpg"
または、
If k = 16 Then Mid(sfile, 5) = "*"
・ツリー全体表示

【79410】ワイルドカードの使い方
質問  インザーギ  - 17/10/7(土) 10:20 -

引用なし
パスワード
   指定したのファイルを取得して、指定したコピー先にコピーするマクロを
作成していますが、ファイルが一部取得できません。

B15に"NN.jpg"
B16に"264.5.jpg"
B17に"mm.jpg"
の文字列が入力されています。
B16の文字列の5桁目だけ数字が変化します。
ワイルドカードを使用して、取得できるように試みましたが上手く取得できません。下記のコードでどのように変更すれば良いでしょか。


  Dim myFso As Object
  Dim k As Integer
  Dim sfile As String
  Dim sfolder As String
  Dim dfile As String
  Dim dfolder As String
  Dim sPath As String
  Dim dPath As String
  Dim f As String
Set myFso = CreateObject("Scripting.FileSystemObject")
'ファイル名、フォルダ名
  For k = 15 To 17
    sfile = Cells(k, "B").Value
    sfolder = Cells(k, "C").Value
    dfile = Cells(k, "D").Value
    dfolder = Cells(k, "E").Value
    sPath = sfolder & "\" & sfile
    
    ' sfileワイルドカード対応("264.*.jpg" などの入力)
    f = Dir(sPath)
    sPath = sfolder & "\" & f
    dPath = dfolder & "\" & dfile


  '転記先ファイルの削除(念のため)
   If myFso.fileexists(dPath) Then myFso.GetFile(dPath).Delete Force:=True
  'ファイル移動
  If myFso.Folderexists(dfolder & "\") Then
  
   myFso.copyFile sPath, dPath
  End If

  Next
End Sub
・ツリー全体表示

【79409】Re:セルの名前の定義名取得
お礼  りった  - 17/10/5(木) 22:48 -

引用なし
パスワード
   おぉなるほど。
セルからNameを取れるとは、考えもしませんでした。
名前定義は確実にされているので、今回の件にちょうどいいやり方です。
ありがとうございます。
・ツリー全体表示

【79408】Re:セルの名前の定義名取得
発言  マナ  - 17/10/5(木) 19:59 -

引用なし
パスワード
   ▼りった さん:

ActiveCell.Value = ActiveCell.Name.Name

名前定義されていないセルを選択して実行するとエラーになります
・ツリー全体表示

【79407】セルの名前の定義名取得
質問  りった  - 17/10/5(木) 13:00 -

引用なし
パスワード
   特定セルの名前定義の定義名を取得する方法を教えてください。

背景:
かなりでっかい表が有り、日本語で見出しを書いたセルに、英数字で名前定義もしています。
Access化を検討しており、見出しを英数字のものにしたいです。
・ツリー全体表示

【79406】Re:アクティブセルと同番地の別シートの...
お礼  Charo  - 17/10/3(火) 16:27 -

引用なし
パスワード
   ありがとうございます。

Sub ボタン5_Click()
MsgBox Worksheets("2").Range(ActiveCell.Address(0, 0))
End Sub

これでうまくいきました。
大変ありがとうございました。
・ツリー全体表示

【79405】Re:アクティブセルと同番地の別シートの...
回答  カリーニン  - 17/10/3(火) 16:19 -

引用なし
パスワード
   色んな方法がありますが、一例です。

参考です。
ActiveCell.Address(0,0)
・ツリー全体表示

【79404】アクティブセルと同番地の別シートのセル...
質問  Charo  - 17/10/3(火) 14:39 -

引用なし
パスワード
   初心者ですがよろしくお願いします。

1つのBookに2つのシートがあります。
シート1のA1がアクティブの時にシート2のA1の内容をメッセージボックスに表示するフォームボタンを作りたいのです。

今はまだ、シート1のアクティブセルの内容をMsgboxに表示するところまでしかできていません。
Sub ボタン1_Click()
MsgBox ActiveCell.Value
End Sub

どのように書いたらよいか、ご指導願います。
・ツリー全体表示

【79403】Re:最終行が変動する際のコピー方法につ...
発言  マナ  - 17/10/1(日) 16:49 -

引用なし
パスワード
   これだけならば、with〜end withの必要ありませんでした。

Range("A1", Range("A" & Rows.Count).End(xlUp)).Offset(, 1).Formula = "=A1*2"
・ツリー全体表示

【79402】Re:最終行が変動する際のコピー方法につ...
発言  マナ  - 17/10/1(日) 13:01 -

引用なし
パスワード
   ▼Pさん さん:
Sub test()
  With Range("A1", Range("A" & Rows.Count).End(xlUp))
    .Offset(, 1).Formula = "=A1*2"
  End With
End Sub
・ツリー全体表示

【79401】最終行が変動する際のコピー方法について
質問  Pさん  - 17/10/1(日) 12:50 -

引用なし
パスワード
   最終行が変動するデータにおいて最終行までコピーをする方法が分からず困っております。

A1〜A*(最終行が変動するため*としてあります)まで値が入っており、
隣のB1〜B*(B1には数式が入っており同じ内容でB*まで下方向へコピーしたい)

これを実現するにはVBAでどのような記述をすれば良いでしょうか?
よろしくお願いいたします。
・ツリー全体表示

【79400】Re:昨日まで開けたvbaファイルが開けなく...
回答  エクセル素人  - 17/9/30(土) 16:39 -

引用なし
パスワード
   ありがとうございます!

教えていただいたURLの対応で無事動作するようになりました。
大変助かりました!
・ツリー全体表示

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