Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1556to1560
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
Inhaltsverzeichnis

verschieben löschen

verschieben löschen
11.05.2017 11:04:15
Michael
Hallo,
ich bekomme die Meldung "Mehrfachdeklaration ...."
Wie kann ich folgenden Code zusammenfassen?
Dim i As Long, Firma As String, LastRow As Long
MyFirma = "RÖHM" 'hier den String ändern in den Firmenname, der gesucht werden soll !! _
gross/Kleinschreibung beachten !!
With ActiveSheet
LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row 'definiert LastRow (letzte Reihe) auf Basis Spalte L
End With
For i = 1 To LastRow
If Cells(i, 9).Value = Firma Then 'i, 9 ist Spalte I
Cells(i, 10).Value = Cells(i, 12) 'i, 10 ist Spalte J und i, 12 ist Spalte L
Cells(i, 12).ClearContents
End If
Next i
'Hier wird in Spalte L "STD" gesucht. Wenn in Spalte STD gefunden wird, dann werden die Zellen H, I und J daneben geleert
Dim i As Long, Zulieferer As String, LastRow As Long
Zulieferer = "STD" 'hier den String ändern in den Firmenname, der gesucht werden soll !! _
gross/Kleinschreibung beachten !!
With ActiveSheet
LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row 'definiert LastRow (letzte Reihe) auf Basis Spalte L
End With
For i = 1 To LastRow
If Cells(i, 12).Value = Zulieferer Then 'i, 12 ist Spalte L
Cells(i, 8).ClearContents
Cells(i, 9).ClearContents
Cells(i, 10).ClearContents
End If
Next i

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: verschieben löschen
11.05.2017 11:10:42
yummi
Hallo Michael,
Mehrfachdeklaration heisst: Du hast eine Variable mehrfach deklariert :-) oder auf deutsch es gibt 2 dim zeilen mit dem selben Variablennamen in ein und der selben Funktion. Einfach die 2. Deklaration löschen.
Gruß
yummi
AW: verschieben löschen
11.05.2017 11:13:36
Michael
Hi yummi,
kann ich nicht löschen, ich brauche das doch
AW: verschieben löschen
11.05.2017 11:23:57
Michael
Hallo Michael!
Natürlich kannst Du die doppelten Deklarationen löschen; yummi hat Dich da schon korrekt beraten.
In Deinem Fall sind es die Variablen i und LastRow; beide deklarierst Du einmal. Wie oft Du diese Variablen dann in Deinem Code verwendest ist unerheblich, denn die Dimensionierung (hier als Long-Wert) bleibt bestehen, und Zuweisungen erfolgen sowieso gesondert.
    Dim i As Long, Firma As String, LastRow As Long, Zulieferer As String
'hier den String ändern in den Firmenname, der gesucht werden soll !! gross/Kleinschreibung  _
beachten !!
MyFirma = "RÖHM"
With ActiveSheet
'definiert LastRow (letzte Reihe) auf Basis Spalte L
LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
End With
For i = 1 To LastRow
'i, 9 ist Spalte I
If Cells(i, 9).Value = Firma Then
Cells(i, 10).Value = Cells(i, 12) 'i, 10 ist Spalte J und i, 12 ist Spalte L
Cells(i, 12).ClearContents
End If
Next i
'Hier wird in Spalte L "STD" gesucht. Wenn in Spalte STD gefunden wird, dann werden die  _
Zellen H, I und J daneben geleert
'hier den String ändern in den Firmenname, der gesucht werden soll !! gross/Kleinschreibung  _
beachten !!
Zulieferer = "STD"
With ActiveSheet
'definiert LastRow (letzte Reihe) auf Basis Spalte L
LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
End With
For i = 1 To LastRow
'i, 12 ist Spalte L
If Cells(i, 12).Value = Zulieferer Then
Cells(i, 8).ClearContents
Cells(i, 9).ClearContents
Cells(i, 10).ClearContents
End If
Next i
Am Bsp. von i: Dies ist ein Long, d.h. Du kannst dieser Variablen zB nicht "IchBinEinString" zuordnen, was Du auch nicht tust. D.h. bei der ersten Schleife läuft i von 1 bis LastRow, sagen wir mal 350. Am Ende dieser Schleife ist i eben 350, aber immer noch ein Long-Wert! D.h. neu dimensionieren musst Du hier nicht; in der nächsten Schleife wird i aber gleich wieder auf 1 gesetzt und läuft wieder bis LastRow. Klar?
Lg
Michael
Anzeige
AW: verschieben löschen
11.05.2017 11:34:47
Michael
Hallo Michael,
super - VIELEN DANK, sehr gut erklärt. So einen Lehrer bräuchte ich für mein vba "Studium"
Ich füge halt vom makrorecorder erstelle codes zusammen, aber das allermeiste verstehe ich nicht.
Danke nochmals
AW: Weiterführend...
11.05.2017 12:34:00
Michael
...könntest Du Dir ja zB mal das hier zu Gemüte führen: https://de.wikibooks.org/wiki/VBA_in_Excel
bzw. eine der vielen anderen Online-Ressourcen zu VBA.
Und ergänzend dann natürlich hier im Forum vorbeischauen.
LG
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige