Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
444to448
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
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Code Verbesserung

VBA Code Verbesserung
24.06.2004 19:47:37
Y. Housein
Hallo zusammen,
wie kann ich den folgenden Code verbessern?
For x = 26 To 55
Range("E" & x).Select
Artikelname$ = ActiveCell.Value
Range("d" & x).Select
Menge = ActiveCell.Value
Range("E" & x).Select
Sheets("artikel").Select
Range("B9").Select
Danke.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code Verbesserung
24.06.2004 19:50:29
Ulf
Was soll der Code überhaupt bewirken?
Ulf
AW: VBA Code Verbesserung
24.06.2004 19:56:36
Y. Housein
Ich möchte ohne selct befehlen arbeiten - ich weis aber nicht wodurch ich das ersetzten kann?
AW: VBA Code Verbesserung
24.06.2004 20:00:20
Ulf
Das ist nicht, was ich meine, was soll der Code überhaupt machen?
So wie er jetzt ist, werden zwei Variable 'zigmal mit anderen Werten
belegt.
Ulf
AW: VBA Code Verbesserung
24.06.2004 20:03:38
Y. Housein
Das Ziel ist es von einer Tabelle Werte in einem anderen z. übertragen und dabei soll der performance gesteigert werden?
hier ein Teilcode:
For x = 26 To 55
Range("E" & x).Select
Artikelname$ = ActiveCell.Value
Range("d" & x).Select
Menge = ActiveCell.Value
Range("E" & x).Select
Sheets("artikel").Select
Range("B9").Select

'vermeide das ganze "hin-und her-"selektieren.
' Ersetze z.B.
' Range("E" & x).Select
' Artikelname$ = ActiveCell.Value
' durch
' Artikelname$ = Range("E" & x).Value

For a = 10 To ActiveCell.SpecialCells(xlLastCell).Row + 1
'Range("B" & A).Select
Artikelname1$ = Range("B" & a).Value

If Artikelname1$ = Artikelname$ Then
Range("H" & a).Select
Bestand = Range("H" & a).Value - Menge
ActiveCell.Value = Bestand
Range("B" & a).Select

Exit For
End If
Next a

Sheets("Rechnung").Select
Range("E" & x).Select

Next x

For y = 64 To 69
'Range("E" & y).Se/lect
'Artikelname$ = ActiveCell.Value
Artikelname$ = Range("E" & x).Value

'Range("d" & y).Select
Menge = Range("d" & y).Value
Range("E" & y).Select


'-----------------------------------------------------------------------
Sheets("artikel").Select
Range("B9").Select

For B = 11 To ActiveCell.SpecialCells(xlLastCell).Row + 1
Range("B" & B).Select
Artikelname1$ = ActiveCell.Value

If Artikelname1$ = Artikelname$ Then
Range("K" & B).Select
Bestand = ActiveCell.Value + Menge
ActiveCell.Value = Bestand
Range("B" & a).Select

Exit For

End If

Next B


Sheets("Rechnung").Select
Range("E" & x).Select

Next y
Anzeige
NOCH OFFEN mT
24.06.2004 20:13:53
Ulf
Tut mir Leid, da sehe ich nicht durch.
Ulf
AW: NOCH OFFEN mT
24.06.2004 20:18:53
Y. Housein
Trotzdem Danke.
AW: NOCH OFFEN mT
24.06.2004 20:30:40
andre
Hallo Y,
Die Lösung steckt doch schon in Deinem Code:
'vermeide das ganze "hin-und her-"selektieren.
' Ersetze z.B.
' Range("E" & x).Select
' Artikelname$ = ActiveCell.Value
' durch
' Artikelname$ = Range("E" & x).Value
Du sollst also aus 2 Zeilen eine machen und das musst Du dann auch mal tun.
Wenn Du Daten von einem Blatt in ein anderes haben willst kannst Du es weiter vereinfachen, da brauchst Du die Variablen nicht.

Sub test()
'überträgt die Werte aus Tabelle 1 Spalte A Zeile 1-10 nach Tabelle2
'Spalte B Zeile 2-11
For i = 1 To 10
Sheets("Tabelle2").Cells(i + 1, 2) = Sheets("Tabelle1").Cells(i, 1)
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige