2017-04-16 33 views
0

Ich versuche, eine URL zu erstellen, die sich ändert, basierend auf was ich in Zelle "A1" setze, aber ich bekomme immer einen Kompilierfehler "Constant Ausdruck erforderlich".konstanter Ausdruck erforderlich - vba

Der Fehler ist in der zweiten Zeile bei "Banana".

banana = Range("A1") 

Const URL As String = "http://openinsider.com/screener?s=" & banana & "&o=&pl=&ph=&ll=&lh=&fd=730&fdr=&td=0&tdr=&fdlyl=&fdlyh=&daysago=&xp=1&xs=1&vl=&vh=&ocl=&och=&sic1=-1&sicl=100&sich=9999&grp=0&nfl=&nfh=&nil=&nih=&nol=&noh=&v2l=&v2h=&oc2l=&oc2h=&sortcol=0&cnt=100&page=1" 
Const READYSTATE_COMPLETE As Integer = 4 

Antwort

2

VBA erwartet eine Const URL, aber sie versuchen, es tatsächlich als dynamische Variable String zu verwenden, nicht Const.

Wenn Sie Ihre URL dynamisch sein entsprechend dem Wert in Range("A1"), verwenden Sie den Code unten:

Dim banana As String 
Dim URL As String 

banana = Range("A1").Value 
URL = "http://openinsider.com/screener?s=" & banana & "&o=&pl=&ph=&ll=&lh=&fd=730&fdr=&td=0&tdr=&fdlyl=&fdlyh=&daysago=&xp=1&xs=1&vl=&vh=&ocl=&och=&sic1=-1&sicl=100&sich=9999&grp=0&nfl=&nfh=&nil=&nih=&nol=&noh=&v2l=&v2h=&oc2l=&oc2h=&sortcol=0&cnt=100&page=1" 
-1

Eigentlich Fehler, den Sie bekommen, weil, wenn Sie eine Konstante deklarieren, wird der Wert geben Sie es muss sein auch konstant. Sie können keine Konstante mit einer Variablen deklarieren.

So wie diese erklären,

Dim Banane als String Dim URL als String

Banane = Blätter (1) .Range ("A1"). Wert

Verwendung entweder If oder Select Case hier seit URL per Wertänderungen A1 ändern,

URL = "https://as.com"

Dann anderer Code.

+0

Ein 'If' oder' Select Case' ist nicht erforderlich, weil sich der Wert einer Variablen ändern kann. Aus diesem Grund haben Programmiersprachen Variablen - damit sie im Code verwendet werden können und dieser Code den aktuellen Wert der Variablen verwendet. – YowE3K

+0

Bitte überprüfen Sie die ursprüngliche Frage ,, Person hat geschrieben, die URL wird sich ändern, wenn der Wert in A1 wird und dies kann nur durch den Test der A1, logisch ausgeführt werden. –

+0

Nein, Sie können eine Anweisung wie "URL =" http://openinsider.com/screener?s= "& banana &" & o = & pl = & page = 1 "' schreiben, die URL auf die Zeichenfolge setzt '" http://openinsider.com/screener?s= "' verkettet mit dem aktuellen Wert der Variablen 'banana' verkettet mit der Zeichenkette' "& o = & pl = & page = 1" '. Sie können natürlich keine Variable in den Wert einer Konstanten einbeziehen, aber vorausgesetzt, dass "URL" eine Variable und keine Konstante ist, können Sie mit einer Variablen "URL" berechnen. Siehe [die Antwort von @ShaRado] (http://Stackoverflow.com/a/43439970/6535336) für die korrekte Vorgehensweise. – YowE3K

Verwandte Themen