Waagerechte Zeilenbenennung
Moderator: Moderatoren
Waagerechte Zeilenbenennung
Wenn ich mehrere senkreche Zellen in einem Makro benennen will lautet das ja z.B. "A3:A1" . Wenn ich das selbe für die Waagerechte mache, also z.B. "M1:M10" klappt das nicht. Wie muss es hier heissen?
Bis dann
Klaus
Bis dann
Klaus
M1:M10 ist keine Waagerechte! Auch nicht mit "Doch schon".
Du kannst doch in der Tabelle tadellos ablesen wie die Bezeichnungen lauten, warum machst Du das nicht einfach? Vielleicht meinst Du:
M1:V1
oder
M10:V10
aber dass ist doch meinerseits nur Raterei, Du gibst exakte Bezeichnungen an M1:M10 und die sind keine Waagerechte.
Gruß
Stephan
Du kannst doch in der Tabelle tadellos ablesen wie die Bezeichnungen lauten, warum machst Du das nicht einfach? Vielleicht meinst Du:
M1:V1
oder
M10:V10
aber dass ist doch meinerseits nur Raterei, Du gibst exakte Bezeichnungen an M1:M10 und die sind keine Waagerechte.
Gruß
Stephan
umpf, vieleicht echt schon zu spät.
Also aus einer Tabelle lese ich über =SVERWEIS die Werte aus. Ich habe zwei ComboBoxen: eine für die waagerechten Werte, eine für die senkrechten. Die Werte werden in zwei Zeilen angegeben, die ich in der Formel habe. Das Funzt alles. So, die senkrechten Werte, also bei mir A3:A10 werden per Makro in die Combobox geladen. Das Klappt auch. Nur bei der Senkrechten haut das nicht hin (bei mir B1:M1). Angezeigt wird in der Box nur der Wert aus B1. Was ich genau wissen möchte ist, ob es richtig für die Waagerecht zu schreiben B1:M1 oder ob die Angabe anders lauten muss.
Also aus einer Tabelle lese ich über =SVERWEIS die Werte aus. Ich habe zwei ComboBoxen: eine für die waagerechten Werte, eine für die senkrechten. Die Werte werden in zwei Zeilen angegeben, die ich in der Formel habe. Das Funzt alles. So, die senkrechten Werte, also bei mir A3:A10 werden per Makro in die Combobox geladen. Das Klappt auch. Nur bei der Senkrechten haut das nicht hin (bei mir B1:M1). Angezeigt wird in der Box nur der Wert aus B1. Was ich genau wissen möchte ist, ob es richtig für die Waagerecht zu schreiben B1:M1 oder ob die Angabe anders lauten muss.
Obwohl ich es nicht verstehe das das Ganze nun so geheim wäre das Du es nicht übers Herz bringst Deinen Code zu posten, so das man sehen könnte ob dort was fehlerhaft ist, rate ich einfach mal und denke mit das Du mit SVERWEIS() keine Zeilen, sondern nur Spalten lesen kannst, versuchst Du es trotzdem wirkt die Zeile wie eine einzeilige Spalte.
Verwende also WVERWEIS()
Gruß
Stephan
Verwende also WVERWEIS()
Gruß
Stephan
Geheim! Nee wirklich nicht. Bin halt blutiger Anfänger. Die Tabelle siehst du hier:
viewtopic.php?t=7827
Da das große Geheimnis nun raus ist: in der einen Combobox will ich die Schraubengüte ablesen. Das klappt. In der anderen die auftretende Kraft. Das klappt nicht. Da steht nur "1" drinn. Alle anderen Werte sind nicht aufgeführt.
Das it jetzt für die Box "Kraft" Und,
wenn wir schonmal dabei sind, wie kann ich die Tabelle auf einem Tabellenblatt haben und die Combobox mit der Ausgabezelle auf einem anderen Tabellenblatt?
Bis dann
Klaus
viewtopic.php?t=7827
Da das große Geheimnis nun raus ist: in der einen Combobox will ich die Schraubengüte ablesen. Das klappt. In der anderen die auftretende Kraft. Das klappt nicht. Da steht nur "1" drinn. Alle anderen Werte sind nicht aufgeführt.
Code: Alles auswählen
'Kraft
Sub Write_To_Destination_Cell_Kraft()
Dim oDoc As Object
Dim oSheet As Object
Dim oForm As Object
Dim oComboBox As Object
Dim oCellRangeDestination As Object
Set oDoc = ThisComponent
Set oSheet = oDoc.Sheets.GetByName("dyn_axial")
Set oForm = oSheet.DrawPage.Forms.GetByName("Standard")
Set oComboBox = oform.getByName("ComboBox02")
Set oCellRangeDestination = oSheet.getCellRangeByName("D13")
oCellRangeDestination.FormulaLocal = oComboBox.text
End Sub
Sub Load_Values_List_Kraft()
Dim oDoc As Object
Dim oSheet As Object
Dim oForm As Object
Dim oComboBox As Object
Dim oCellRangeSource As Object
Dim aSourceDataArray()
Dim aDataArrayRow()
Dim aSource() As String
Dim I As Integer
Set oDoc = ThisComponent
Set oSheet = oDoc.Sheets.GetByName("dyn_axial")
Set oForm = oSheet.DrawPage.Forms.GetByName("Standard")
Set oComboBox = oform.getByName("ComboBox02")
Set oCellRangeSource = oSheet.getCellRangeByName("B1:M1")
'extract the data from the range
aSourceDataArray() = oCellRangeSource.getDataArray()
Redim Preserve aSource(UBound(aSourceDataArray())) As String
'
For I = LBound(aSource()) To UBound(aSource())
aDataArrayRow() = aSourceDataArray(I)
aSource(I) = aDataArrayRow(0)
Next I
oComboBox.StringItemList = aSource()
End Sub


Bis dann
Klaus
Das klappt nicht. Da steht nur "1" drinn. Alle anderen Werte sind nicht aufgeführt.
Ja, weil Du immer nur den ersten Wert übergibst:
Code: Alles auswählen
aSource(I) = aDataArrayRow(0)
Und aSource() auch nur einen Wert aufnehmen kann (UBOUND(aSource) --> = 0) und somit:
Code: Alles auswählen
For I = LBound(aSource()) To UBound(aSource())
For I = 0 To 0
hinausläuft
bzw.:
UBound(aSourceDataArray()) --> = 0
Verwende beispielsweise:
Code: Alles auswählen
Sub Load_Values_List_Kraft()
Dim oDoc As Object
Dim oSheet As Object
Dim oForm As Object
Dim oComboBox As Object
Dim oCellRangeSource As Object
Dim aSourceDataArray()
Dim aDataArrayRow()
Dim aSource() As String
Dim I As Integer
Set oDoc = ThisComponent
Set oSheet = oDoc.Sheets.GetByName("dyn_axial")
Set oForm = oSheet.DrawPage.Forms.GetByName("Standard")
Set oComboBox = oform.getByName("ComboBox02")
Set oCellRangeSource = oSheet.getCellRangeByName("B1:M1")
'extract the data from the range
aSourceDataArray() = oCellRangeSource.getDataArray()
Redim Preserve aSource(UBOUND(aSourceDataArray(0))) As String
'
For I = LBound(aSource()) To UBound(aSource())
aDataArrayRow() = aSourceDataArray(0)
aSource(I) = aDataArrayRow(I)
Next I
oComboBox.StringItemList = aSource()
End Sub
Indem Du die Combobox auf dem anderen Blatt einfügt und im Code für das Lesen der Daten und Schreiben in die Liste der Combobox entsprechend verschiedene Tabellen referierst, z.B.:wie kann ich die Tabelle auf einem Tabellenblatt haben und die Combobox mit der Ausgabezelle auf einem anderen Tabellenblatt?
Code: Alles auswählen
'...
Set oDoc = ThisComponent
Set oSheet = oDoc.Sheets.GetByName("dyn_axial")
Set oSheet2 = oDoc.Sheets.GetByName("andereTabelle")
Set oForm = oSheet.DrawPage.Forms.GetByName("Standard")
Set oComboBox = oform.getByName("ComboBox02")
Set oCellRangeSource = oSheet2.getCellRangeByName("B1:M1")
'extract the data from the range
aSourceDataArray() = oCellRangeSource.getDataArray()
Redim Preserve aSource(UBOUND(aSourceDataArray(0))) As String
'
For I = LBound(aSource()) To UBound(aSource())
aDataArrayRow() = aSourceDataArray(0)
aSource(I) = aDataArrayRow(I)
Next I
oComboBox.StringItemList = aSource()
'...
Gruß
Stephan