Microsoft Excel

Herbers Excel/VBA-Archiv

Variable definieren ???

Betrifft: Variable definieren ??? von: Silvi
Geschrieben am: 23.05.2005 13:20:22

Hallo und vielen Dank an alle Helfer!
Hab schon ein paar mal wegen diesem Makro geschrieben, muß jetzt nur noch wissen wie ich eine Variable deklariere.

#

Sub vergleichen3()
Dim i, lz As Integer

'Dim b, ????? weiß nicht was hier eingesetzt werden muß

   Dim c, Wert As Variant
Worksheets("Tabelle2").Activate
With Sheets("Tabelle3")
        For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        For b = 2 To 11
        Wert = Cells(i, b)
        lz = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Set c = Sheets("Start").Columns(1).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then .Cells(lz, 1) = Cells(i, 1): .Cells(lz, b) = Cells(i, b)
        Next b
        Next i
        End With

End Sub
#

Gruß
Silvi
  


Betrifft: AW: Variable definieren ??? von: Fritz
Geschrieben am: 23.05.2005 13:38:58

Hi Silvi,

"b" ist ein Zähler, also Integer-Variable, für die Spalten in Deinem VBA-Code.


Dim b As integer



Fritz


  


Betrifft: AW: Variable definieren ??? von: u_
Geschrieben am: 23.05.2005 13:42:25

Hallo,
in dem Fall reicht Dim b As Byte
i und lz solltest du aber als Long deklarieren falls die Tab mehr als 32767 Zeilen haben kann.
Sub vergleichen3()
Dim i As Long, lz As Long
Dim b as Byte
Dim c As Range, Wert As Variant

Worksheets("Tabelle2").Activate
With Sheets("Tabelle3")
        For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        For b = 2 To 11
        Wert = Cells(i, b)
        lz = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Set c = Sheets("Start").Columns(1).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then .Cells(lz, 1) = Cells(i, 1): .Cells(lz, b) = Cells(i, b)
        Next b
        Next i
        End With
End Sub


Gruß

Geist ist geil!


  


Betrifft: AW: Variable definieren ??? von: Tobias Marx
Geschrieben am: 23.05.2005 13:44:55

Hi Silvi,

die Variable ist eine Integer-Variable, da du mit ihr hochzaehlst. Wenn du allerdings alle Variablen deklarierst, solltest du im oberen Teil ein
Option Explicit

angeben - damit nimmt VBA nur Variablennamen an, die davor schon deklariert wurden. Das schuetzt dich bei groesseren Makroprojekten vor Fehlern.

Also, einfach
Option Explicit

Dim i, lz, b As Integer

Gruessle

Tobias


  


Betrifft: Frage natl. nicht mehr offen... (o.T.) von: Tobias Marx
Geschrieben am: 23.05.2005 13:45:32

nix


  


Betrifft: @Tobias von: Kurt
Geschrieben am: 23.05.2005 13:54:18

hi Tobias,
Auszug aus der Hilfe:

Sie können mehrere Variablen in einer Anweisung deklarieren. Wenn Sie einen Datentyp angeben möchten, müssen Sie den Datentyp für jede Variable angeben. In der folgenden Anweisung werden die Variablen intX, intY und intZ als Integer deklariert.

Dim intX As Integer, intY As Integer, intZ As Integer

In der folgenden Anweisung werden intX und intY als Variant, und nur intZ als Integer deklariert.

Dim intX, intY, intZ As Integer

Sie müssen die Datentypen der Variablen in der Deklarationsanweisung nicht angeben. Wenn Sie den Datentyp nicht angeben, so wird die Variable auf den Typ Variant festgelegt

...und Tschüss Kurt


  


Betrifft: AW: @Tobias von: Tobias Marx
Geschrieben am: 23.05.2005 13:56:23

Servus Kurt,

mea culpa, hab ich selbst nicht gewusst. Danke fuer den Hinweis (jetz versteh ich auch die Fehlermeldungen, die ich manchmal bekomm...).

Gruss

Tobias


  


Betrifft: AW: Variable definieren ??? von: MichaV
Geschrieben am: 23.05.2005 13:55:41

Hi Tobias,

nur als Hinweis:

' Mehrere Deklarationen in einer Zeile. AndereVar hat den Typ
' Variant, da kein Typ angegeben wird.
Dim AndereVar, Auswahl As Boolean, GebDatum As Date

Gruss- Micha


  


Betrifft: AW: Variable definieren ??? von: Tobias Marx
Geschrieben am: 23.05.2005 13:57:13

Servus Micha,

Kurt hat mich auch schon drauf hingewiesen - danke Dir trotzdem, wusst ich bisher noch nich :-)

Gruss

Tobias


  


Betrifft: AW: Variable definieren ??? von: MichaV
Geschrieben am: 23.05.2005 14:05:39

Hi,

ja, da hat sich was überschnitten...

Mich würde ja nun aber interessieren, welche Fehlermeldungen Du bekommst, wenn Du eine Variable als Variant deklarierst. Ich dachte, das geht immer, ist nur langsamer.

Gruss- Micha


  


Betrifft: AW: Variable definieren ??? von: Tobias Marx
Geschrieben am: 23.05.2005 14:08:47

Servus!

Also konkret kann ich dir jetzt kein Beispiel nennen, da ich alle Fehler diesbezueglich irgendwie immer unter Kontrolle bekommen hab, aber ich hatte teilweise Fehler, die mir sagten, dass irgendein Laufzeitfehler aufgetreten sei, den ich nicht erklaeren konnte.
Wenn ich mal wieder so nen Exot "produzieren" kann, geb ich dir auf jeden Fall im Offtopic-Forum Bescheid.

Gruss

Tobias


 

Beiträge aus den Excel-Beispielen zum Thema "Variable definieren ???"