Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Du hast aber feste Zeilen angefordert
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.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Pirat2015
Registriert seit: 03.10.2018
Version(en): 2016
Vielen Dank für deine Bemühungen aber ich glaube wir verstehen uns hier nicht. egal diese Funktion ist nicht so wichtig
Danke
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 03.10.2018
Version(en): 2016
ä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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
21.11.2018, 17:11
(Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2018, 17:11 von schauan.)
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
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 03.10.2018
Version(en): 2016
ja, es ist das gleiche Ergebnis, er geht nicht in die nächste Zelle
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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 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.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• Pirat2015
Registriert seit: 03.10.2018
Version(en): 2016
23.11.2018, 12:41
(Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2018, 12:41 von Pirat2015.)
Super Danke, jetzt habe ich was ich wollte
Registriert seit: 03.10.2018
Version(en): 2016
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
|