Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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

.offset

.offset
meixner
Hallo zusammen,
habe mit einem Makro ein Problem. Bekomme die Fehlermeldung 438. Objekt unterstützt diese Eigenschaft oder Methode nicht.
Falls zwei Spalten weiter links von Spalte H aus gesehen, nämlich die Spalte F leer ist, dann soll in Spalte H auch nichts eingetragen werden. Falls Spalte F befüllt ist, dann soll auch die Spalte H befüllt werden durch das , was ich in der Inputbox eingebe.
Spalte F Spalte H
Nr. ISIN NAME WP_Bestand Bezugspreis
1 ES0124244E34 ALLIANZ 5.641
2 ES0124244E34 ALLIANZ 35.387
Bezugspreis = Application.InputBox("Bezugspreis bitte eingeben:", "Dateneingabe:", , , , , , 1)
If Bezugspreis = False Then Exit Sub
If Worksheets(1).cell(0, -2).Offset "" Then Sheets(1).Cells(0, 1) = Bezugspreis (HIER LIEGT DER FEHLER)
Macht das fur euch Sinn? Sorry, falls nicht, aber das Makro ist ziemlich lang und das ist nur ein Bruchteil.
Vielen Dank für die Hilfe.
Dani.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: .offset
17.11.2009 13:56:54
Jens
Hallo
If Worksheets(1).cell(0, -2).Offset 
Diese Syntax ist falsch.
If Worksheets(1).Cells(Zeile, Spalte).Offset(0,-2) "" Then ...
Gruß Jens
AW: .offset
17.11.2009 14:28:20
meixner
und wie ist diese richtig?
If Worksheets(1).cell(0, -2).Offset = "" Then Sheets(1).Cells(0, 1) = Bezugspreis
Das geht aber auch nicht.
Viele Grüße
Dani
AW: .offset
17.11.2009 14:38:37
Jens
Hallo
Cells(0,1) gibt es nicht
Die Syntax ist Cells(Zeile, Spalte).
Cells(0,1) wäre dann Zeile 0 und Spalte 1 (A). Zeile 0 gibt es aber nicht.
Beschreibe mal, was Du vorhast. Mit genauen Zellenangaben.
Gruß aus dem Sauerland
Jens
Anzeige
AW: .offset
17.11.2009 14:50:04
meixner
die Range lautet (H8:H18)
Falls zwei Spalten weiter links von range(F8:f18) die spalte H8:H18 leer ist, dann soll in Spalte H auch nichts eingetragen werden. Falls z.B F8 befüllt ist, dann soll auch die H8 befüllt werden durch das , was ich in der Inputbox eingebe. Falls F9 befüllt ist, dann soll auch H9 befüllt werden...usw. bis F19 soll so vorgegangen werden.? Macht das für Dich Sinn?
Bezugspreis = Application.InputBox("Bezugspreis bitte eingeben:", "Dateneingabe:", , , , , , 1)
If Bezugspreis = False Then Exit Sub
If Worksheets(1).cell(1, -2).Offset = "" Then Sheets(1).Cells(0, 1) = "" else Bezugspreis
Anzeige
Nachfrage
17.11.2009 15:02:37
Jens
Hallo
Soweit habe ich das jetzt verstanden:
Du willst im 1. Tabellenblatt die Zellen in F8:F18 prüfen, ob dort etwas steht.
? Ist in den Zellen eine Formel hinterlegt ? Wenn ja, wie heißt die Formel ?
Wenn dort nichts steht (Zellen leer), dann möchtest Du in einer Inputbox etwas eingeben, was dann in der gleichen Zeile in Spalte H eingetragen wird.
? Soll immer das gleiche eingetragen werden, oder soll die Inputbox für jede Zelle, mit anderen Eingaben, neu eingetragen werden ?
Wann soll das denn geschehen? Über den Klick auf einen Button, oder bei einer Eingabe oder einer Änderung in dem Tabellenblatt?
Evtl. mal die Datei mit den Erläuterungen hochladen. Das sollte nicht schwer zu lösen sein.
Gruß aus dem Sauerland
Jens
Anzeige
AW: Nachfrage
17.11.2009 15:13:31
meixner
Hallo Jens,
nein, es soll immer das Gleiche eingetragen werden, nämlich der Bezugspreis, den ich nur einmal am Anfang in die Inputbox eingebe. Die Inputbox rufe ich über ein Makrobutton auf.
Bezugspreis = Application.InputBox("Bezugspreis bitte eingeben:", "Dateneingabe:", , , , , , 1)
If Bezugspreis = False Then Exit Sub
Bsp. Über den Button rufe ich die Inputbox auf und gebe dort z.B 2,5 € als Bezugspreis ein. Jetzt wird überprüft, ob in der Range(F8 : F18) irgendetwas eingetragen ist (evtl. steht dort eine Zahl, aber ohne Formel). Wenn in der F9 bspw. eine Zahl steht, dann soll in H8 diese 2,5 € eingetragen werden. Wenn
in der F9 wieder eine Zahl steht, dann soll in H9 auch wieder die 2,5 € eingetragen werden.
Die Datei hochzuladen macht glaube ich keinen Sinn, da ziemlich groß und das Makro auch sehr unübersichtlich und lang ist.
Vielen Dank
Dani.
Anzeige
AW: Nachfrage
17.11.2009 15:27:46
hary
Hi Dani
so? Wenn in F etwas steht dann Eintrag in H

Dim c As Range
Dim Bezugspreis
Bezugspreis = Application.InputBox("Bezugspreis bitte eingeben:", "Dateneingabe:", , , , , , 1)
If Bezugspreis = False Then Exit Sub
For Each c In Range("F8:F18")
If c  "" Then c.Offset(0, 2) = Bezugspreis
Next

gruss hary
@ Hary: Da fehlt das "NEXT" ;o) (oT)
17.11.2009 15:30:03
Jens
Sry,wer lesen kann, ist klar im Vorteil ;o) (oT)
17.11.2009 15:34:42
Jens
AW: Nachfrage
17.11.2009 15:27:49
Jens
Hallo Dani
Dann probier mal so:
Sub tt()
Dim Zelle As Range
Dim Bezugspreis
Bezugspreis = Application.InputBox("Bezugspreis bitte eingeben:", "Dateneingabe:", , , , , , 1)
If Bezugspreis = False Then Exit Sub
For Each Zelle In Range("F8:F18")
If Zelle  "" Then Zelle.Offset(0, 2) = Bezugspreis
Next Zelle
End Sub
Gruß aus dem Sauerland
Jens
Anzeige
AW: Nachfrage
17.11.2009 15:40:12
meixner
Hallo Jens,
super. Funktioniert einwandfrei!
Vielen Dank für deine Mühe!!!!
dani
Danke für die Rückmeldung (oT)
17.11.2009 15:46:18
Jens

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige