Clever-Excel-Forum

Normale Version: Rows.Count
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
[attachment=33431]

''Sheets("Memo").Cells(Rows.Count, 1).End(xlUp).Row + 1''
Moin Moin alle miteinander

Ich hab ein kleines Problem womit ich nicht so richtig klar komme 

Ich möchte den rows count befehl 8 mal ausführen und beim 9 mal soll dieser befehl 
in die nächste Spalte nach rechts springen und wieder 8 mal ausführt werden und wieder 
beim 9 mal in die nächste rechte Spalte springen 

Was ich weiß ist das das mit If ...Then Else Anweisung  Realisiebar ist  aber wie ?????

Bitte mal eben um Hilfe 

LG aus Lauenburg Ronny 

Und vielen DANK AN ALLE die uns die wir nicht so viel wissen und Können immer wieder weiterhelfen DANKE
kann es sein das du ne vcf datei in deine tabelle einlesen willst?

deine Frage mit den rows.count erschließt sich mir nicht. 

hast du den code in deiner datei gschrieben?
(09.08.2020, 21:26)ralf_b schrieb: [ -> ]kann es sein das du ne vcf datei in deine tabelle einlesen willst?

deine Frage mit den rows.count erschließt sich mir nicht. 

hast du den code in deiner datei gschrieben?
Nein  ich will keine vcf Datei in meine Tabelle einlesen !
Ich möchte nur eine kleine Adressverwaltung erstellen und ja den Code habe ich zum ersten Mal selbst Geschrieben !
    Eigentlich soll die markierte Adresse ins Tabellenblatt "Memo"eingetagen werden  aber nur 8 Adressen pro Spalte
und wenn 8 Adressen in der Spalte stehn soll beim nächsten Click in die nächste rechte Spalte die nächsten 8 Adressen schreiben
und das in spalte A B C

Aber ich weiß nicht wie ich es anstellen soll 

LG aus Lauenburg Ronny
Hallo Ronny,
 wenn ich das Problem als Amateur richtig verstanden habe, hier eine funktionierende Lösung:

Option Explicit

Sub Makro1()
Dim i, z, Spalte, Zeile As Integer
Worksheets(2).Select

i = 0
Spalte = 1
Zeile = 2
z = 3
Weiter:
i = i + 1
If Cells(Zeile, 1) = Empty Then Exit Sub
Sheets(3).Cells(z, Spalte) = Cells(Zeile, 1) & " " & Cells(Zeile, 2)
Sheets(3).Cells(z + 1, Spalte) = Cells(Zeile, 3) & " " & Cells(Zeile, 4)
Sheets(3).Cells(z + 2, Spalte) = Cells(Zeile, 5) & " " & Cells(Zeile, 6)
Sheets(3).Cells(z + 3, Spalte) = Cells(Zeile, 7) & " " & Cells(Zeile, 8)
Sheets(3).Cells(z + 4, Spalte) = ""

z = z + 5
If i = 8 Then i = 0
Zeile = Zeile + 1
If i = 0 Then Spalte = Spalte + 1
If i = 0 Then z = 3
GoTo Weiter
 
End Sub


Die Profis können es bestimmt kürzer. Trotzdem viel Spaß.
Gruß Rudi
jetzt weis ich was ich so verwirrt an deiner Beschreibung. Du willst Adressen in Spalten schreiben.  
Im Normalfall ist eine Zeile  = ein Datensatz und ein Datensatz  = z.b. eine Adresse
Gibt es einen bestimmten Grund für deine ungewöhnliche Anordnung? 

Die Frage nach der vcf Datei war nur weil ich vor einiger Zeit eine Importroutine geschrieben habe. Da kamen Erinnerungen hoch. 

wenn du die markierten Einträge oder den Eintrag aus deiner Listbox in Memo schreiben willst, benötigst du nur den selektierten Listeneintrag und eine leere Zeile im Memo,
Das ist kein Hexenwerk sofern deine Datenanordnung sich nicht so ungewöhnlich darstellen würde.
Ich habe dir mal etwas den Code nachgebessert. Ich hoffe es ist dir nicht zu undurchsichtig. Beim Code lesen sind mir ein paar Dinge aufgefallen und dann kam eins zum andern. 
Mir ist nun auch klar was das mit den vertikalen Adressen sein soll. Ettikettendruck. Eine einfache Druckroutine habe ich implementiert. 
Wenn du Fragen zum Code hast, dann frag. Das NeueAdresse, Bearbeiten, Speichern, Löschen würde ich persönlich eigentlich lieber in einer Combobox realisieren. Aber es ist dein Projekt. Zumindest funktioniert es. Als Tip: Eine Prüfung ob eine Adresse bereits existiert sollte noch eingebaut werden und evtl eine Sortierung.  
  
[attachment=33450]
moin moin

Vielen Dank für deine  schnelle Hilfe

Ich habe mir gerade mal Angeschaut was du mit da Geschrieben hast und ich hab mal wieder gesehen ich weis doch echt nicht viel was vba angeht
 Viele sachen habe ich nicht beachtet wie das delarieren der variablen oder das falsche deklarien derer. Egal muss ich mich eben noch etwas reinkninen .

Nun zum code der ja super funktioniert aber nicht ganz das ist was ich wollte aber nicht so schlimm weil ich weiß das ich mich nicht so gut ausdrücken kann

Ich wollte nicht eine Adresse in die gesamten Felder einfügen sondern je ein und dann 8 verschiedene und zwar die die ich in der userform markiert habe .

So das ich mehrere verschiedene Adressen auf einmal Ausdrucken kann.
 Lg aus Lauenburg Ronny
moin moin

Vielen Dank für deine  schnelle Hilfe

Ich habe mir gerade mal Angeschaut was du mit da Geschrieben hast und ich hab mal wieder gesehen ich weis doch echt nicht viel was vba angeht
 Viele sachen habe ich nicht beachtet wie das delarieren der variablen oder das falsche deklarien derer. Egal muss ich mich eben noch etwas reinkninen .

Nun zum code der ja super funktioniert aber nicht ganz das ist was ich wollte aber nicht so schlimm weil ich weiß das ich mich nicht so gut ausdrücken kann

Ich wollte nicht eine Adresse in die gesamten Felder einfügen sondern je ein und dann 8 verschiedene und zwar die die ich in der userform markiert habe .

So das ich mehrere verschiedene Adressen auf einmal Ausdrucken kann.

zitat
Das NeueAdresse, Bearbeiten, Speichern, Löschen würde ich persönlich eigentlich lieber in einer Combobox realisieren

Da muss ich dir recht geben ich hab mich nur noch nicht getraut aber erscheint mir logisch
was die Sortierung angeht die wollte ich erst am ende Einbaun über die open workbook metode oder mit unterm Button speichern ist glaube ich die beste Lösung

so dann bis später heute oder morgen


Lg aus Lauenburg Ronny

(10.08.2020, 17:41)Rudi\S schrieb: [ -> ]Hallo Ronny,
 wenn ich das Problem als Amateur richtig verstanden habe, hier eine funktionierende Lösung:

Option Explicit

Sub Makro1()
Dim i, z, Spalte, Zeile As Integer
Worksheets(2).Select

i = 0
Spalte = 1
Zeile = 2
z = 3
Weiter:
i = i + 1
If Cells(Zeile, 1) = Empty Then Exit Sub
Sheets(3).Cells(z, Spalte) = Cells(Zeile, 1) & " " & Cells(Zeile, 2)
Sheets(3).Cells(z + 1, Spalte) = Cells(Zeile, 3) & " " & Cells(Zeile, 4)
Sheets(3).Cells(z + 2, Spalte) = Cells(Zeile, 5) & " " & Cells(Zeile, 6)
Sheets(3).Cells(z + 3, Spalte) = Cells(Zeile, 7) & " " & Cells(Zeile, 8)
Sheets(3).Cells(z + 4, Spalte) = ""

z = z + 5
If i = 8 Then i = 0
Zeile = Zeile + 1
If i = 0 Then Spalte = Spalte + 1
If i = 0 Then z = 3
GoTo Weiter
 
End Sub



Gruß Rudi
Hallo und guten Abend Rudi's
Danke für deine Hilfe auf die Idee hätte ich auch selber kommen können aber so gut bin ich nicht 
 aber egal muss noch viel lernen 
 vielen dank Lg aus Lauenburg Ronny
Zitat:ich wollte nicht eine Adresse in die gesamten Felder einfügen sondern je ein und dann 8 verschiedene und zwar die die ich in der userform markiert habe .
nunja dann solltest du aber die  multiselect - Eigenschaft deiner Listbox auch auf Multiselect einstellen. Im Initialize der UF wird auf singleselect gestellt.

Die Etiketten hab ich mal umgebaut. Vielleicht nicht die eleganteste Lösung aber für den Zweck  sicher ausreichend.

[attachment=33467]
Moin Moin

So hab jetzt Feierabend 
Jetzt wo du das sagst ( Multiselekt ) erscheint mir logisch muss ich ja sonst gehts ja nicht
Danke für deine Hilfe

Ich schreib dir ...Euch gleich  ob es funktioniert  was anderes glaub ich nicht


Bis Gleich oder morgen Ronny
Seiten: 1 2