Anzeige
Archiv - Navigation
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
604to608
604to608
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie deklariere ich eine Variable?

Wie deklariere ich eine Variable?
02.05.2005 09:34:51
KH
Hallo!
Würde gerne wissen, wie ich die Variable "a" deklarieren muss, damit das Programm funktioniert! Wenn ich es als Sring deklariere geht es nicht. Oder muss man noch etwas anderes beachten, wenn man die Spalten von A bis R als Wert verwenden will?
Das vereinfachte Programm:
Dim i As Integer
For a = A To R
For j = 14 To 30
MsgBox (a & j)
Next j
Next a

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie deklariere ich eine Variable?
02.05.2005 09:46:41
MichaV
Hi,
für Dein Beispiel wäre das besser:

Dim a As Integer
Dim j As Integer
For a = 1 To 18
For j = 14 To 30
MsgBox Chr(64 + a)& CStr(j)
Next j
Next a

Gruß- Micha
PS: ich gehe mal davon aus, daß Du Dich bei der Angabe Deines Levels nur vertippt hast.
Läuft schon ganz gut, aber Prob mit Schleife
02.05.2005 10:29:48
KH
Danke erstmal für alle bisherigen Antworten. Hab mal diese hier umgesetzt.
Wenn ich den Teil ab "for a =" bis "Next a" herausnehme wird der Wert b immer richtig ausgelesen (hab ich per MsgBox überprüft). Sobald ich aber das ganze Makro laufen lasse wird noch der erste Wert für b richtig ausgelesen und anschliessend (bei D11) nicht mehr. Da bekomme ich für b gar nichts mehr zurück und dementsprechend durchläuft das System die If-Schleife nicht mehr. Kann es sein, daß ich zuviele Schleifen drin hab?
Dim i As Integer
Dim HV As Integer
Dim j As Integer
Dim a As Integer
z = Range("D65536").End(xlUp).Row
For i = 10 To z + 1
b = Range("D" & i).Value
If b = "HV Süd" Then
Objektnummer = Range("A" & i).Value
For a = 4 To 4
For j = 14 To 16
Sheets("Ausgabe_Sued_GuV").Select
Range(Chr(64 + a) & CStr(j)).Select
ActiveCell.Replace What:="=0+0", Replacement:= _
"=0+0+'Ausgabe_Nr " & Objektnummer & "_GuV'!" & Chr(64 + a) & CStr(j), LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next j
Next a
End If
b = ""
Next i
Danke!
PS: Das mit dem Level ist so ne Sache. Hab ein paar Kenntnisse, aber gut sind sie halt auch noch net. Stellt sich halt die Frage, was man dann angibt.
Anzeige
Problem gelöst ;-)
02.05.2005 10:35:27
KH
Habe vergessen mich wieder in das richtige Tabellenblatt zu begeben.
Vielen Dank an alle, die geholfen haben!
Viele Grüße,
KH
AW: Problem gelöst ;-)
02.05.2005 10:44:35
MichaV
Hi,
na fein. Ich hab gerade noch ein paar Dinge aufgeschrieben, das soll nicht umsonst gewesen sein. Du machst es Dir sehr schwer. Schau mal, ob das für Dich (und andere) nicht übersichtlicher ist:
b = Range("D" & i).Value entspricht: b=Cells(i,4).value
Range(Chr(64 + a) & CStr(j)).Select entspricht: Cells(j,a).Select
Auf Select kannst Du im Normalfall verzichten, dann gehts schneller und sieht am Bildschirm auch viel besser aus:
Schreib anstelle der Select- Zeilen gleich Sheets("Ausgabe_Sued_GuV").Cells(j,a).Replace ....
und das b="" kannst Du weglassen, die Sub ist dahinter sowieso zuende.
Gruß und Frohes Schaffen noch! Micha
Anzeige
AW: Problem gelöst ;-)
02.05.2005 13:52:09
KH
Danke!
Ich werd versuchen Deine Tips in Zukunft umzusetzen.
Gruß,
KH
AW: Wie deklariere ich eine Variable?
02.05.2005 09:49:30
Galenzo
Kommt drauf an, welche Werte deine Variable a annehmen kann:
Schaust du am besten mal in die VBA-Hilfe, Suchwort "Datentypen" 1. Link (und dann unter "siehe auch)
Byte,Integer,Long,Single,Double
Viel erfolg!
AW: Wie deklariere ich eine Variable?
02.05.2005 09:53:27
Galenzo
mir fällt grade noch auf: Sollen A bis R etwa Buchstaben sein?
Dann nimmst du einen "Umweg" über die Funktion CHR
Dim a as Integer
Dim i as integer
for a = 65 to 82
for i= 1 to 2
msgbox chr(a) & i
next i
next a
Viel Erfolg!
AW: Wie deklariere ich eine Variable?
02.05.2005 09:50:04
u_
Hallo,
das geht so nicht. Du kannst in einer Schleife keine Buchstabenfolgen durchlaufen.
Allenfalls so:
for a=columns("A").Column to Columns("R").Column
for J=14 to 30
msgbox cells(j,a).address(0,0)
next j
next a
Gruß
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige