Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe für richtige Syntax

Hilfe für richtige Syntax
27.05.2005 12:30:43
Torsten
Hallo beisammen,
ich brauche Eure Hilfe, um folgende Zeilen in der richtigen Syntax schreiben zu können:
With ActiveSheet
For i = 5 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If .Cells(i, 8) = IsNumeric Then
Next i
End If
If .Cells(i, 8) IsNumeric And .Cells(i, 9) IsNumeric Then
Range(i & 9 : i & 38).Cut Destination:=Range("i & 7 : i & 36)
'Range("I5:AL5").Cut Destination:=Range("G3:AJ3")
Else
End If
If .Cells(i, 8) IsNumeric And .Cells(i, 9) = IsNumeric Then
Range(i & 8 : i & 38).Cut Destination:=Range("i & 7 : i & 37)
'Range("H5:AL5").Cut Destination:=Range("G3:AJ3")
Else
End If
Next i
End With
Genau geht es mir um die ".Cut Destination"Zeile: Dort soll der Range dem darunter angezeigten, auskommentierten Range entsprechen. Allerdings paßt Excel meine Syntax noch nicht.
Vielen Dank für Eure im Hilfe im voraus.
Gruß
Torsten

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

Betreff
Datum
Anwender
Anzeige
RANGE(CELLS(9, i), CELLS(38, i))
27.05.2005 13:07:19
Frigo
Hallo Torsten,
mit dem "&" werden Zeichen miteinander verkettet. Wenn i als Zählvariable z.B. 5 zugewiesen ist, wird aus i & 8 einfach nur "58". Da 58 keine Zelle beschreibt, hat Excel Probleme.
Arbeite einfach mit cells(Zeile, Spalte):
RANGE(CELLS(9, i), CELLS(38, i)).CUT ...
das würde bei i = 5 entsprechen
RANGE("I5":"AL5").CUT ...
Frigo
AW: RANGE(CELLS(9, i), CELLS(38, i))
27.05.2005 13:33:33
Torsten
Hallo Frigo,
vielen Dank für Deine Rückmeldung.
Nach Einbau Deiner Lösung bleibt Excel leider an der Stelle "IsNumeric hängen" mit der Meldung "Argument ist nicht optional". Wie muß denn Abfrage lauten, wenn ich eine Zelle darauf hin prüfen möchte, ob der Inhalt numerisch ist?
Gruß
Torsten
Anzeige
isnumeric(prüfwert)
27.05.2005 13:48:41
Frigo
Syntax muss lauten
If isnumeric(.Cells(i, 8)) And isnumeric(.Cells(i, 9)) Then
Frigo
siehe Antwort weiter unten... (o.T.)
27.05.2005 13:49:59
Klaus
O.T.
AW: Hilfe für richtige Syntax
27.05.2005 13:41:49
Klaus
Hallo Torsten,
du bringst anscheinend die Argumente von Cells und Range ein wenig durcheinander.
Ich habe wegen der besseren Übersicht deine Variable "i" durch "Zeile" ersetzt, damit die Prozedur etwas verständlicher wird.
Außerdem habe ich den Code noch etwas geändert, mußt du natürlich so nicht übernehmen.

Sub Torsten()
Dim Zeile As Integer
With ActiveSheet
For Zeile = 5 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If .Cells(Zeile, 8) <> IsNumeric Then
If .Cells(Zeile, 9) <> IsNumeric Then
'Version 1
Range(Cells(Zeile, 9), Cells(Zeile, 38)).Cut Destination:=Range(Cells(Zeile, 7), Cells(Zeile, 36))
'Version 2
'Range("I" & Zeile & ":AL" & Zeile).Cut Destination:=Range("G" & Zeile & ":AJ" & Zeile)
'Range("I5:AL5").Cut Destination:=Range("G3:AJ3")
Else
'Version 1
Range(Cells(Zeile, 8), Cells(Zeile, 38)).Cut Destination:=Range(Cells(Zeile, 7), Cells(Zeile, 36))
'Version 2
'Range("H" & Zeile & ":AL" & Zeile).Cut Destination:=Range("G" & Zeile & ":AJ" & Zeile)
'Range("H5:AL5").Cut Destination:=Range("G3:AJ3")
End If
End If
Next i
End With
End Sub

Gruß Klaus
Anzeige
Berichtigung ...
27.05.2005 13:48:19
Klaus
Hallo Torsten,
hatte meinen Code nicht getestet, IsNumeric muss anders verwendet werden:

Sub Torsten()
Dim Zeile As Integer
With ActiveSheet
For Zeile = 5 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Not (IsNumeric(.Cells(Zeile, 8))) Then
If Not IsNumeric(.Cells(Zeile, 9)) Then
'Version 1
Range(Cells(Zeile, 9), Cells(Zeile, 38)).Cut Destination:=Range(Cells(Zeile, 7), Cells(Zeile, 36))
'Version 2
'Range("I" & Zeile & ":AL" & Zeile).Cut Destination:=Range("G" & Zeile & ":AJ" & Zeile)
'Range("I5:AL5").Cut Destination:=Range("G3:AJ3")
Else
'Version 1
Range(Cells(Zeile, 8), Cells(Zeile, 38)).Cut Destination:=Range(Cells(Zeile, 7), Cells(Zeile, 36))
'Version 2
'Range("H" & Zeile & ":AL" & Zeile).Cut Destination:=Range("G" & Zeile & ":AJ" & Zeile)
'Range("H5:AL5").Cut Destination:=Range("G3:AJ3")
End If
End If
Next Zeile
End With
End Sub

Gruß Klaus
Anzeige
AW: erledigt - Vielen Dank Euch beiden - Gruß Tors
27.05.2005 14:01:44
Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige