Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1284to1288
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

Zelleninhalte

Zelleninhalte
07.11.2012 16:49:20
Frank
Hallo Zusammen,
ich habe eine Tabelle mit über 30000 Zeilen und 18 Spalten.
in den Verschieden Zellen stehen zum Teil Zahlen.
Wenn eine Zelle einen Wert enthält soll der Zellwert 1 sein.
Dies habe ich mit folgendem Code gelöst
Dim CellCount, ColumnCount, X, Y As Integer
CellCount = Cells(Rows.Count, 9).End(xlUp).Row
ColumnCount = Cells(64, Columns.Count).End(xlToLeft).Column
For X = 10 To ColumnCount
For Y = 64 To CellCount
If Cells(Y, X).Value  "" Then
Cells(Y, X).Value = 1
End If
Next Y
Next X

Nun soll aber wenn z.B. in einer Zelle in Spalte 10 schon einen 1 steht, in keiner weiteren Zelle in der Zeile der Spalten 11 bis 18 mehr ein Wert stehen.
Sprich es soll immer in nur in der kleinsten Spalte in einer Zeile eine 1 stehen.
ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.
Kann mir jemand einen Lösungsansatz liefern?
Vielen Dank schon mal
Frank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalte
07.11.2012 19:55:10
Hajo_Zi
Hallo Frank,
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Dim CellCount, ColumnCount, X, Y As Integer
CellCount = Cells(Rows.Count, 9).End(xlUp).Row
ColumnCount = Cells(64, Columns.Count).End(xlToLeft).Column
For X = 10 To ColumnCount
For Y = 64 To CellCount
If Cells(Y, X).Value "" Then
Cells(Y, X).Value = 1
Range(Cells(Y, X).Cells(Y, ColumnCount)).ClearContents
End If
Next Y
Next X

AW: Zelleninhalte
08.11.2012 00:06:23
Gerd
Hallo Frank!
Sub test()
Dim Bereich As Range, vntIn As Variant, vntOut As Variant, i As Long, j As Long
Set Bereich = Range(Cells(64, 10), _
Cells(Cells(Rows.Count, 9).End(xlUp).Row, _
Cells(64, Columns.Count).End(xlToLeft).Column))
Bereich.Replace "*", 1, xlWhole
vntIn = Bereich.Value2
ReDim vntOut(1 To UBound(vntIn, 1), 1 To UBound(vntIn, 2))
For i = 1 To UBound(vntIn, 1)
For j = 1 To UBound(vntIn, 2)
If vntIn(i, j) = 1 Then vntOut(i, j) = 1: Exit For
Next
Next
Bereich.Value = vntOut
End Sub
Gruß Gerd

Anzeige
AW: Zelleninhalte
12.11.2012 08:35:23
Frank
Hallo Gerd,
auch Dir vielen dank für die Antwort.
Ich werde es mal versuchen nachzuvollziehen
Gruß
Frank

AW: Zelleninhalte
12.11.2012 08:33:50
Frank
Hallo Hajo,
du hast natürlich recht. Mit Datei wäre es einfacher.
Aber die Datei ist schon ziemlich groß.
Dennnoch vielen Dank für deine Antwort
Gruß
Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige