Clever-Excel-Forum

Normale Version: Suchfeld mit Textfenster in eine Dynamische Tabelle erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5 6 7 8 9
Hallöchen,

Du hast aber feste Zeilen angefordert Sad

Ich habe extra den alten Code drin gelassen. Da siehst Du, dass die Zeilennummer nicht fest programmiert ist. Allerdings weiß ich nicht, wie sich Deine Zeilennummern berechnen. Eventuell kann man das anhand des xCounter tun, also z.B. Cells(xcounter-13, 54) oder Cells(xCounter+88, 54) oder ähnlich.
Vielen Dank für deine Bemühungen aber ich glaube wir verstehen uns hier nicht. egal diese Funktion ist nicht so wichtig

Danke
Hallöchen,

kleiner Denkfehler. Also Dein Code war doch fast schon korrekt:
wks2.Cells(xCounter, 1).Value = ThisWorkbook.Sheets(1).Cells(30, 54).Value

Es muss jedoch nicht xCounter sein sondern xZeile und wenn der Eintrag in Spalte 54 soll dann mach aus der 1 eine 54.
ändert sich nichts, ich vermutet es liegt an dieser Stelle:
Code:
wkb1.Activate
With ThisWorkbook.Sheets(1).Cells(30, 53)
If .Value = Date Then
.Offset(, 1) = .Offset(, 1) + 1
Else
.Value = Date
.Offset(, 1) = 1
End If
End With

Er Prüft die 30,54 und schreibt dann in die 54 die 1 aber weiter wird nicht kopiert oder geprüft.
Ich denke hier ist der Fehler

Mann müsste Ihm sagen er soll die Zeile 53 komplett von 30 bis 15000 Prüfen und dann jedes mal einen wert daneben ausgeben

ich habe mit XZEILE, Range, icounter probiert kommt jedes mal ein fehler
Hallöchen,

wo kommt denn der Fehler und welcher?

Du hast unten in der Schleife

wks2.Cells(xZeile, 1).Value = ThisWorkbook.Sheets(1).Cells(30, 54).Value

programmiert?

Code:
With ThisWorkbook.Sheets(1).Cells(30, 53)
  If .Value = Date Then
      .Offset(, 1) = .Offset(, 1) + 1
    Else
      .Value = Date
      .Offset(, 1) = 1
  End If
End With
For iCounter = 0 To ListBox1.ListCount - 1
   If ListBox1.Selected(iCounter) And xOpt = 1 Or xOpt = 2 Then
       Set XBlatt = Sheets(ListBox1.List(iCounter, 0))
       xZeile = Range(ListBox1.List(iCounter, 1)).Row
       XBlatt.Cells(xZeile, 53).Value = Date
       xCounter = xCounter + 1
       XBlatt.Range("G" & xZeile & ",H" & xZeile & ",K" & xZeile & ",R" & xZeile & ",S" & xZeile & ",T" & xZeile & ",AJ" & xZeile & ",AK" & xZeile & ",AL" & xZeile & ",AU" & xZeile & ",AV" & xZeile & "").Copy wks2.Cells(xCounter, 1)
       'andere Spalte nehmen!
       wks2.Cells(xZeile, 1).Value = ThisWorkbook.Sheets(1).Cells(30, 54).Value
   End If
Next iCounter
ja, es ist das gleiche Ergebnis, er geht nicht in die nächste Zelle
Hallo,

also, mit dem xCounter und der xZeile ist ein richtiges durcheinander geworden. So richtig klar ist mir immer noch nicht, wo die Zahl hin soll Sad Daher nochmal langsam und hoffentlich verständlicher.

Deine Daten fügst Du dort ein:
… Copy wks2.Cells(xCounter, 1)

Wenn die Zahl daneben soll, müsste es
wks2.Cells(xCounter, 2).Value = ThisWorkbook.Sheets(1).Cells(30, 54).Value

lauten.


wenn die Zahl dort daneben soll:
XBlatt.Cells(xZeile, 53).Value = Date

müsste es
xBlatt.Cells(xZeile, 54).Value = ThisWorkbook.Sheets(1).Cells(30, 54).Value

lauten.
Super Danke, jetzt habe ich was ich wollte
Hey Schauan,

kannst du mir nochmal helfen.
Könntest du mir eine Code zeigen der folgende machen kann.

Wenn ich in der Zeile AX die Zahl eingebe, kleiner oder gleich, welche in AY steht, soll eine Meldung kommen, das in der Spalte AZ ein Name eingetragen werden muss.
Das soll von AX16 bis AX15000 gehen


[
Bild bitte so als Datei hochladen: Klick mich!
]

Danke
Hallöchen,

bevor ich jetzt den Thread durchforste - wenn och kein WorkSheetChange - Makro im Codemodul des Blattes steht im Prinzip so

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn mehr als eine Zelle betroffen, dann Makro verlassen
If Target.Cells.Count > 1 Then Exit Sub
'Wenn es eine Zelle im Bereich ... betrifft, dann
If Not Intersect(Target, Range("AX10:AX16000")) Is Nothing Then
  'Wenn der Wert der Zelle rechts daneben kleiner oder gleich ist, dann Meldung ausgeben
  If Target.Value <= Target.Offset(, 1).Value Then MsgBox "Was in AZ" & Target.Row & " eingeben"
'Ende Wenn es eine Zelle im Bereich ... betrifft, dann
End If
End Sub
Seiten: 1 2 3 4 5 6 7 8 9