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

Weshalb wird die nächste freie Spalte nicht benutz

Weshalb wird die nächste freie Spalte nicht benutz
18.09.2014 19:33:44
Maike
Liebe Forenmitglieder,
ermutigt von der mir geleisteten großartigen Hilfe möchte ich ein VBA Problem schildern, das ich mit meinen Makro Kenntnissen bisher nicht lösen konnte.
In einer Tabelle seien ab Zeile 6 die Spalten 1-7 mit Werten gefüllt, es können zukünftig aber noch mehr Spalten mit Werten dazukommen. Diese würde ich aber auf einem anderen Blatt speichern, sodass meine Prozedur möglichst flexibel bleiben sollte, also mit variablen Zellbezügen.
Anbei meine bisherige Prozedur:
Sub Auswertung_Zbereiche()
Dim ObjCells As Object
Dim i As Integer
Dim i2 As Integer
Dim k As Integer
i2 = ActiveSheet.UsedRange.Rows.Count
k = Cells(6, Columns.Count).End(xlToLeft).Column + 1
MsgBox "Erste freie Zelle in Zeile 6 ist in Spalte: " & k
For i = 1 To i2
Cells(i, 1).Select
Set ObjCells = ActiveCell
Select Case ObjCells.Value
Case 1 To 5
Cells(i, k) = 1
Case 6 To 9
Cells(i, k) = 2
Case 10 To 13
Cells(i, k) = 3
Case 14 To 16
Cells(i, k) = 4
Case 17 To 18
Cells(i, k) = 5
Case 19 To 20
Cells(i, k) = 6
Case 21 To 100
Cells(i, k) = 7
End Select
Wie kann man k dazu veranlassen die wirklich nächste freie Spalte, die die MessageBox auch ausgibt, für die Rangfolgeauswertung zu benutzen.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Weshalb wird die nächste freie Spalte nicht benutz
18.09.2014 19:53:13
Rudi
Hallo,
ich sehe keinen Grund dafür.
Das Select ist überflüssig.
Set ObjCells = Cells(i, 1)
Eigentlich kannst du direkt
Select Case Cells(i,1)
schreiben und auf die Objektvariable verzichten.
Gruß
Rudi

welche wird denn benutzt? owT
18.09.2014 19:54:00
Rudi

AW: welche wird denn benutzt? owT
18.09.2014 20:18:08
Gerold
Hallo Maike
Tausche mal folgende Zeilen
i2 = ActiveSheet.UsedRange.Rows.Count
durch
i2 = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'Maximum Zeile ermitteln
ersetzen.
Gruß Gerold
Rückmeldung wäre nett.

AW: welche wird denn benutzt? owT
18.09.2014 20:54:18
Maike
Hallo Gerold,
die nächste Zeile waren nicht das Problem, es klappte mit der nächst freien Spalte nicht.
https://www.herber.de/bbs/user/92717.xlsm ist der Mappenaufbau, aber der Code funktioniert hier überhaupt nicht mehr. Rudi Maintere ist schon involviert, aber eventuell findest du ja eine andere Lösung.
Vielen Dank
Lg Maike

Anzeige
AW: Weshalb wird die nächste freie Spalte nicht benutz
18.09.2014 20:17:17
Maike
Hallo Rudi,
die Spalten 1 bis 3 sind Kalenderdaten, die Werte gehen von Spalte 4 bis 11, und die Prozedur fängt in Spalte 8 an Werte zu überschreiben.

lad mal die Mappe hoch owT
18.09.2014 20:25:31
Rudi

AW: lad mal die Mappe hoch owT
18.09.2014 20:45:45
Maike
https://www.herber.de/bbs/user/92717.xlsm
das ist die Mappe, allerdings werden in diesem Muster gar keine Werte mehr berechnet und ich habe nur den Code entsprechend zu deinem Hinweis (Selet) geändert.
Vielen Dank
LG Maike

AW: lad mal die Mappe hoch owT
18.09.2014 20:55:41
Rudi
Hallo,
Code ist korrekt.
Allerdings werden 101 und 102 im Select Case gar nicht berücksichtigt. Es wird also nichts in die Tabelle geschrieben.
Gruß
Rudi

Anzeige
AW: lad mal die Mappe hoch owT
18.09.2014 21:09:16
Maike
Ich habe i gleich 4 gesetzt, aber da lief auch nichts!
LG Maike

AW: lad mal die Mappe hoch owT
18.09.2014 21:29:50
Rudi
Hallo,
Ich habe i gleich 4 gesetzt
washat das denn damit zu tun?
Schreib mal in A anstatt 101, 102 irgendwas zwischen 1 und 100.
Gruß
Rudi

AW: lad mal die Mappe hoch owT
18.09.2014 21:58:48
Maike
Hallo Rudi,
du hast recht, die Prozedur läuft reibungsfrei ab.
Aber wie kriege ich es hin, das die Ausgangsergebnisse auch erst in Spalte 4 stehen können?

cells(1, 4) ? owT
18.09.2014 22:09:44
Rudi

AW: cells(1, 4) ? owT
18.09.2014 22:20:18
Maike
Hallo Rudi,
cells(1, 4) oder cells(i, 4) bei beiden Ersetzungen werden die Werte nicht berechnet.
In meiner Tabelle stehen jetzt in Spalte D ab Zeile 6 nur noch 7 Zahlen zwischen 1 und 100.
Vielen Dank widerum
LG Maike

Anzeige
Bahnhof owT
18.09.2014 22:49:10
Rudi

AW: cells(1, 4) ? owT
18.09.2014 23:15:24
Maike
Hallo Rudi,
wenn Spalten vor der Wertezeile in zb, D keine Inhalte haben geht cells(i, 4) nicht, sobald aber in Spalte A oder B oder C etwas steht, wertet die Prozedur Spalte D aus. Ist doch ulkig, oder.
Besten Dank für deine Geduld
Bis morgen vielleicht
LG Maike

AW: lad mal die Mappe hoch owT
18.09.2014 22:00:26
Maike
Ich meine natürlich die Ausgangswerte und nicht Ausgangsergebnisse.
Vielen Dank
LG Maike

AW: lad mal die Mappe hoch owT
18.09.2014 21:01:57
Maike
Hallo Rudi,
die Werte sollen ja auch nur aus den Spalten D bis I gebildet werden, war wahrscheinlich im Original von
A bis G, aber ich bin mir unklar darüber, wie der neue Startwert für die Spalte vergeben wird.
Vielen Dank und
LG Maike
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige