Excel-VBA-Inputbox - Auswahl (Typ 8), aber nicht mehr als einen festen Bereich, d.h. A1 nicht $A$1
Momentan habe ich folgende Zeile in meiner VBA
- code für ein Inputbox
:
Set myValues = Application.InputBox("Please select on the spreadsheet the first cell in the column with the values that you are looking for:", Type:=8)
Allerdings, wenn ich wählen Sie die Zelle automatisch Eingänge, z.B. $A$1
. Kann das geändert werden, ohne dass der Benutzer manuell löschen Sie die $, so dass der Inputbox
würde automatisch abholen die Zelle als Referenz A1
?
Ist es Teil eines automatisierten VLookup
makro funktioniert perfekt, abgesehen von der VLookup
Wert fest in die gesamte Spalte.
Vielen Dank im Voraus.
Update - Hier ist der vollständige code:
Dim FirstRow As Long
Dim FinalRow As Long
Dim myValues As Range
Dim myResults As Range
Dim myCount As Integer
Sub VlookupMacroNew()
Set myValues = Application.InputBox("Please select on the spreadsheet the first cell in the column with the values that you are looking for:", Default:=Range("A1").Address(0, 0), Type:=8)
Set myResults = Application.InputBox("Please select on the spreadsheet the first cell where you want your lookup results to start:", Type:=8)
myCount = Application.InputBox("Please enter the column number of the destination range:", Type:=1)
On Error Resume Next
myResults.EntireColumn.Insert Shift:=xlToRight
Set myResults = myResults.Offset(, -1)
FirstRow = myValues.Row
FinalRow = Cells(65536, myValues.Column).End(xlUp).Row
Range(myResults, myResults.Offset(FinalRow - FirstRow)).Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column).Address & ", " & _
"'S:\Payroll\CONTROL SECTION\[Latest Data.xls]Sheet1'!$A$1:$B$100" & ", " & myCount & ", False)"
myValues beginnen würde, in z.B. Zelle A2 da wir jedoch in der Arbeit mit dynamischen Listen, die ich brauchen würde die lookup-Wert zu ändern, A3, A4, A5 etc, da die Formel kopiert wird unten in der Liste. Durch die inputbox mit " $A$2 die lookup-Formel sieht nur auf diese Zelle verweisen.
Ich habe aktualisiert die Beschreibung, enthalten den vollständigen code, der für die Suche makro
InformationsquelleAutor Asim | 2012-11-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Tim sagt, Ihr Problem nicht mit der InputBox. Eher, wenn Sie die Formel für die gesamte Reihe auf einmal, nutzt es
FirstRow
für jede Zelle die Formel. Im Idealfall würden Sie verwenden.FormulaR1C1
auf die Formel festlegen. Dieses würde Ihnen erlauben, um die Formeln relative, das in einem Durchlauf.Die Lösung unten ändert Ihr code, um eine nicht-relative Adresse in die erste Zelle, und legt dann die Formeln in die restlichen Zellen gleich, dass in der ersten Zelle. Beim zuweisen von Formeln wie, dass es macht Sie relativ:
InformationsquelleAutor Doug Glancy
Dein Problem ist nicht mit der InputBox, aber das Verhalten der
Address()
Methode.Standardmäßig
Address()
ohne Parameter gibt eine absolute Adresse.zurück, die "nicht-Feste" - Reihe-Adresse.
InformationsquelleAutor Tim Williams