Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: A2<>"",dann I2=1 usw per VBA?

A2<>"",dann I2=1 usw per VBA?
21.06.2004 12:15:51
Peter
Hallo liebe Exceller und -innen,
ich habe folgendes vor und bräuchte dafür nen Code:
Wenn A2 "" dann I2= 1
Wenn A3 "" dann I3= 1
...
Wenn A10 "" dann I10= 2
Wenn A11 "" dann I11= 2
...
Wenn A18 "" dann I18= 3
Wenn A19 "" dann I19= 3
also zu deutsch wenn das entsprechende Feld in Spalte A gefüllt ist dann soll Spalte I die ersten 8 Zeilen mit 1, die nächten 8 Zeilen mit 2....usw gefüllt werden.
Ich krieg den Code net gebacken und bitte um Hilfe
Danke
Peter S.
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: A2<>"",dann I2=1 usw per VBA?
Ulf_MS
Hi Peter,
folgenden Code in die Tabelle in VBA

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If [a2] <> "" Then [i2] = 1
If [a3] <> "" Then [i3] = 1
If [a4] <> "" Then [i4] = 1
If [a5] <> "" Then [i5] = 1
If [a6] <> "" Then [i6] = 1
If [a7] <> "" Then [i7] = 1
If [a8] <> "" Then [i8] = 1
If [a9] <> "" Then [i9] = 1
If [a10] <> "" Then [i10] = 2
If [a11] <> "" Then [i11] = 2
If [a12] <> "" Then [i12] = 2
If [a13] <> "" Then [i13] = 2
If [a14] <> "" Then [i14] = 2
If [a15] <> "" Then [i15] = 2
If [a16] <> "" Then [i16] = 2
If [a17] <> "" Then [i17] = 2
If [a18] <> "" Then [i18] = 3
If [a19] <> "" Then [i19] = 3
If [a20] <> "" Then [i20] = 3
If [a21] <> "" Then [i21] = 3
If [a22] <> "" Then [i22] = 3
If [a23] <> "" Then [i23] = 3
If [a24] <> "" Then [i24] = 3
If [a25] <> "" Then [i25] = 3
If [a2] = "" Then [i2] = ""
If [a3] = "" Then [i3] = ""
If [a4] = "" Then [i4] = ""
If [a5] = "" Then [i5] = ""
If [a6] = "" Then [i6] = ""
If [a7] = "" Then [i7] = ""
If [a8] = "" Then [i8] = ""
If [a9] = "" Then [i9] = ""
If [a10] = "" Then [i10] = ""
If [a11] = "" Then [i11] = ""
If [a12] = "" Then [i12] = ""
If [a13] = "" Then [i13] = ""
If [a14] = "" Then [i14] = ""
If [a15] = "" Then [i15] = ""
If [a16] = "" Then [i16] = ""
If [a17] = "" Then [i17] = ""
If [a18] = "" Then [i18] = ""
If [a19] = "" Then [i19] = ""
If [a20] = "" Then [i20] = ""
If [a21] = "" Then [i21] = ""
If [a22] = "" Then [i22] = ""
If [a23] = "" Then [i23] = ""
If [a24] = "" Then [i24] = ""
If [a25] = "" Then [i25] = ""
End Sub

mfg Ulf_MS
Anzeige
AW: A2<>"",dann I2=1 usw per VBA?
21.06.2004 12:47:12
Peter
Hallo Ulf_MS,
zunächst mal danke....so ist das ganze ausgeschrieben ja....ich dachte aber daran, ob man dies mit dem Einsatz von Variablen nicht wesentlich verkürzen könnte?
Gruß
Peter S.
AW: A2<>"",dann I2=1 usw per VBA?
UDF
Hallo, Peter,
du kannst unter dem Code des Tabellenblatts folgendes Makro zur Vereinfachung schreiben.

Gruss
Markus
Anzeige
AW: A2<>"",dann I2=1 usw per VBA?
Nike
Moin,
oh, da bin ich schon Stunden spaeter drann
und dann hab ich's nicht mal bunt ;-)
Aber wenigstens hatten wir beide ne aehnliche Idee ;-)
Bye
Nike
P.S. Habt ihr eigentlich euer Tool weiterentwickelt, Otto und du?
AW: A2<>"",dann I2=1 usw per VBA?
UDF
Hi Nike,
tja, die beiden sehen sich ja wirklich ziemlich ähnlich. (Bis auf das blaue versteht sich ;-)
Gross weiter entwickelt haben wir nicht mehr.
Kennst das ja mit der Zeit, die man nie hat.
Hoffe euch gehts soweit ganz gut und ansonsten kannst du ja mal wieder was von dir hören lassen.
Gruss
Markus
Anzeige
AW: A2<>"",dann I2=1 usw per VBA?
Nike
Hi Markus,
kommst du zum Treffen beim Hans?
Bye
Nike
AW: A2<>"",dann I2=1 usw per VBA?
UDF
Habe ich heute erst gelesen und wollte das noch mit Karin besprechen.
Mal schaun, lust hätten wir sicher schon.
Gruss
Markus
AW: A2<>"",dann I2=1 usw per VBA?
Nike
Hi,
so?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Value <> "" Then
Target.Offset(0, 8) = Int(Target.Row / 10) + 1
Else
Target.Offset(0, 8) = ""
End If
End If
End Sub

Bye
Nike
Anzeige
Danke Euch....fertiger Code anbei:)
21.06.2004 14:36:25
Peter
Hallo Ihr,
ich danke Euch für Eure Vorschläge.....so wie nachstehend is es wie ich mir das ganze vorstelle:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
For Each rng In Target
If rng.Column = 1 And rng.Row > 1 Then
If IsEmpty(rng) Then
rng.Offset(0, 8).ClearContents
Else
rng.Offset(0, 8) = Int((rng.Row - 2) / 8) + 1
End If
End If
Next rng
End Sub

Nochmals Danke
Peter S.
Anzeige
AW: Danke Euch....fertiger Code anbei:)
UDF
Hallo Peter,
schön, dass du meine kleine Falle mit dem -1 in -2 korrigiert hast. War mir auch noch aufgefallen, da hatte ich allerdings schon auf "Amen" geklickt.
Gruss
Markus
Markus...:))
21.06.2004 14:45:45
Peter
Hallo Markus,
na dann wars ja keine Falle....und durch das Forum un ddie Helfer bin ich wenigstens schon soweit einfach VBA selber erstellen zu können bzw andere auf meine Bedürfnisse abzuändern...
Danke nochmals
Peter S.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige